@instockng/api-client 1.0.5 → 1.0.6

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 (186) hide show
  1. package/dist/enum-types.d.ts +8 -0
  2. package/dist/enum-types.js +5 -0
  3. package/dist/fetchers/carts.js +5 -0
  4. package/dist/hooks/admin/abandoned-carts.js +12 -8
  5. package/dist/hooks/admin/brands.js +15 -10
  6. package/dist/hooks/admin/customers.js +3 -2
  7. package/dist/hooks/admin/delivery-zones.js +24 -16
  8. package/dist/hooks/admin/discount-codes.js +24 -16
  9. package/dist/hooks/admin/inventory.js +15 -10
  10. package/dist/hooks/admin/orders.js +18 -12
  11. package/dist/hooks/admin/products.js +15 -10
  12. package/dist/hooks/admin/stats.js +3 -2
  13. package/dist/hooks/admin/variants.js +18 -12
  14. package/dist/hooks/admin/warehouses.js +15 -10
  15. package/dist/hooks/useApiConfig.d.ts +2 -1
  16. package/dist/hooks/useApiConfig.js +2 -2
  17. package/dist/provider.d.ts +7 -4
  18. package/dist/provider.js +5 -3
  19. package/dist/types.d.ts +1 -0
  20. package/package.json +1 -1
  21. package/dist/apps/backend/src/generated/zod/index.d.ts +0 -1114
  22. package/dist/apps/backend/src/generated/zod/index.js +0 -670
  23. package/dist/apps/backend/src/http-app.d.ts +0 -40
  24. package/dist/apps/backend/src/http-app.js +0 -106
  25. package/dist/apps/backend/src/lib/brand-response.d.ts +0 -14
  26. package/dist/apps/backend/src/lib/brand-response.js +0 -8
  27. package/dist/apps/backend/src/lib/cart-helpers.d.ts +0 -280
  28. package/dist/apps/backend/src/lib/cart-helpers.js +0 -93
  29. package/dist/apps/backend/src/lib/cart-recovery.d.ts +0 -30
  30. package/dist/apps/backend/src/lib/cart-recovery.js +0 -147
  31. package/dist/apps/backend/src/lib/cart-response.d.ts +0 -121
  32. package/dist/apps/backend/src/lib/cart-response.js +0 -150
  33. package/dist/apps/backend/src/lib/clerk.d.ts +0 -18
  34. package/dist/apps/backend/src/lib/clerk.js +0 -167
  35. package/dist/apps/backend/src/lib/delivery-zone-response.d.ts +0 -62
  36. package/dist/apps/backend/src/lib/delivery-zone-response.js +0 -24
  37. package/dist/apps/backend/src/lib/discount-code-response.d.ts +0 -42
  38. package/dist/apps/backend/src/lib/discount-code-response.js +0 -19
  39. package/dist/apps/backend/src/lib/discount.d.ts +0 -20
  40. package/dist/apps/backend/src/lib/discount.js +0 -35
  41. package/dist/apps/backend/src/lib/inventory.d.ts +0 -26
  42. package/dist/apps/backend/src/lib/inventory.js +0 -160
  43. package/dist/apps/backend/src/lib/meta-capi.d.ts +0 -48
  44. package/dist/apps/backend/src/lib/meta-capi.js +0 -120
  45. package/dist/apps/backend/src/lib/openapi.d.ts +0 -36
  46. package/dist/apps/backend/src/lib/openapi.js +0 -69
  47. package/dist/apps/backend/src/lib/order-recovery.d.ts +0 -367
  48. package/dist/apps/backend/src/lib/order-recovery.js +0 -373
  49. package/dist/apps/backend/src/lib/order-response.d.ts +0 -136
  50. package/dist/apps/backend/src/lib/order-response.js +0 -61
  51. package/dist/apps/backend/src/lib/pricing.d.ts +0 -39
  52. package/dist/apps/backend/src/lib/pricing.js +0 -62
  53. package/dist/apps/backend/src/lib/prisma.d.ts +0 -9
  54. package/dist/apps/backend/src/lib/prisma.js +0 -30
  55. package/dist/apps/backend/src/lib/product-response.d.ts +0 -82
  56. package/dist/apps/backend/src/lib/product-response.js +0 -29
  57. package/dist/apps/backend/src/lib/utils.d.ts +0 -32
  58. package/dist/apps/backend/src/lib/utils.js +0 -63
  59. package/dist/apps/backend/src/middleware/clerk-auth.d.ts +0 -8
  60. package/dist/apps/backend/src/middleware/clerk-auth.js +0 -89
  61. package/dist/apps/backend/src/middleware/cors.d.ts +0 -8
  62. package/dist/apps/backend/src/middleware/cors.js +0 -11
  63. package/dist/apps/backend/src/notifications/producers/meta-capi-producer.d.ts +0 -55
  64. package/dist/apps/backend/src/notifications/producers/meta-capi-producer.js +0 -125
  65. package/dist/apps/backend/src/notifications/producers/order-notification.d.ts +0 -9
  66. package/dist/apps/backend/src/notifications/producers/order-notification.js +0 -18
  67. package/dist/apps/backend/src/notifications/producers/prospect-recovery-notification.d.ts +0 -10
  68. package/dist/apps/backend/src/notifications/producers/prospect-recovery-notification.js +0 -11
  69. package/dist/apps/backend/src/routes/admin/abandoned-carts.d.ts +0 -605
  70. package/dist/apps/backend/src/routes/admin/abandoned-carts.js +0 -194
  71. package/dist/apps/backend/src/routes/admin/brands.d.ts +0 -175
  72. package/dist/apps/backend/src/routes/admin/brands.js +0 -118
  73. package/dist/apps/backend/src/routes/admin/customers.d.ts +0 -306
  74. package/dist/apps/backend/src/routes/admin/customers.js +0 -39
  75. package/dist/apps/backend/src/routes/admin/delivery-zones.d.ts +0 -438
  76. package/dist/apps/backend/src/routes/admin/delivery-zones.js +0 -300
  77. package/dist/apps/backend/src/routes/admin/discount-codes.d.ts +0 -478
  78. package/dist/apps/backend/src/routes/admin/discount-codes.js +0 -418
  79. package/dist/apps/backend/src/routes/admin/inventory.d.ts +0 -273
  80. package/dist/apps/backend/src/routes/admin/inventory.js +0 -189
  81. package/dist/apps/backend/src/routes/admin/orders.d.ts +0 -1478
  82. package/dist/apps/backend/src/routes/admin/orders.js +0 -503
  83. package/dist/apps/backend/src/routes/admin/products.d.ts +0 -860
  84. package/dist/apps/backend/src/routes/admin/products.js +0 -107
  85. package/dist/apps/backend/src/routes/admin/stats.d.ts +0 -288
  86. package/dist/apps/backend/src/routes/admin/stats.js +0 -55
  87. package/dist/apps/backend/src/routes/admin/variants.d.ts +0 -239
  88. package/dist/apps/backend/src/routes/admin/variants.js +0 -173
  89. package/dist/apps/backend/src/routes/admin/warehouses.d.ts +0 -373
  90. package/dist/apps/backend/src/routes/admin/warehouses.js +0 -123
  91. package/dist/apps/backend/src/routes/public/brands.d.ts +0 -40
  92. package/dist/apps/backend/src/routes/public/brands.js +0 -38
  93. package/dist/apps/backend/src/routes/public/carts.d.ts +0 -2655
  94. package/dist/apps/backend/src/routes/public/carts.js +0 -631
  95. package/dist/apps/backend/src/routes/public/delivery-zones.d.ts +0 -35
  96. package/dist/apps/backend/src/routes/public/delivery-zones.js +0 -62
  97. package/dist/apps/backend/src/routes/public/orders.d.ts +0 -323
  98. package/dist/apps/backend/src/routes/public/orders.js +0 -160
  99. package/dist/apps/backend/src/routes/public/products.d.ts +0 -449
  100. package/dist/apps/backend/src/routes/public/products.js +0 -133
  101. package/dist/apps/backend/src/types/index.d.ts +0 -42
  102. package/dist/apps/backend/src/types/index.js +0 -2
  103. package/dist/apps/backend/src/validators/brand.d.ts +0 -17
  104. package/dist/apps/backend/src/validators/brand.js +0 -15
  105. package/dist/apps/backend/src/validators/delivery-zone.d.ts +0 -31
  106. package/dist/apps/backend/src/validators/delivery-zone.js +0 -51
  107. package/dist/apps/backend/src/validators/discount-code.d.ts +0 -74
  108. package/dist/apps/backend/src/validators/discount-code.js +0 -50
  109. package/dist/apps/backend/src/validators/inventory.d.ts +0 -20
  110. package/dist/apps/backend/src/validators/inventory.js +0 -15
  111. package/dist/apps/backend/src/validators/order.d.ts +0 -87
  112. package/dist/apps/backend/src/validators/order.js +0 -61
  113. package/dist/apps/backend/src/validators/product.d.ts +0 -18
  114. package/dist/apps/backend/src/validators/product.js +0 -19
  115. package/dist/apps/backend/src/validators/variant.d.ts +0 -19
  116. package/dist/apps/backend/src/validators/variant.js +0 -19
  117. package/dist/apps/backend/src/validators/warehouse.d.ts +0 -15
  118. package/dist/apps/backend/src/validators/warehouse.js +0 -15
  119. package/dist/packages/api-client/src/backend-types.d.ts +0 -10
  120. package/dist/packages/api-client/src/backend-types.js +0 -10
  121. package/dist/packages/api-client/src/client.d.ts +0 -20
  122. package/dist/packages/api-client/src/client.js +0 -40
  123. package/dist/packages/api-client/src/fetchers/brands.d.ts +0 -25
  124. package/dist/packages/api-client/src/fetchers/brands.js +0 -26
  125. package/dist/packages/api-client/src/fetchers/carts.d.ts +0 -2335
  126. package/dist/packages/api-client/src/fetchers/carts.js +0 -169
  127. package/dist/packages/api-client/src/fetchers/delivery-zones.d.ts +0 -28
  128. package/dist/packages/api-client/src/fetchers/delivery-zones.js +0 -26
  129. package/dist/packages/api-client/src/fetchers/index.d.ts +0 -22
  130. package/dist/packages/api-client/src/fetchers/index.js +0 -22
  131. package/dist/packages/api-client/src/fetchers/orders.d.ts +0 -283
  132. package/dist/packages/api-client/src/fetchers/orders.js +0 -44
  133. package/dist/packages/api-client/src/fetchers/products.d.ts +0 -386
  134. package/dist/packages/api-client/src/fetchers/products.js +0 -42
  135. package/dist/packages/api-client/src/hooks/admin/abandoned-carts.d.ts +0 -535
  136. package/dist/packages/api-client/src/hooks/admin/abandoned-carts.js +0 -83
  137. package/dist/packages/api-client/src/hooks/admin/brands.d.ts +0 -79
  138. package/dist/packages/api-client/src/hooks/admin/brands.js +0 -108
  139. package/dist/packages/api-client/src/hooks/admin/customers.d.ts +0 -278
  140. package/dist/packages/api-client/src/hooks/admin/customers.js +0 -26
  141. package/dist/packages/api-client/src/hooks/admin/delivery-zones.d.ts +0 -270
  142. package/dist/packages/api-client/src/hooks/admin/delivery-zones.js +0 -176
  143. package/dist/packages/api-client/src/hooks/admin/discount-codes.d.ts +0 -299
  144. package/dist/packages/api-client/src/hooks/admin/discount-codes.js +0 -165
  145. package/dist/packages/api-client/src/hooks/admin/index.d.ts +0 -16
  146. package/dist/packages/api-client/src/hooks/admin/index.js +0 -16
  147. package/dist/packages/api-client/src/hooks/admin/inventory.d.ts +0 -224
  148. package/dist/packages/api-client/src/hooks/admin/inventory.js +0 -107
  149. package/dist/packages/api-client/src/hooks/admin/orders.d.ts +0 -1380
  150. package/dist/packages/api-client/src/hooks/admin/orders.js +0 -175
  151. package/dist/packages/api-client/src/hooks/admin/products.d.ts +0 -374
  152. package/dist/packages/api-client/src/hooks/admin/products.js +0 -89
  153. package/dist/packages/api-client/src/hooks/admin/stats.d.ts +0 -277
  154. package/dist/packages/api-client/src/hooks/admin/stats.js +0 -25
  155. package/dist/packages/api-client/src/hooks/admin/variants.d.ts +0 -115
  156. package/dist/packages/api-client/src/hooks/admin/variants.js +0 -127
  157. package/dist/packages/api-client/src/hooks/admin/warehouses.d.ts +0 -277
  158. package/dist/packages/api-client/src/hooks/admin/warehouses.js +0 -108
  159. package/dist/packages/api-client/src/hooks/public/brands.d.ts +0 -33
  160. package/dist/packages/api-client/src/hooks/public/brands.js +0 -30
  161. package/dist/packages/api-client/src/hooks/public/carts.d.ts +0 -2405
  162. package/dist/packages/api-client/src/hooks/public/carts.js +0 -213
  163. package/dist/packages/api-client/src/hooks/public/delivery-zones.d.ts +0 -34
  164. package/dist/packages/api-client/src/hooks/public/delivery-zones.js +0 -28
  165. package/dist/packages/api-client/src/hooks/public/index.d.ts +0 -10
  166. package/dist/packages/api-client/src/hooks/public/index.js +0 -10
  167. package/dist/packages/api-client/src/hooks/public/orders.d.ts +0 -302
  168. package/dist/packages/api-client/src/hooks/public/orders.js +0 -50
  169. package/dist/packages/api-client/src/hooks/public/products.d.ts +0 -398
  170. package/dist/packages/api-client/src/hooks/public/products.js +0 -47
  171. package/dist/packages/api-client/src/hooks/use-query-unwrapped.d.ts +0 -20
  172. package/dist/packages/api-client/src/hooks/use-query-unwrapped.js +0 -22
  173. package/dist/packages/api-client/src/hooks/useApiConfig.d.ts +0 -12
  174. package/dist/packages/api-client/src/hooks/useApiConfig.js +0 -14
  175. package/dist/packages/api-client/src/index.d.ts +0 -20
  176. package/dist/packages/api-client/src/index.js +0 -25
  177. package/dist/packages/api-client/src/provider.d.ts +0 -36
  178. package/dist/packages/api-client/src/provider.js +0 -54
  179. package/dist/packages/api-client/src/rpc-client.d.ts +0 -9035
  180. package/dist/packages/api-client/src/rpc-client.js +0 -78
  181. package/dist/packages/api-client/src/rpc-types.d.ts +0 -76
  182. package/dist/packages/api-client/src/rpc-types.js +0 -7
  183. package/dist/packages/api-client/src/types.d.ts +0 -37
  184. package/dist/packages/api-client/src/types.js +0 -16
  185. package/dist/packages/api-client/src/utils/query-keys.d.ts +0 -106
  186. package/dist/packages/api-client/src/utils/query-keys.js +0 -108
@@ -1,398 +0,0 @@
1
- /**
2
- * Type-safe RPC hooks for product operations
3
- *
4
- * These hooks use Hono RPC client with types directly from the backend,
5
- * providing end-to-end type safety without code generation.
6
- */
7
- import { UseQueryOptions } from '@tanstack/react-query';
8
- import { fetchProductsByBrand, fetchProductBySlug } from '../../fetchers/products';
9
- /**
10
- * Hook to get products by brand using RPC
11
- *
12
- * @param brandId - Brand UUID
13
- * @param options - React Query options
14
- *
15
- * @example
16
- * ```tsx
17
- * const { data: products, isLoading } = useGetProducts('brand-123');
18
- * console.log(products?.data[0].name); // Fully typed!
19
- * ```
20
- */
21
- export declare function useGetProducts(brandId: string, options?: Omit<UseQueryOptions<Awaited<ReturnType<typeof fetchProductsByBrand>>, Error>, 'queryKey' | 'queryFn'>): import("@tanstack/react-query").UseQueryResult<{
22
- brand: {
23
- createdAt: string;
24
- updatedAt: string;
25
- deletedAt: string;
26
- name: string;
27
- id: string;
28
- slug: string;
29
- logoUrl: string | null;
30
- siteUrl: string;
31
- domain: string;
32
- metaPixelId: string | null;
33
- };
34
- variants: {
35
- createdAt: string;
36
- updatedAt: string;
37
- price: number;
38
- deletedAt: string;
39
- name: string | null;
40
- id: string;
41
- isActive: boolean;
42
- thumbnailUrl: string | null;
43
- productId: string;
44
- sku: string;
45
- trackInventory: boolean;
46
- lowStockThreshold: number | null;
47
- }[];
48
- name: string;
49
- id: string;
50
- slug: string;
51
- createdAt: string;
52
- updatedAt: string;
53
- deletedAt: string;
54
- brandId: string;
55
- isActive: boolean;
56
- description: string | null;
57
- thumbnailUrl: string | null;
58
- quantityDiscounts: string | number | boolean | {
59
- [x: string]: string | number | boolean | /*elided*/ any | {
60
- [x: number]: string | number | boolean | /*elided*/ any | /*elided*/ any;
61
- length: number;
62
- toString: never;
63
- toLocaleString: never;
64
- pop: never;
65
- push: never;
66
- concat: never;
67
- join: never;
68
- reverse: never;
69
- shift: never;
70
- slice: never;
71
- sort: never;
72
- splice: never;
73
- unshift: never;
74
- indexOf: never;
75
- lastIndexOf: never;
76
- every: never;
77
- some: never;
78
- forEach: never;
79
- map: never;
80
- filter: never;
81
- reduce: never;
82
- reduceRight: never;
83
- find: never;
84
- findIndex: never;
85
- fill: never;
86
- copyWithin: never;
87
- entries: never;
88
- keys: never;
89
- values: never;
90
- includes: never;
91
- flatMap: never;
92
- flat: never;
93
- [Symbol.iterator]: never;
94
- readonly [Symbol.unscopables]: {
95
- [x: number]: boolean;
96
- length?: boolean;
97
- toString?: boolean;
98
- toLocaleString?: boolean;
99
- pop?: boolean;
100
- push?: boolean;
101
- concat?: boolean;
102
- join?: boolean;
103
- reverse?: boolean;
104
- shift?: boolean;
105
- slice?: boolean;
106
- sort?: boolean;
107
- splice?: boolean;
108
- unshift?: boolean;
109
- indexOf?: boolean;
110
- lastIndexOf?: boolean;
111
- every?: boolean;
112
- some?: boolean;
113
- forEach?: boolean;
114
- map?: boolean;
115
- filter?: boolean;
116
- reduce?: boolean;
117
- reduceRight?: boolean;
118
- find?: boolean;
119
- findIndex?: boolean;
120
- fill?: boolean;
121
- copyWithin?: boolean;
122
- entries?: boolean;
123
- keys?: boolean;
124
- values?: boolean;
125
- includes?: boolean;
126
- flatMap?: boolean;
127
- flat?: boolean;
128
- };
129
- };
130
- } | {
131
- [x: number]: string | number | boolean | {
132
- [x: string]: string | number | boolean | /*elided*/ any | /*elided*/ any;
133
- } | /*elided*/ any;
134
- length: number;
135
- toString: never;
136
- toLocaleString: never;
137
- pop: never;
138
- push: never;
139
- concat: never;
140
- join: never;
141
- reverse: never;
142
- shift: never;
143
- slice: never;
144
- sort: never;
145
- splice: never;
146
- unshift: never;
147
- indexOf: never;
148
- lastIndexOf: never;
149
- every: never;
150
- some: never;
151
- forEach: never;
152
- map: never;
153
- filter: never;
154
- reduce: never;
155
- reduceRight: never;
156
- find: never;
157
- findIndex: never;
158
- fill: never;
159
- copyWithin: never;
160
- entries: never;
161
- keys: never;
162
- values: never;
163
- includes: never;
164
- flatMap: never;
165
- flat: never;
166
- [Symbol.iterator]: never;
167
- readonly [Symbol.unscopables]: {
168
- [x: number]: boolean;
169
- length?: boolean;
170
- toString?: boolean;
171
- toLocaleString?: boolean;
172
- pop?: boolean;
173
- push?: boolean;
174
- concat?: boolean;
175
- join?: boolean;
176
- reverse?: boolean;
177
- shift?: boolean;
178
- slice?: boolean;
179
- sort?: boolean;
180
- splice?: boolean;
181
- unshift?: boolean;
182
- indexOf?: boolean;
183
- lastIndexOf?: boolean;
184
- every?: boolean;
185
- some?: boolean;
186
- forEach?: boolean;
187
- map?: boolean;
188
- filter?: boolean;
189
- reduce?: boolean;
190
- reduceRight?: boolean;
191
- find?: boolean;
192
- findIndex?: boolean;
193
- fill?: boolean;
194
- copyWithin?: boolean;
195
- entries?: boolean;
196
- keys?: boolean;
197
- values?: boolean;
198
- includes?: boolean;
199
- flatMap?: boolean;
200
- flat?: boolean;
201
- };
202
- };
203
- }[], Error>;
204
- /**
205
- * Hook to get a single product by slug using RPC
206
- *
207
- * @param slug - Product slug
208
- * @param options - React Query options
209
- *
210
- * @example
211
- * ```tsx
212
- * const { data: product, isLoading } = useGetProduct('cotton-t-shirt');
213
- * console.log(product?.name); // Fully typed!
214
- * ```
215
- */
216
- export declare function useGetProduct(slug: string, options?: Omit<UseQueryOptions<Awaited<ReturnType<typeof fetchProductBySlug>>, Error>, 'queryKey' | 'queryFn'>): import("@tanstack/react-query").UseQueryResult<{
217
- brand: {
218
- createdAt: string;
219
- updatedAt: string;
220
- deletedAt: string;
221
- name: string;
222
- id: string;
223
- slug: string;
224
- logoUrl: string | null;
225
- siteUrl: string;
226
- domain: string;
227
- metaPixelId: string | null;
228
- };
229
- variants: {
230
- createdAt: string;
231
- updatedAt: string;
232
- price: number;
233
- deletedAt: string;
234
- name: string | null;
235
- id: string;
236
- isActive: boolean;
237
- thumbnailUrl: string | null;
238
- productId: string;
239
- sku: string;
240
- trackInventory: boolean;
241
- lowStockThreshold: number | null;
242
- }[];
243
- name: string;
244
- id: string;
245
- slug: string;
246
- createdAt: string;
247
- updatedAt: string;
248
- deletedAt: string;
249
- brandId: string;
250
- isActive: boolean;
251
- description: string | null;
252
- thumbnailUrl: string | null;
253
- quantityDiscounts: string | number | boolean | {
254
- [x: string]: string | number | boolean | /*elided*/ any | {
255
- [x: number]: string | number | boolean | /*elided*/ any | /*elided*/ any;
256
- length: number;
257
- toString: never;
258
- toLocaleString: never;
259
- pop: never;
260
- push: never;
261
- concat: never;
262
- join: never;
263
- reverse: never;
264
- shift: never;
265
- slice: never;
266
- sort: never;
267
- splice: never;
268
- unshift: never;
269
- indexOf: never;
270
- lastIndexOf: never;
271
- every: never;
272
- some: never;
273
- forEach: never;
274
- map: never;
275
- filter: never;
276
- reduce: never;
277
- reduceRight: never;
278
- find: never;
279
- findIndex: never;
280
- fill: never;
281
- copyWithin: never;
282
- entries: never;
283
- keys: never;
284
- values: never;
285
- includes: never;
286
- flatMap: never;
287
- flat: never;
288
- [Symbol.iterator]: never;
289
- readonly [Symbol.unscopables]: {
290
- [x: number]: boolean;
291
- length?: boolean;
292
- toString?: boolean;
293
- toLocaleString?: boolean;
294
- pop?: boolean;
295
- push?: boolean;
296
- concat?: boolean;
297
- join?: boolean;
298
- reverse?: boolean;
299
- shift?: boolean;
300
- slice?: boolean;
301
- sort?: boolean;
302
- splice?: boolean;
303
- unshift?: boolean;
304
- indexOf?: boolean;
305
- lastIndexOf?: boolean;
306
- every?: boolean;
307
- some?: boolean;
308
- forEach?: boolean;
309
- map?: boolean;
310
- filter?: boolean;
311
- reduce?: boolean;
312
- reduceRight?: boolean;
313
- find?: boolean;
314
- findIndex?: boolean;
315
- fill?: boolean;
316
- copyWithin?: boolean;
317
- entries?: boolean;
318
- keys?: boolean;
319
- values?: boolean;
320
- includes?: boolean;
321
- flatMap?: boolean;
322
- flat?: boolean;
323
- };
324
- };
325
- } | {
326
- [x: number]: string | number | boolean | {
327
- [x: string]: string | number | boolean | /*elided*/ any | /*elided*/ any;
328
- } | /*elided*/ any;
329
- length: number;
330
- toString: never;
331
- toLocaleString: never;
332
- pop: never;
333
- push: never;
334
- concat: never;
335
- join: never;
336
- reverse: never;
337
- shift: never;
338
- slice: never;
339
- sort: never;
340
- splice: never;
341
- unshift: never;
342
- indexOf: never;
343
- lastIndexOf: never;
344
- every: never;
345
- some: never;
346
- forEach: never;
347
- map: never;
348
- filter: never;
349
- reduce: never;
350
- reduceRight: never;
351
- find: never;
352
- findIndex: never;
353
- fill: never;
354
- copyWithin: never;
355
- entries: never;
356
- keys: never;
357
- values: never;
358
- includes: never;
359
- flatMap: never;
360
- flat: never;
361
- [Symbol.iterator]: never;
362
- readonly [Symbol.unscopables]: {
363
- [x: number]: boolean;
364
- length?: boolean;
365
- toString?: boolean;
366
- toLocaleString?: boolean;
367
- pop?: boolean;
368
- push?: boolean;
369
- concat?: boolean;
370
- join?: boolean;
371
- reverse?: boolean;
372
- shift?: boolean;
373
- slice?: boolean;
374
- sort?: boolean;
375
- splice?: boolean;
376
- unshift?: boolean;
377
- indexOf?: boolean;
378
- lastIndexOf?: boolean;
379
- every?: boolean;
380
- some?: boolean;
381
- forEach?: boolean;
382
- map?: boolean;
383
- filter?: boolean;
384
- reduce?: boolean;
385
- reduceRight?: boolean;
386
- find?: boolean;
387
- findIndex?: boolean;
388
- fill?: boolean;
389
- copyWithin?: boolean;
390
- entries?: boolean;
391
- keys?: boolean;
392
- values?: boolean;
393
- includes?: boolean;
394
- flatMap?: boolean;
395
- flat?: boolean;
396
- };
397
- };
398
- }, Error>;
@@ -1,47 +0,0 @@
1
- /**
2
- * Type-safe RPC hooks for product operations
3
- *
4
- * These hooks use Hono RPC client with types directly from the backend,
5
- * providing end-to-end type safety without code generation.
6
- */
7
- import { useQueryUnwrapped } from '../use-query-unwrapped';
8
- import { queryKeys } from '../../utils/query-keys';
9
- import { fetchProductsByBrand, fetchProductBySlug } from '../../fetchers/products';
10
- /**
11
- * Hook to get products by brand using RPC
12
- *
13
- * @param brandId - Brand UUID
14
- * @param options - React Query options
15
- *
16
- * @example
17
- * ```tsx
18
- * const { data: products, isLoading } = useGetProducts('brand-123');
19
- * console.log(products?.data[0].name); // Fully typed!
20
- * ```
21
- */
22
- export function useGetProducts(brandId, options) {
23
- return useQueryUnwrapped({
24
- queryKey: queryKeys.public.products.list(brandId),
25
- queryFn: () => fetchProductsByBrand(brandId),
26
- ...options,
27
- });
28
- }
29
- /**
30
- * Hook to get a single product by slug using RPC
31
- *
32
- * @param slug - Product slug
33
- * @param options - React Query options
34
- *
35
- * @example
36
- * ```tsx
37
- * const { data: product, isLoading } = useGetProduct('cotton-t-shirt');
38
- * console.log(product?.name); // Fully typed!
39
- * ```
40
- */
41
- export function useGetProduct(slug, options) {
42
- return useQueryUnwrapped({
43
- queryKey: queryKeys.public.products.detail(slug),
44
- queryFn: () => fetchProductBySlug(slug),
45
- ...options,
46
- });
47
- }
@@ -1,20 +0,0 @@
1
- import { type UseQueryOptions, type UseQueryResult } from '@tanstack/react-query';
2
- /**
3
- * Wrapper around useQuery that narrows the data type to exclude error responses
4
- *
5
- * Since our hooks throw on HTTP errors (via `if (!res.ok) throw new Error(...)`),
6
- * the data will never actually be an error response at runtime. This wrapper
7
- * tells TypeScript that truth.
8
- *
9
- * @example
10
- * ```ts
11
- * // Instead of:
12
- * return useQuery({ ... }) // Returns UseQueryResult<Data | { error: ... }, Error>
13
- *
14
- * // Use:
15
- * return useQueryUnwrapped({ ... }) // Returns UseQueryResult<Data, Error>
16
- * ```
17
- */
18
- export declare function useQueryUnwrapped<TData, TError = Error, TQueryKey extends readonly unknown[] = readonly unknown[]>(options: UseQueryOptions<TData, TError, TData, TQueryKey>): UseQueryResult<Exclude<TData, {
19
- error: any;
20
- }>, TError>;
@@ -1,22 +0,0 @@
1
- import { useQuery } from '@tanstack/react-query';
2
- /**
3
- * Wrapper around useQuery that narrows the data type to exclude error responses
4
- *
5
- * Since our hooks throw on HTTP errors (via `if (!res.ok) throw new Error(...)`),
6
- * the data will never actually be an error response at runtime. This wrapper
7
- * tells TypeScript that truth.
8
- *
9
- * @example
10
- * ```ts
11
- * // Instead of:
12
- * return useQuery({ ... }) // Returns UseQueryResult<Data | { error: ... }, Error>
13
- *
14
- * // Use:
15
- * return useQueryUnwrapped({ ... }) // Returns UseQueryResult<Data, Error>
16
- * ```
17
- */
18
- export function useQueryUnwrapped(options) {
19
- const result = useQuery(options);
20
- // Cast the data to exclude error types since we throw on errors
21
- return result;
22
- }
@@ -1,12 +0,0 @@
1
- /**
2
- * Hook to access API configuration from context
3
- */
4
- import { type AuthTokenGetter } from '../provider';
5
- export interface ApiConfig {
6
- baseURL: string;
7
- getAuthToken: AuthTokenGetter;
8
- }
9
- /**
10
- * Get API configuration from context
11
- */
12
- export declare function useApiConfig(): ApiConfig;
@@ -1,14 +0,0 @@
1
- /**
2
- * Hook to access API configuration from context
3
- */
4
- import { useApiClientContext } from '../provider';
5
- /**
6
- * Get API configuration from context
7
- */
8
- export function useApiConfig() {
9
- const { baseURL, getAuthToken } = useApiClientContext();
10
- return {
11
- baseURL,
12
- getAuthToken,
13
- };
14
- }
@@ -1,20 +0,0 @@
1
- /**
2
- * @oms/api-client
3
- *
4
- * Type-safe React Query hooks for OMS API using Hono RPC
5
- */
6
- export { ApiClientProvider, useApiClientContext } from './provider';
7
- export type { ApiClientProviderProps } from './provider';
8
- export { useApiConfig } from './hooks/useApiConfig';
9
- export type { ApiConfig } from './hooks/useApiConfig';
10
- export { getApiClient, initializeApiClient, resetApiClient } from './client';
11
- export type { ApiClientConfig } from './client';
12
- export { createRpcClients, createAdminRpcClients, authHeaders } from './rpc-client';
13
- export type { RpcClients, AdminRpcClients } from './rpc-client';
14
- export * from './fetchers';
15
- export { queryKeys } from './utils/query-keys';
16
- export * from './hooks/public';
17
- import * as publicHooks from './hooks/public';
18
- import * as adminHooks from './hooks/admin';
19
- export { publicHooks as publicApi, adminHooks as adminApi };
20
- export type * from './types';
@@ -1,25 +0,0 @@
1
- /**
2
- * @oms/api-client
3
- *
4
- * Type-safe React Query hooks for OMS API using Hono RPC
5
- */
6
- // Export provider
7
- export { ApiClientProvider, useApiClientContext } from './provider';
8
- // Export API config hook
9
- export { useApiConfig } from './hooks/useApiConfig';
10
- // Export client utilities (legacy axios client - deprecated)
11
- export { getApiClient, initializeApiClient, resetApiClient } from './client';
12
- // Export RPC client utilities (type-safe Hono RPC)
13
- export { createRpcClients, createAdminRpcClients, authHeaders } from './rpc-client';
14
- // Export fetchers for Server Components (can be used without hooks)
15
- export * from './fetchers';
16
- // Export query keys for advanced usage
17
- export { queryKeys } from './utils/query-keys';
18
- // Export all public hooks directly from main package
19
- // These can be imported as: import { useGetCart } from '@oms/api-client'
20
- export * from './hooks/public';
21
- // Export namespaced versions for backward compatibility
22
- // These can be imported as: import { publicApi, adminApi } from '@oms/api-client'
23
- import * as publicHooks from './hooks/public';
24
- import * as adminHooks from './hooks/admin';
25
- export { publicHooks as publicApi, adminHooks as adminApi };
@@ -1,36 +0,0 @@
1
- /**
2
- * React context provider for API client configuration
3
- */
4
- import { ReactNode } from 'react';
5
- import { QueryClient } from '@tanstack/react-query';
6
- import { AxiosError } from 'axios';
7
- export type AuthTokenGetter = () => Promise<string>;
8
- interface ApiClientContextValue {
9
- baseURL: string;
10
- getAuthToken: AuthTokenGetter;
11
- }
12
- export interface ApiClientProviderProps {
13
- children: ReactNode;
14
- baseURL?: string;
15
- getAuthToken: AuthTokenGetter;
16
- onError?: (error: AxiosError) => void;
17
- queryClient?: QueryClient;
18
- }
19
- /**
20
- * Provider component that initializes the API client and React Query
21
- *
22
- * @example
23
- * ```tsx
24
- * const { getToken } = useAuth();
25
- *
26
- * <ApiClientProvider getAuthToken={getToken}>
27
- * <App />
28
- * </ApiClientProvider>
29
- * ```
30
- */
31
- export declare function ApiClientProvider({ children, baseURL, getAuthToken, onError, queryClient: externalQueryClient }: ApiClientProviderProps): import("react/jsx-runtime").JSX.Element;
32
- /**
33
- * Hook to access API client context
34
- */
35
- export declare function useApiClientContext(): ApiClientContextValue;
36
- export {};
@@ -1,54 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- /**
3
- * React context provider for API client configuration
4
- */
5
- import { createContext, useContext, useEffect, useMemo } from 'react';
6
- import { QueryClient, QueryClientProvider } from '@tanstack/react-query';
7
- import { initializeApiClient } from './client';
8
- const ApiClientContext = createContext(null);
9
- /**
10
- * Provider component that initializes the API client and React Query
11
- *
12
- * @example
13
- * ```tsx
14
- * const { getToken } = useAuth();
15
- *
16
- * <ApiClientProvider getAuthToken={getToken}>
17
- * <App />
18
- * </ApiClientProvider>
19
- * ```
20
- */
21
- export function ApiClientProvider({ children, baseURL = 'https://oms-api.instock.ng', getAuthToken, onError, queryClient: externalQueryClient }) {
22
- // Initialize client synchronously on first render
23
- const config = {
24
- baseURL,
25
- onError,
26
- };
27
- initializeApiClient(config);
28
- // Update client when config changes
29
- useEffect(() => {
30
- initializeApiClient(config);
31
- }, [baseURL, onError]);
32
- // Create a default query client if one isn't provided
33
- const queryClient = useMemo(() => externalQueryClient ||
34
- new QueryClient({
35
- defaultOptions: {
36
- queries: {
37
- retry: 1,
38
- refetchOnWindowFocus: false,
39
- staleTime: 5000,
40
- },
41
- },
42
- }), [externalQueryClient]);
43
- return (_jsx(QueryClientProvider, { client: queryClient, children: _jsx(ApiClientContext.Provider, { value: { baseURL, getAuthToken }, children: children }) }));
44
- }
45
- /**
46
- * Hook to access API client context
47
- */
48
- export function useApiClientContext() {
49
- const context = useContext(ApiClientContext);
50
- if (!context) {
51
- throw new Error('useApiClientContext must be used within ApiClientProvider');
52
- }
53
- return context;
54
- }