@simpleapps-com/augur-hooks 0.1.7 → 0.1.9
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.
- package/dist/{chunk-YSRBE3YI.cjs → chunk-ENELW5AU.cjs} +68 -6
- package/dist/chunk-ENELW5AU.cjs.map +1 -0
- package/dist/{chunk-DS2ECDHJ.js → chunk-TUNAYTS6.js} +68 -6
- package/dist/chunk-TUNAYTS6.js.map +1 -0
- package/dist/index.cjs +134 -22
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +98 -6
- package/dist/index.d.ts +98 -6
- package/dist/index.js +115 -3
- package/dist/index.js.map +1 -1
- package/dist/{server-CF43MUMf.d.cts → joomla-content-list-MMF5wDQy.d.cts} +30 -2
- package/dist/{server-CF43MUMf.d.ts → joomla-content-list-MMF5wDQy.d.ts} +30 -2
- package/dist/server.cjs +16 -2
- package/dist/server.cjs.map +1 -1
- package/dist/server.d.cts +9 -1
- package/dist/server.d.ts +9 -1
- package/dist/server.js +17 -3
- package/package.json +2 -2
- package/dist/chunk-DS2ECDHJ.js.map +0 -1
- package/dist/chunk-YSRBE3YI.cjs.map +0 -1
|
@@ -37,6 +37,7 @@ var getInvMastDocOptions = (api, invMastUid, itemId, includePricing) => ({
|
|
|
37
37
|
queryKey: getInvMastDocKey(invMastUid, itemId, includePricing),
|
|
38
38
|
queryFn: async () => {
|
|
39
39
|
const response = await api.items.invMast.doc.list(invMastUid, {
|
|
40
|
+
itemId: itemId.toUpperCase(),
|
|
40
41
|
includePricing
|
|
41
42
|
});
|
|
42
43
|
if (!response.data) throw new Error("Item not found");
|
|
@@ -117,7 +118,8 @@ var getProductCategoryOptions = (api, itemCategoryUid) => ({
|
|
|
117
118
|
// src/queries/item-details.ts
|
|
118
119
|
|
|
119
120
|
var getItemDetailsKey = (itemId) => {
|
|
120
|
-
|
|
121
|
+
const normalizedId = typeof itemId === "string" ? itemId.toUpperCase() : itemId;
|
|
122
|
+
return ["itemDetails", normalizedId];
|
|
121
123
|
};
|
|
122
124
|
var getItemDetailsOptions = (api, itemId) => ({
|
|
123
125
|
queryKey: getItemDetailsKey(itemId),
|
|
@@ -185,7 +187,9 @@ var getSearchSuggestionsOptions = (api, query, limit = 10, offset = 0) => ({
|
|
|
185
187
|
queryKey: getSearchSuggestionsKey(query, limit, offset),
|
|
186
188
|
queryFn: async () => {
|
|
187
189
|
const response = await api.openSearch.suggestions.suggest.list({
|
|
188
|
-
q: query
|
|
190
|
+
q: query,
|
|
191
|
+
size: limit,
|
|
192
|
+
from: offset
|
|
189
193
|
});
|
|
190
194
|
return response.data;
|
|
191
195
|
},
|
|
@@ -200,6 +204,21 @@ function getCartPricingQueryOptions(api, cartLines, customerId) {
|
|
|
200
204
|
}));
|
|
201
205
|
}
|
|
202
206
|
|
|
207
|
+
// src/queries/stable-stringify.ts
|
|
208
|
+
function stableStringify(value) {
|
|
209
|
+
if (value === null || value === void 0) return JSON.stringify(value);
|
|
210
|
+
if (typeof value !== "object") return JSON.stringify(value);
|
|
211
|
+
if (Array.isArray(value)) {
|
|
212
|
+
return `[${value.map(stableStringify).join(",")}]`;
|
|
213
|
+
}
|
|
214
|
+
const obj = value;
|
|
215
|
+
const keys = Object.keys(obj).sort();
|
|
216
|
+
const entries = keys.map(
|
|
217
|
+
(key) => `${JSON.stringify(key)}:${stableStringify(obj[key])}`
|
|
218
|
+
);
|
|
219
|
+
return `{${entries.join(",")}}`;
|
|
220
|
+
}
|
|
221
|
+
|
|
203
222
|
// src/queries/category-items-infinite.ts
|
|
204
223
|
|
|
205
224
|
|
|
@@ -208,7 +227,7 @@ var getCategoryItemsInfiniteKey = (itemCategoryUid, itemsFilters) => {
|
|
|
208
227
|
return [
|
|
209
228
|
"categoryItemsInfinite",
|
|
210
229
|
itemCategoryUid,
|
|
211
|
-
|
|
230
|
+
stableStringify(itemsFilters)
|
|
212
231
|
];
|
|
213
232
|
};
|
|
214
233
|
var getCategoryItemsInfiniteOptions = (api, itemCategoryUid, itemsFilters) => ({
|
|
@@ -245,7 +264,7 @@ var getCategoryItemsInfiniteOptions = (api, itemCategoryUid, itemsFilters) => ({
|
|
|
245
264
|
var getItemSearchInfiniteKey = (itemsFilters, itemCategoryUid) => {
|
|
246
265
|
return [
|
|
247
266
|
"itemSearchInfinite",
|
|
248
|
-
|
|
267
|
+
stableStringify(itemsFilters),
|
|
249
268
|
itemCategoryUid
|
|
250
269
|
];
|
|
251
270
|
};
|
|
@@ -277,6 +296,49 @@ var getItemSearchInfiniteOptions = (api, itemsFilters, itemCategoryUid) => ({
|
|
|
277
296
|
meta: { persist: true }
|
|
278
297
|
});
|
|
279
298
|
|
|
299
|
+
// src/queries/joomla-content.ts
|
|
300
|
+
|
|
301
|
+
var JOOMLA_CONTENT_CACHE_OPTIONS = _augurutils.CACHE_CONFIG.STATIC;
|
|
302
|
+
var getJoomlaContentKey = (articleId) => {
|
|
303
|
+
return ["joomlaContent", articleId];
|
|
304
|
+
};
|
|
305
|
+
var getJoomlaContentOptions = (api, articleId) => ({
|
|
306
|
+
queryKey: getJoomlaContentKey(articleId),
|
|
307
|
+
queryFn: async () => {
|
|
308
|
+
const response = await api.joomla.content.doc.get(articleId);
|
|
309
|
+
if (!response.data) throw new Error("Article not found");
|
|
310
|
+
return response.data;
|
|
311
|
+
},
|
|
312
|
+
...JOOMLA_CONTENT_CACHE_OPTIONS
|
|
313
|
+
});
|
|
314
|
+
|
|
315
|
+
// src/queries/joomla-content-list.ts
|
|
316
|
+
|
|
317
|
+
|
|
318
|
+
|
|
319
|
+
var JOOMLA_CONTENT_LIST_CACHE_OPTIONS = _augurutils.CACHE_CONFIG.SEMI_STATIC;
|
|
320
|
+
var getJoomlaContentListKey = (categoryId, filters) => {
|
|
321
|
+
return ["joomlaContentList", categoryId, filters];
|
|
322
|
+
};
|
|
323
|
+
var getJoomlaContentListOptions = (api, categoryId, filters) => ({
|
|
324
|
+
queryKey: getJoomlaContentListKey(categoryId, filters),
|
|
325
|
+
queryFn: async () => {
|
|
326
|
+
const response = await api.joomla.content.list({
|
|
327
|
+
catid: categoryId,
|
|
328
|
+
...filters
|
|
329
|
+
});
|
|
330
|
+
return _nullishCoalesce(response.data, () => ( []));
|
|
331
|
+
},
|
|
332
|
+
...JOOMLA_CONTENT_LIST_CACHE_OPTIONS
|
|
333
|
+
});
|
|
334
|
+
|
|
335
|
+
|
|
336
|
+
|
|
337
|
+
|
|
338
|
+
|
|
339
|
+
|
|
340
|
+
|
|
341
|
+
|
|
280
342
|
|
|
281
343
|
|
|
282
344
|
|
|
@@ -308,5 +370,5 @@ var getItemSearchInfiniteOptions = (api, itemsFilters, itemCategoryUid) => ({
|
|
|
308
370
|
|
|
309
371
|
|
|
310
372
|
|
|
311
|
-
exports.PRICE_CACHE_OPTIONS = PRICE_CACHE_OPTIONS; exports.getItemPriceKey = getItemPriceKey; exports.getItemPriceOptions = getItemPriceOptions; exports.INV_MAST_DOC_CACHE_OPTIONS = INV_MAST_DOC_CACHE_OPTIONS; exports.getInvMastDocKey = getInvMastDocKey; exports.getInvMastDocOptions = getInvMastDocOptions; exports.CATEGORY_CACHE_OPTIONS = CATEGORY_CACHE_OPTIONS; exports.getItemCategoryKey = getItemCategoryKey; exports.getItemCategoryOptions = getItemCategoryOptions; exports.INV_MAST_CACHE_OPTIONS = INV_MAST_CACHE_OPTIONS; exports.getInvMastKey = getInvMastKey; exports.getInvMastOptions = getInvMastOptions; exports.getInvMastStockKey = getInvMastStockKey; exports.getInvMastStockOptions = getInvMastStockOptions; exports.getProductCategoryKey = getProductCategoryKey; exports.getProductCategoryOptions = getProductCategoryOptions; exports.getItemDetailsKey = getItemDetailsKey; exports.getItemDetailsOptions = getItemDetailsOptions; exports.getItemAttributesKey = getItemAttributesKey; exports.getItemAttributesOptions = getItemAttributesOptions; exports.getProductSearchKey = getProductSearchKey; exports.getProductSearchOptions = getProductSearchOptions; exports.SEARCH_SUGGESTIONS_CACHE_OPTIONS = SEARCH_SUGGESTIONS_CACHE_OPTIONS; exports.getSearchSuggestionsKey = getSearchSuggestionsKey; exports.getSearchSuggestionsOptions = getSearchSuggestionsOptions; exports.getCartPricingQueryOptions = getCartPricingQueryOptions; exports.getCategoryItemsInfiniteKey = getCategoryItemsInfiniteKey; exports.getCategoryItemsInfiniteOptions = getCategoryItemsInfiniteOptions; exports.getItemSearchInfiniteKey = getItemSearchInfiniteKey; exports.getItemSearchInfiniteOptions = getItemSearchInfiniteOptions;
|
|
312
|
-
//# sourceMappingURL=chunk-
|
|
373
|
+
exports.PRICE_CACHE_OPTIONS = PRICE_CACHE_OPTIONS; exports.getItemPriceKey = getItemPriceKey; exports.getItemPriceOptions = getItemPriceOptions; exports.INV_MAST_DOC_CACHE_OPTIONS = INV_MAST_DOC_CACHE_OPTIONS; exports.getInvMastDocKey = getInvMastDocKey; exports.getInvMastDocOptions = getInvMastDocOptions; exports.CATEGORY_CACHE_OPTIONS = CATEGORY_CACHE_OPTIONS; exports.getItemCategoryKey = getItemCategoryKey; exports.getItemCategoryOptions = getItemCategoryOptions; exports.INV_MAST_CACHE_OPTIONS = INV_MAST_CACHE_OPTIONS; exports.getInvMastKey = getInvMastKey; exports.getInvMastOptions = getInvMastOptions; exports.getInvMastStockKey = getInvMastStockKey; exports.getInvMastStockOptions = getInvMastStockOptions; exports.getProductCategoryKey = getProductCategoryKey; exports.getProductCategoryOptions = getProductCategoryOptions; exports.getItemDetailsKey = getItemDetailsKey; exports.getItemDetailsOptions = getItemDetailsOptions; exports.getItemAttributesKey = getItemAttributesKey; exports.getItemAttributesOptions = getItemAttributesOptions; exports.getProductSearchKey = getProductSearchKey; exports.getProductSearchOptions = getProductSearchOptions; exports.SEARCH_SUGGESTIONS_CACHE_OPTIONS = SEARCH_SUGGESTIONS_CACHE_OPTIONS; exports.getSearchSuggestionsKey = getSearchSuggestionsKey; exports.getSearchSuggestionsOptions = getSearchSuggestionsOptions; exports.getCartPricingQueryOptions = getCartPricingQueryOptions; exports.stableStringify = stableStringify; exports.getCategoryItemsInfiniteKey = getCategoryItemsInfiniteKey; exports.getCategoryItemsInfiniteOptions = getCategoryItemsInfiniteOptions; exports.getItemSearchInfiniteKey = getItemSearchInfiniteKey; exports.getItemSearchInfiniteOptions = getItemSearchInfiniteOptions; exports.JOOMLA_CONTENT_CACHE_OPTIONS = JOOMLA_CONTENT_CACHE_OPTIONS; exports.getJoomlaContentKey = getJoomlaContentKey; exports.getJoomlaContentOptions = getJoomlaContentOptions; exports.JOOMLA_CONTENT_LIST_CACHE_OPTIONS = JOOMLA_CONTENT_LIST_CACHE_OPTIONS; exports.getJoomlaContentListKey = getJoomlaContentListKey; exports.getJoomlaContentListOptions = getJoomlaContentListOptions;
|
|
374
|
+
//# sourceMappingURL=chunk-ENELW5AU.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/augur-packages/augur-packages/packages/augur-hooks/dist/chunk-ENELW5AU.cjs","../src/queries/item-price.ts","../src/queries/inv-mast-doc.ts","../src/queries/item-category.ts","../src/queries/inv-mast.ts","../src/queries/inv-mast-stock.ts","../src/queries/product-category.ts","../src/queries/item-details.ts","../src/queries/item-attributes.ts","../src/queries/product-search.ts","../src/queries/search-suggestions.ts","../src/queries/cart-pricing.ts","../src/queries/stable-stringify.ts","../src/queries/category-items-infinite.ts","../src/queries/item-search-infinite.ts","../src/queries/joomla-content.ts","../src/queries/joomla-content-list.ts"],"names":["CACHE_CONFIG"],"mappings":"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","file":"/home/runner/work/augur-packages/augur-packages/packages/augur-hooks/dist/chunk-ENELW5AU.cjs","sourcesContent":[null,"import { CACHE_CONFIG, type TPriceData } from \"@simpleapps-com/augur-utils\";\nimport type { AugurApiClient } from \"../provider\";\n\nexport const PRICE_CACHE_OPTIONS = {\n ...CACHE_CONFIG.SEMI_STATIC,\n refetchOnReconnect: true,\n refetchOnWindowFocus: false,\n meta: { persist: true },\n} as const;\n\n/**\n * Generates a consistent query key for item price queries.\n * Usable in both client hooks and server-side prefetch.\n */\nexport const getItemPriceKey = (\n itemId: string | undefined,\n customerId: string | number | undefined,\n quantity: number = 1,\n) => {\n return [\"price\", itemId?.toUpperCase() || \"\", customerId, quantity] as const;\n};\n\n/**\n * Query options for item price. Accepts the SDK instance so it works\n * in both client (via provider) and server (via direct construction).\n */\nexport const getItemPriceOptions = (\n api: AugurApiClient,\n itemId: string | undefined,\n customerId: string | number | undefined,\n quantity: number = 1,\n) => ({\n queryKey: getItemPriceKey(itemId, customerId, quantity),\n queryFn: async (): Promise<TPriceData> => {\n const response = await api.pricing.priceEngine.get({\n itemId: itemId?.toUpperCase() || \"\",\n customerId: Number(customerId),\n quantity,\n });\n return response.data;\n },\n ...PRICE_CACHE_OPTIONS,\n});\n","import { CACHE_CONFIG, type TInvMastDoc } from \"@simpleapps-com/augur-utils\";\nimport type { AugurApiClient } from \"../provider\";\n\nexport const INV_MAST_DOC_CACHE_OPTIONS = CACHE_CONFIG.STATIC;\n\n/**\n * Generates a consistent query key for inv mast doc queries.\n * Usable in both client hooks and server-side prefetch.\n */\nexport const getInvMastDocKey = (\n invMastUid: number,\n itemId: string,\n includePricing: \"Y\" | \"N\",\n) => {\n return [\n \"invMastDoc\",\n invMastUid,\n itemId.toUpperCase(),\n includePricing,\n ] as const;\n};\n\n/**\n * Query options for inv mast doc. Accepts the SDK instance so it works\n * in both client (via provider) and server (via direct construction).\n */\nexport const getInvMastDocOptions = (\n api: AugurApiClient,\n invMastUid: number,\n itemId: string,\n includePricing: \"Y\" | \"N\",\n) => ({\n queryKey: getInvMastDocKey(invMastUid, itemId, includePricing),\n queryFn: async (): Promise<TInvMastDoc> => {\n const response = await api.items.invMast.doc.list(invMastUid, {\n itemId: itemId.toUpperCase(),\n includePricing,\n });\n if (!response.data) throw new Error(\"Item not found\");\n return response.data;\n },\n ...INV_MAST_DOC_CACHE_OPTIONS,\n});\n","import { CACHE_CONFIG, type TCategory } from \"@simpleapps-com/augur-utils\";\nimport type { AugurApiClient } from \"../provider\";\nimport type { GetItemCategoryApiOptions } from \"../types\";\n\nexport const CATEGORY_CACHE_OPTIONS = CACHE_CONFIG.STATIC;\n\ntype ItemCategoryQueryKey = readonly [\n \"itemCategory\",\n number,\n GetItemCategoryApiOptions | undefined,\n];\n\n/**\n * Generates a consistent query key for item category queries.\n * Usable in both client hooks and server-side prefetch.\n */\nexport const getItemCategoryKey = (\n itemCategoryUid: number,\n apiOptions?: GetItemCategoryApiOptions,\n): ItemCategoryQueryKey => {\n return [\"itemCategory\", itemCategoryUid, apiOptions] as const;\n};\n\n/**\n * Query options for item category. Accepts the SDK instance so it works\n * in both client (via provider) and server (via direct construction).\n */\nexport const getItemCategoryOptions = (\n api: AugurApiClient,\n itemCategoryUid: number,\n apiOptions?: GetItemCategoryApiOptions,\n) => ({\n queryKey: getItemCategoryKey(itemCategoryUid, apiOptions),\n queryFn: async (): Promise<TCategory> => {\n const response = await api.items.itemCategory.get(\n itemCategoryUid,\n apiOptions,\n );\n if (!response.data) throw new Error(\"Item category not found\");\n return response.data;\n },\n ...CATEGORY_CACHE_OPTIONS,\n});\n","import { CACHE_CONFIG, type TItemDetails } from \"@simpleapps-com/augur-utils\";\nimport type { AugurApiClient } from \"../provider\";\n\nexport const INV_MAST_CACHE_OPTIONS = CACHE_CONFIG.STATIC;\n\nexport const getInvMastKey = (invMastUid: number, itemId: string) => {\n return [\"invMast\", invMastUid, itemId.toUpperCase()] as const;\n};\n\nexport const getInvMastOptions = (\n api: AugurApiClient,\n invMastUid: number,\n itemId: string,\n) => ({\n queryKey: getInvMastKey(invMastUid, itemId),\n queryFn: async (): Promise<TItemDetails> => {\n const response = await api.items.invMast.get(invMastUid);\n if (!response.data) throw new Error(\"Item not found\");\n return response.data;\n },\n ...INV_MAST_CACHE_OPTIONS,\n});\n","import { CACHE_CONFIG, type TStockData } from \"@simpleapps-com/augur-utils\";\nimport type { AugurApiClient } from \"../provider\";\n\nexport const getInvMastStockKey = (invMastUid: number | string) => {\n return [\"invMastStock\", invMastUid] as const;\n};\n\nexport const getInvMastStockOptions = (\n api: AugurApiClient,\n invMastUid: number | string,\n) => ({\n queryKey: getInvMastStockKey(invMastUid),\n queryFn: async (): Promise<number> => {\n const response = await api.items.invMast.stock.list(Number(invMastUid));\n const stockData: TStockData[] = response.data?.stockData ?? [];\n return stockData.reduce(\n (qty: number, stock: TStockData) => qty + stock.qtyOnHand,\n 0,\n );\n },\n ...CACHE_CONFIG.SEMI_STATIC,\n});\n","import { CACHE_CONFIG, type TProductCategory } from \"@simpleapps-com/augur-utils\";\nimport type { AugurApiClient } from \"../provider\";\n\ntype ProductCategoryResponse = {\n itemCategoryDesc: string;\n childrenTotal: number;\n children: TProductCategory[];\n categoryImage: string | null;\n};\n\nexport const getProductCategoryKey = (\n itemCategoryUid: number | string | null,\n) => {\n return [\"productCategory\", itemCategoryUid] as const;\n};\n\nexport const getProductCategoryOptions = (\n api: AugurApiClient,\n itemCategoryUid: number | string,\n) => ({\n queryKey: getProductCategoryKey(itemCategoryUid),\n queryFn: async (): Promise<ProductCategoryResponse> => {\n const response = await api.items.itemCategory.get(\n Number(itemCategoryUid),\n );\n return response.data;\n },\n ...CACHE_CONFIG.STATIC,\n});\n","import { CACHE_CONFIG, type TItemDetails } from \"@simpleapps-com/augur-utils\";\nimport type { AugurApiClient } from \"../provider\";\n\nexport const getItemDetailsKey = (itemId: number | string) => {\n const normalizedId = typeof itemId === \"string\" ? itemId.toUpperCase() : itemId;\n return [\"itemDetails\", normalizedId] as const;\n};\n\nexport const getItemDetailsOptions = (\n api: AugurApiClient,\n itemId: number | string,\n) => ({\n queryKey: getItemDetailsKey(itemId),\n queryFn: async (): Promise<TItemDetails> => {\n const response = await api.items.invMast.doc.list(Number(itemId));\n if (!response.data) throw new Error(\"Item not found\");\n return response.data;\n },\n ...CACHE_CONFIG.STATIC,\n});\n","import { CACHE_CONFIG } from \"@simpleapps-com/augur-utils\";\nimport type { AugurApiClient } from \"../provider\";\n\nexport const getItemAttributesKey = (\n itemCategoryUid: number | string | null,\n) => {\n return [\"itemAttributes\", itemCategoryUid] as const;\n};\n\nexport const getItemAttributesOptions = (\n api: AugurApiClient,\n itemCategoryUid: number | string,\n) => ({\n queryKey: getItemAttributesKey(itemCategoryUid),\n queryFn: async () => {\n const response = await api.openSearch.itemSearch.attributes.list({\n q: \"\",\n searchType: \"query\",\n classId5List: String(itemCategoryUid),\n });\n return response.data;\n },\n ...CACHE_CONFIG.STATIC,\n});\n","import { CACHE_CONFIG, type TProductItem } from \"@simpleapps-com/augur-utils\";\nimport type { AugurApiClient } from \"../provider\";\nimport type { PageData } from \"../types\";\n\ntype ProductSearchResponse = {\n items: TProductItem[];\n totalResults: number;\n};\n\n/**\n * Generates a consistent query key for product search queries.\n */\nexport const getProductSearchKey = (pageData: PageData) => {\n return [\n \"productSearch\",\n pageData.q,\n pageData.limit,\n pageData.offset,\n pageData.sortBy,\n pageData.itemCategoryUid,\n ] as const;\n};\n\n/**\n * Query options for product search. Accepts the SDK instance so it works\n * in both client (via provider) and server (via direct construction).\n */\nexport const getProductSearchOptions = (\n api: AugurApiClient,\n pageData: PageData,\n) => ({\n queryKey: getProductSearchKey(pageData),\n queryFn: async (): Promise<ProductSearchResponse> => {\n const response = await api.openSearch.itemSearch.list({\n q: pageData.q,\n searchType: \"query\",\n size: pageData.limit,\n from: pageData.offset,\n classId5List: pageData.itemCategoryUid\n ? String(pageData.itemCategoryUid)\n : undefined,\n filters: pageData.filters\n ? JSON.stringify(pageData.filters)\n : undefined,\n });\n return response.data;\n },\n ...CACHE_CONFIG.SEMI_STATIC,\n});\n","import { CACHE_CONFIG } from \"@simpleapps-com/augur-utils\";\nimport type { AugurApiClient } from \"../provider\";\nimport type { SearchSuggestionsResponse } from \"../types\";\n\nexport const SEARCH_SUGGESTIONS_CACHE_OPTIONS = CACHE_CONFIG.STATIC;\n\n/**\n * Generates a consistent query key for search suggestion queries.\n */\nexport const getSearchSuggestionsKey = (\n query: string,\n limit: number,\n offset: number,\n) => {\n return [\"searchSuggestions\", query, limit, offset] as const;\n};\n\n/**\n * Query options for search suggestions. Accepts the SDK instance so it works\n * in both client (via provider) and server (via direct construction).\n */\nexport const getSearchSuggestionsOptions = (\n api: AugurApiClient,\n query: string,\n limit: number = 10,\n offset: number = 0,\n) => ({\n queryKey: getSearchSuggestionsKey(query, limit, offset),\n queryFn: async (): Promise<SearchSuggestionsResponse> => {\n const response = await api.openSearch.suggestions.suggest.list({\n q: query,\n size: limit,\n from: offset,\n });\n return response.data;\n },\n ...SEARCH_SUGGESTIONS_CACHE_OPTIONS,\n});\n","import type { AugurApiClient } from \"../provider\";\nimport { getItemPriceOptions } from \"./item-price\";\n\n/**\n * Get cart pricing query options for prefetching or parent components.\n */\nexport function getCartPricingQueryOptions(\n api: AugurApiClient,\n cartLines: Array<{ itemId: string; quantity: number }>,\n customerId: string | number | undefined,\n) {\n return cartLines.map((line) => ({\n ...getItemPriceOptions(api, line.itemId, customerId, line.quantity),\n enabled: !!customerId && !!line.itemId,\n }));\n}\n","/**\n * JSON.stringify with sorted object keys for deterministic cache keys.\n * Ensures { a: 1, b: 2 } and { b: 2, a: 1 } produce the same string.\n */\nexport function stableStringify(value: unknown): string {\n if (value === null || value === undefined) return JSON.stringify(value);\n if (typeof value !== \"object\") return JSON.stringify(value);\n if (Array.isArray(value)) {\n return `[${value.map(stableStringify).join(\",\")}]`;\n }\n const obj = value as Record<string, unknown>;\n const keys = Object.keys(obj).sort();\n const entries = keys.map(\n (key) => `${JSON.stringify(key)}:${stableStringify(obj[key])}`,\n );\n return `{${entries.join(\",\")}}`;\n}\n","import {\n CACHE_CONFIG,\n type TItemsFilters,\n type TProductItem,\n} from \"@simpleapps-com/augur-utils\";\nimport type { AugurApiClient } from \"../provider\";\nimport type { InfiniteScrollPage } from \"../callbacks\";\nimport { stableStringify } from \"./stable-stringify\";\n\nexport const getCategoryItemsInfiniteKey = (\n itemCategoryUid: number,\n itemsFilters: TItemsFilters,\n) => {\n return [\n \"categoryItemsInfinite\",\n itemCategoryUid,\n stableStringify(itemsFilters),\n ] as const;\n};\n\n/**\n * Full infinite query options for category items.\n * Usable for server-side prefetch with `queryClient.prefetchInfiniteQuery()`.\n */\nexport const getCategoryItemsInfiniteOptions = (\n api: AugurApiClient,\n itemCategoryUid: number,\n itemsFilters: TItemsFilters,\n) => ({\n queryKey: getCategoryItemsInfiniteKey(itemCategoryUid, itemsFilters),\n queryFn: async ({\n pageParam = 0,\n }: {\n pageParam?: unknown;\n }): Promise<InfiniteScrollPage> => {\n const response = await api.openSearch.itemSearch.list({\n q: itemsFilters.q || \"\",\n searchType: \"query\",\n size: itemsFilters.limit,\n from: pageParam as number,\n classId5List: String(itemCategoryUid),\n filters: itemsFilters.filters?.length\n ? JSON.stringify(itemsFilters.filters)\n : undefined,\n });\n const items: TProductItem[] = response.data?.items ?? [];\n const total: number = response.data?.totalResults ?? 0;\n const nextOffset = (pageParam as number) + itemsFilters.limit;\n return {\n data: items,\n total,\n nextCursor: nextOffset < total ? nextOffset : undefined,\n };\n },\n initialPageParam: 0,\n getNextPageParam: (lastPage: InfiniteScrollPage) => lastPage.nextCursor,\n ...CACHE_CONFIG.SEMI_STATIC,\n});\n","import {\n CACHE_CONFIG,\n type TItemsFilters,\n type TProductItem,\n} from \"@simpleapps-com/augur-utils\";\nimport type { AugurApiClient } from \"../provider\";\nimport type { InfiniteScrollPage } from \"../callbacks\";\nimport { stableStringify } from \"./stable-stringify\";\n\nexport const getItemSearchInfiniteKey = (\n itemsFilters: TItemsFilters,\n itemCategoryUid?: number | string,\n) => {\n return [\n \"itemSearchInfinite\",\n stableStringify(itemsFilters),\n itemCategoryUid,\n ] as const;\n};\n\n/**\n * Full infinite query options for item search.\n * Usable for server-side prefetch with `queryClient.prefetchInfiniteQuery()`.\n */\nexport const getItemSearchInfiniteOptions = (\n api: AugurApiClient,\n itemsFilters: TItemsFilters,\n itemCategoryUid?: number | string,\n) => ({\n queryKey: getItemSearchInfiniteKey(itemsFilters, itemCategoryUid),\n queryFn: async ({\n pageParam = 0,\n }: {\n pageParam?: unknown;\n }): Promise<InfiniteScrollPage> => {\n const response = await api.openSearch.itemSearch.list({\n q: itemsFilters.q,\n searchType: \"query\",\n size: itemsFilters.limit,\n from: pageParam as number,\n classId5List: itemCategoryUid ? String(itemCategoryUid) : undefined,\n filters: itemsFilters.filters?.length\n ? JSON.stringify(itemsFilters.filters)\n : undefined,\n });\n const items: TProductItem[] = response.data?.items ?? [];\n const total: number = response.data?.totalResults ?? 0;\n const nextOffset = (pageParam as number) + itemsFilters.limit;\n return {\n data: items,\n total,\n nextCursor: nextOffset < total ? nextOffset : undefined,\n };\n },\n initialPageParam: 0,\n getNextPageParam: (lastPage: InfiniteScrollPage) => lastPage.nextCursor,\n ...CACHE_CONFIG.SEMI_STATIC,\n meta: { persist: true },\n});\n","import { CACHE_CONFIG, type TJoomlaContent } from \"@simpleapps-com/augur-utils\";\nimport type { AugurApiClient } from \"../provider\";\n\nexport const JOOMLA_CONTENT_CACHE_OPTIONS = CACHE_CONFIG.STATIC;\n\nexport const getJoomlaContentKey = (articleId: number | string) => {\n return [\"joomlaContent\", articleId] as const;\n};\n\nexport const getJoomlaContentOptions = (\n api: AugurApiClient,\n articleId: number | string,\n) => ({\n queryKey: getJoomlaContentKey(articleId),\n queryFn: async (): Promise<TJoomlaContent> => {\n const response = await api.joomla.content.doc.get(articleId);\n if (!response.data) throw new Error(\"Article not found\");\n return response.data;\n },\n ...JOOMLA_CONTENT_CACHE_OPTIONS,\n});\n","import {\n CACHE_CONFIG,\n type TJoomlaContent,\n type TJoomlaContentFilters,\n} from \"@simpleapps-com/augur-utils\";\nimport type { AugurApiClient } from \"../provider\";\n\nexport const JOOMLA_CONTENT_LIST_CACHE_OPTIONS = CACHE_CONFIG.SEMI_STATIC;\n\nexport const getJoomlaContentListKey = (\n categoryId: number | string,\n filters?: Partial<TJoomlaContentFilters>,\n) => {\n return [\"joomlaContentList\", categoryId, filters] as const;\n};\n\nexport const getJoomlaContentListOptions = (\n api: AugurApiClient,\n categoryId: number | string,\n filters?: Partial<TJoomlaContentFilters>,\n) => ({\n queryKey: getJoomlaContentListKey(categoryId, filters),\n queryFn: async (): Promise<TJoomlaContent[]> => {\n const response = await api.joomla.content.list({\n catid: categoryId,\n ...filters,\n });\n return response.data ?? [];\n },\n ...JOOMLA_CONTENT_LIST_CACHE_OPTIONS,\n});\n"]}
|
|
@@ -37,6 +37,7 @@ var getInvMastDocOptions = (api, invMastUid, itemId, includePricing) => ({
|
|
|
37
37
|
queryKey: getInvMastDocKey(invMastUid, itemId, includePricing),
|
|
38
38
|
queryFn: async () => {
|
|
39
39
|
const response = await api.items.invMast.doc.list(invMastUid, {
|
|
40
|
+
itemId: itemId.toUpperCase(),
|
|
40
41
|
includePricing
|
|
41
42
|
});
|
|
42
43
|
if (!response.data) throw new Error("Item not found");
|
|
@@ -117,7 +118,8 @@ var getProductCategoryOptions = (api, itemCategoryUid) => ({
|
|
|
117
118
|
// src/queries/item-details.ts
|
|
118
119
|
import { CACHE_CONFIG as CACHE_CONFIG7 } from "@simpleapps-com/augur-utils";
|
|
119
120
|
var getItemDetailsKey = (itemId) => {
|
|
120
|
-
|
|
121
|
+
const normalizedId = typeof itemId === "string" ? itemId.toUpperCase() : itemId;
|
|
122
|
+
return ["itemDetails", normalizedId];
|
|
121
123
|
};
|
|
122
124
|
var getItemDetailsOptions = (api, itemId) => ({
|
|
123
125
|
queryKey: getItemDetailsKey(itemId),
|
|
@@ -185,7 +187,9 @@ var getSearchSuggestionsOptions = (api, query, limit = 10, offset = 0) => ({
|
|
|
185
187
|
queryKey: getSearchSuggestionsKey(query, limit, offset),
|
|
186
188
|
queryFn: async () => {
|
|
187
189
|
const response = await api.openSearch.suggestions.suggest.list({
|
|
188
|
-
q: query
|
|
190
|
+
q: query,
|
|
191
|
+
size: limit,
|
|
192
|
+
from: offset
|
|
189
193
|
});
|
|
190
194
|
return response.data;
|
|
191
195
|
},
|
|
@@ -200,6 +204,21 @@ function getCartPricingQueryOptions(api, cartLines, customerId) {
|
|
|
200
204
|
}));
|
|
201
205
|
}
|
|
202
206
|
|
|
207
|
+
// src/queries/stable-stringify.ts
|
|
208
|
+
function stableStringify(value) {
|
|
209
|
+
if (value === null || value === void 0) return JSON.stringify(value);
|
|
210
|
+
if (typeof value !== "object") return JSON.stringify(value);
|
|
211
|
+
if (Array.isArray(value)) {
|
|
212
|
+
return `[${value.map(stableStringify).join(",")}]`;
|
|
213
|
+
}
|
|
214
|
+
const obj = value;
|
|
215
|
+
const keys = Object.keys(obj).sort();
|
|
216
|
+
const entries = keys.map(
|
|
217
|
+
(key) => `${JSON.stringify(key)}:${stableStringify(obj[key])}`
|
|
218
|
+
);
|
|
219
|
+
return `{${entries.join(",")}}`;
|
|
220
|
+
}
|
|
221
|
+
|
|
203
222
|
// src/queries/category-items-infinite.ts
|
|
204
223
|
import {
|
|
205
224
|
CACHE_CONFIG as CACHE_CONFIG11
|
|
@@ -208,7 +227,7 @@ var getCategoryItemsInfiniteKey = (itemCategoryUid, itemsFilters) => {
|
|
|
208
227
|
return [
|
|
209
228
|
"categoryItemsInfinite",
|
|
210
229
|
itemCategoryUid,
|
|
211
|
-
|
|
230
|
+
stableStringify(itemsFilters)
|
|
212
231
|
];
|
|
213
232
|
};
|
|
214
233
|
var getCategoryItemsInfiniteOptions = (api, itemCategoryUid, itemsFilters) => ({
|
|
@@ -245,7 +264,7 @@ import {
|
|
|
245
264
|
var getItemSearchInfiniteKey = (itemsFilters, itemCategoryUid) => {
|
|
246
265
|
return [
|
|
247
266
|
"itemSearchInfinite",
|
|
248
|
-
|
|
267
|
+
stableStringify(itemsFilters),
|
|
249
268
|
itemCategoryUid
|
|
250
269
|
];
|
|
251
270
|
};
|
|
@@ -277,6 +296,42 @@ var getItemSearchInfiniteOptions = (api, itemsFilters, itemCategoryUid) => ({
|
|
|
277
296
|
meta: { persist: true }
|
|
278
297
|
});
|
|
279
298
|
|
|
299
|
+
// src/queries/joomla-content.ts
|
|
300
|
+
import { CACHE_CONFIG as CACHE_CONFIG13 } from "@simpleapps-com/augur-utils";
|
|
301
|
+
var JOOMLA_CONTENT_CACHE_OPTIONS = CACHE_CONFIG13.STATIC;
|
|
302
|
+
var getJoomlaContentKey = (articleId) => {
|
|
303
|
+
return ["joomlaContent", articleId];
|
|
304
|
+
};
|
|
305
|
+
var getJoomlaContentOptions = (api, articleId) => ({
|
|
306
|
+
queryKey: getJoomlaContentKey(articleId),
|
|
307
|
+
queryFn: async () => {
|
|
308
|
+
const response = await api.joomla.content.doc.get(articleId);
|
|
309
|
+
if (!response.data) throw new Error("Article not found");
|
|
310
|
+
return response.data;
|
|
311
|
+
},
|
|
312
|
+
...JOOMLA_CONTENT_CACHE_OPTIONS
|
|
313
|
+
});
|
|
314
|
+
|
|
315
|
+
// src/queries/joomla-content-list.ts
|
|
316
|
+
import {
|
|
317
|
+
CACHE_CONFIG as CACHE_CONFIG14
|
|
318
|
+
} from "@simpleapps-com/augur-utils";
|
|
319
|
+
var JOOMLA_CONTENT_LIST_CACHE_OPTIONS = CACHE_CONFIG14.SEMI_STATIC;
|
|
320
|
+
var getJoomlaContentListKey = (categoryId, filters) => {
|
|
321
|
+
return ["joomlaContentList", categoryId, filters];
|
|
322
|
+
};
|
|
323
|
+
var getJoomlaContentListOptions = (api, categoryId, filters) => ({
|
|
324
|
+
queryKey: getJoomlaContentListKey(categoryId, filters),
|
|
325
|
+
queryFn: async () => {
|
|
326
|
+
const response = await api.joomla.content.list({
|
|
327
|
+
catid: categoryId,
|
|
328
|
+
...filters
|
|
329
|
+
});
|
|
330
|
+
return response.data ?? [];
|
|
331
|
+
},
|
|
332
|
+
...JOOMLA_CONTENT_LIST_CACHE_OPTIONS
|
|
333
|
+
});
|
|
334
|
+
|
|
280
335
|
export {
|
|
281
336
|
PRICE_CACHE_OPTIONS,
|
|
282
337
|
getItemPriceKey,
|
|
@@ -304,9 +359,16 @@ export {
|
|
|
304
359
|
getSearchSuggestionsKey,
|
|
305
360
|
getSearchSuggestionsOptions,
|
|
306
361
|
getCartPricingQueryOptions,
|
|
362
|
+
stableStringify,
|
|
307
363
|
getCategoryItemsInfiniteKey,
|
|
308
364
|
getCategoryItemsInfiniteOptions,
|
|
309
365
|
getItemSearchInfiniteKey,
|
|
310
|
-
getItemSearchInfiniteOptions
|
|
366
|
+
getItemSearchInfiniteOptions,
|
|
367
|
+
JOOMLA_CONTENT_CACHE_OPTIONS,
|
|
368
|
+
getJoomlaContentKey,
|
|
369
|
+
getJoomlaContentOptions,
|
|
370
|
+
JOOMLA_CONTENT_LIST_CACHE_OPTIONS,
|
|
371
|
+
getJoomlaContentListKey,
|
|
372
|
+
getJoomlaContentListOptions
|
|
311
373
|
};
|
|
312
|
-
//# sourceMappingURL=chunk-
|
|
374
|
+
//# sourceMappingURL=chunk-TUNAYTS6.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/queries/item-price.ts","../src/queries/inv-mast-doc.ts","../src/queries/item-category.ts","../src/queries/inv-mast.ts","../src/queries/inv-mast-stock.ts","../src/queries/product-category.ts","../src/queries/item-details.ts","../src/queries/item-attributes.ts","../src/queries/product-search.ts","../src/queries/search-suggestions.ts","../src/queries/cart-pricing.ts","../src/queries/stable-stringify.ts","../src/queries/category-items-infinite.ts","../src/queries/item-search-infinite.ts","../src/queries/joomla-content.ts","../src/queries/joomla-content-list.ts"],"sourcesContent":["import { CACHE_CONFIG, type TPriceData } from \"@simpleapps-com/augur-utils\";\nimport type { AugurApiClient } from \"../provider\";\n\nexport const PRICE_CACHE_OPTIONS = {\n ...CACHE_CONFIG.SEMI_STATIC,\n refetchOnReconnect: true,\n refetchOnWindowFocus: false,\n meta: { persist: true },\n} as const;\n\n/**\n * Generates a consistent query key for item price queries.\n * Usable in both client hooks and server-side prefetch.\n */\nexport const getItemPriceKey = (\n itemId: string | undefined,\n customerId: string | number | undefined,\n quantity: number = 1,\n) => {\n return [\"price\", itemId?.toUpperCase() || \"\", customerId, quantity] as const;\n};\n\n/**\n * Query options for item price. Accepts the SDK instance so it works\n * in both client (via provider) and server (via direct construction).\n */\nexport const getItemPriceOptions = (\n api: AugurApiClient,\n itemId: string | undefined,\n customerId: string | number | undefined,\n quantity: number = 1,\n) => ({\n queryKey: getItemPriceKey(itemId, customerId, quantity),\n queryFn: async (): Promise<TPriceData> => {\n const response = await api.pricing.priceEngine.get({\n itemId: itemId?.toUpperCase() || \"\",\n customerId: Number(customerId),\n quantity,\n });\n return response.data;\n },\n ...PRICE_CACHE_OPTIONS,\n});\n","import { CACHE_CONFIG, type TInvMastDoc } from \"@simpleapps-com/augur-utils\";\nimport type { AugurApiClient } from \"../provider\";\n\nexport const INV_MAST_DOC_CACHE_OPTIONS = CACHE_CONFIG.STATIC;\n\n/**\n * Generates a consistent query key for inv mast doc queries.\n * Usable in both client hooks and server-side prefetch.\n */\nexport const getInvMastDocKey = (\n invMastUid: number,\n itemId: string,\n includePricing: \"Y\" | \"N\",\n) => {\n return [\n \"invMastDoc\",\n invMastUid,\n itemId.toUpperCase(),\n includePricing,\n ] as const;\n};\n\n/**\n * Query options for inv mast doc. Accepts the SDK instance so it works\n * in both client (via provider) and server (via direct construction).\n */\nexport const getInvMastDocOptions = (\n api: AugurApiClient,\n invMastUid: number,\n itemId: string,\n includePricing: \"Y\" | \"N\",\n) => ({\n queryKey: getInvMastDocKey(invMastUid, itemId, includePricing),\n queryFn: async (): Promise<TInvMastDoc> => {\n const response = await api.items.invMast.doc.list(invMastUid, {\n itemId: itemId.toUpperCase(),\n includePricing,\n });\n if (!response.data) throw new Error(\"Item not found\");\n return response.data;\n },\n ...INV_MAST_DOC_CACHE_OPTIONS,\n});\n","import { CACHE_CONFIG, type TCategory } from \"@simpleapps-com/augur-utils\";\nimport type { AugurApiClient } from \"../provider\";\nimport type { GetItemCategoryApiOptions } from \"../types\";\n\nexport const CATEGORY_CACHE_OPTIONS = CACHE_CONFIG.STATIC;\n\ntype ItemCategoryQueryKey = readonly [\n \"itemCategory\",\n number,\n GetItemCategoryApiOptions | undefined,\n];\n\n/**\n * Generates a consistent query key for item category queries.\n * Usable in both client hooks and server-side prefetch.\n */\nexport const getItemCategoryKey = (\n itemCategoryUid: number,\n apiOptions?: GetItemCategoryApiOptions,\n): ItemCategoryQueryKey => {\n return [\"itemCategory\", itemCategoryUid, apiOptions] as const;\n};\n\n/**\n * Query options for item category. Accepts the SDK instance so it works\n * in both client (via provider) and server (via direct construction).\n */\nexport const getItemCategoryOptions = (\n api: AugurApiClient,\n itemCategoryUid: number,\n apiOptions?: GetItemCategoryApiOptions,\n) => ({\n queryKey: getItemCategoryKey(itemCategoryUid, apiOptions),\n queryFn: async (): Promise<TCategory> => {\n const response = await api.items.itemCategory.get(\n itemCategoryUid,\n apiOptions,\n );\n if (!response.data) throw new Error(\"Item category not found\");\n return response.data;\n },\n ...CATEGORY_CACHE_OPTIONS,\n});\n","import { CACHE_CONFIG, type TItemDetails } from \"@simpleapps-com/augur-utils\";\nimport type { AugurApiClient } from \"../provider\";\n\nexport const INV_MAST_CACHE_OPTIONS = CACHE_CONFIG.STATIC;\n\nexport const getInvMastKey = (invMastUid: number, itemId: string) => {\n return [\"invMast\", invMastUid, itemId.toUpperCase()] as const;\n};\n\nexport const getInvMastOptions = (\n api: AugurApiClient,\n invMastUid: number,\n itemId: string,\n) => ({\n queryKey: getInvMastKey(invMastUid, itemId),\n queryFn: async (): Promise<TItemDetails> => {\n const response = await api.items.invMast.get(invMastUid);\n if (!response.data) throw new Error(\"Item not found\");\n return response.data;\n },\n ...INV_MAST_CACHE_OPTIONS,\n});\n","import { CACHE_CONFIG, type TStockData } from \"@simpleapps-com/augur-utils\";\nimport type { AugurApiClient } from \"../provider\";\n\nexport const getInvMastStockKey = (invMastUid: number | string) => {\n return [\"invMastStock\", invMastUid] as const;\n};\n\nexport const getInvMastStockOptions = (\n api: AugurApiClient,\n invMastUid: number | string,\n) => ({\n queryKey: getInvMastStockKey(invMastUid),\n queryFn: async (): Promise<number> => {\n const response = await api.items.invMast.stock.list(Number(invMastUid));\n const stockData: TStockData[] = response.data?.stockData ?? [];\n return stockData.reduce(\n (qty: number, stock: TStockData) => qty + stock.qtyOnHand,\n 0,\n );\n },\n ...CACHE_CONFIG.SEMI_STATIC,\n});\n","import { CACHE_CONFIG, type TProductCategory } from \"@simpleapps-com/augur-utils\";\nimport type { AugurApiClient } from \"../provider\";\n\ntype ProductCategoryResponse = {\n itemCategoryDesc: string;\n childrenTotal: number;\n children: TProductCategory[];\n categoryImage: string | null;\n};\n\nexport const getProductCategoryKey = (\n itemCategoryUid: number | string | null,\n) => {\n return [\"productCategory\", itemCategoryUid] as const;\n};\n\nexport const getProductCategoryOptions = (\n api: AugurApiClient,\n itemCategoryUid: number | string,\n) => ({\n queryKey: getProductCategoryKey(itemCategoryUid),\n queryFn: async (): Promise<ProductCategoryResponse> => {\n const response = await api.items.itemCategory.get(\n Number(itemCategoryUid),\n );\n return response.data;\n },\n ...CACHE_CONFIG.STATIC,\n});\n","import { CACHE_CONFIG, type TItemDetails } from \"@simpleapps-com/augur-utils\";\nimport type { AugurApiClient } from \"../provider\";\n\nexport const getItemDetailsKey = (itemId: number | string) => {\n const normalizedId = typeof itemId === \"string\" ? itemId.toUpperCase() : itemId;\n return [\"itemDetails\", normalizedId] as const;\n};\n\nexport const getItemDetailsOptions = (\n api: AugurApiClient,\n itemId: number | string,\n) => ({\n queryKey: getItemDetailsKey(itemId),\n queryFn: async (): Promise<TItemDetails> => {\n const response = await api.items.invMast.doc.list(Number(itemId));\n if (!response.data) throw new Error(\"Item not found\");\n return response.data;\n },\n ...CACHE_CONFIG.STATIC,\n});\n","import { CACHE_CONFIG } from \"@simpleapps-com/augur-utils\";\nimport type { AugurApiClient } from \"../provider\";\n\nexport const getItemAttributesKey = (\n itemCategoryUid: number | string | null,\n) => {\n return [\"itemAttributes\", itemCategoryUid] as const;\n};\n\nexport const getItemAttributesOptions = (\n api: AugurApiClient,\n itemCategoryUid: number | string,\n) => ({\n queryKey: getItemAttributesKey(itemCategoryUid),\n queryFn: async () => {\n const response = await api.openSearch.itemSearch.attributes.list({\n q: \"\",\n searchType: \"query\",\n classId5List: String(itemCategoryUid),\n });\n return response.data;\n },\n ...CACHE_CONFIG.STATIC,\n});\n","import { CACHE_CONFIG, type TProductItem } from \"@simpleapps-com/augur-utils\";\nimport type { AugurApiClient } from \"../provider\";\nimport type { PageData } from \"../types\";\n\ntype ProductSearchResponse = {\n items: TProductItem[];\n totalResults: number;\n};\n\n/**\n * Generates a consistent query key for product search queries.\n */\nexport const getProductSearchKey = (pageData: PageData) => {\n return [\n \"productSearch\",\n pageData.q,\n pageData.limit,\n pageData.offset,\n pageData.sortBy,\n pageData.itemCategoryUid,\n ] as const;\n};\n\n/**\n * Query options for product search. Accepts the SDK instance so it works\n * in both client (via provider) and server (via direct construction).\n */\nexport const getProductSearchOptions = (\n api: AugurApiClient,\n pageData: PageData,\n) => ({\n queryKey: getProductSearchKey(pageData),\n queryFn: async (): Promise<ProductSearchResponse> => {\n const response = await api.openSearch.itemSearch.list({\n q: pageData.q,\n searchType: \"query\",\n size: pageData.limit,\n from: pageData.offset,\n classId5List: pageData.itemCategoryUid\n ? String(pageData.itemCategoryUid)\n : undefined,\n filters: pageData.filters\n ? JSON.stringify(pageData.filters)\n : undefined,\n });\n return response.data;\n },\n ...CACHE_CONFIG.SEMI_STATIC,\n});\n","import { CACHE_CONFIG } from \"@simpleapps-com/augur-utils\";\nimport type { AugurApiClient } from \"../provider\";\nimport type { SearchSuggestionsResponse } from \"../types\";\n\nexport const SEARCH_SUGGESTIONS_CACHE_OPTIONS = CACHE_CONFIG.STATIC;\n\n/**\n * Generates a consistent query key for search suggestion queries.\n */\nexport const getSearchSuggestionsKey = (\n query: string,\n limit: number,\n offset: number,\n) => {\n return [\"searchSuggestions\", query, limit, offset] as const;\n};\n\n/**\n * Query options for search suggestions. Accepts the SDK instance so it works\n * in both client (via provider) and server (via direct construction).\n */\nexport const getSearchSuggestionsOptions = (\n api: AugurApiClient,\n query: string,\n limit: number = 10,\n offset: number = 0,\n) => ({\n queryKey: getSearchSuggestionsKey(query, limit, offset),\n queryFn: async (): Promise<SearchSuggestionsResponse> => {\n const response = await api.openSearch.suggestions.suggest.list({\n q: query,\n size: limit,\n from: offset,\n });\n return response.data;\n },\n ...SEARCH_SUGGESTIONS_CACHE_OPTIONS,\n});\n","import type { AugurApiClient } from \"../provider\";\nimport { getItemPriceOptions } from \"./item-price\";\n\n/**\n * Get cart pricing query options for prefetching or parent components.\n */\nexport function getCartPricingQueryOptions(\n api: AugurApiClient,\n cartLines: Array<{ itemId: string; quantity: number }>,\n customerId: string | number | undefined,\n) {\n return cartLines.map((line) => ({\n ...getItemPriceOptions(api, line.itemId, customerId, line.quantity),\n enabled: !!customerId && !!line.itemId,\n }));\n}\n","/**\n * JSON.stringify with sorted object keys for deterministic cache keys.\n * Ensures { a: 1, b: 2 } and { b: 2, a: 1 } produce the same string.\n */\nexport function stableStringify(value: unknown): string {\n if (value === null || value === undefined) return JSON.stringify(value);\n if (typeof value !== \"object\") return JSON.stringify(value);\n if (Array.isArray(value)) {\n return `[${value.map(stableStringify).join(\",\")}]`;\n }\n const obj = value as Record<string, unknown>;\n const keys = Object.keys(obj).sort();\n const entries = keys.map(\n (key) => `${JSON.stringify(key)}:${stableStringify(obj[key])}`,\n );\n return `{${entries.join(\",\")}}`;\n}\n","import {\n CACHE_CONFIG,\n type TItemsFilters,\n type TProductItem,\n} from \"@simpleapps-com/augur-utils\";\nimport type { AugurApiClient } from \"../provider\";\nimport type { InfiniteScrollPage } from \"../callbacks\";\nimport { stableStringify } from \"./stable-stringify\";\n\nexport const getCategoryItemsInfiniteKey = (\n itemCategoryUid: number,\n itemsFilters: TItemsFilters,\n) => {\n return [\n \"categoryItemsInfinite\",\n itemCategoryUid,\n stableStringify(itemsFilters),\n ] as const;\n};\n\n/**\n * Full infinite query options for category items.\n * Usable for server-side prefetch with `queryClient.prefetchInfiniteQuery()`.\n */\nexport const getCategoryItemsInfiniteOptions = (\n api: AugurApiClient,\n itemCategoryUid: number,\n itemsFilters: TItemsFilters,\n) => ({\n queryKey: getCategoryItemsInfiniteKey(itemCategoryUid, itemsFilters),\n queryFn: async ({\n pageParam = 0,\n }: {\n pageParam?: unknown;\n }): Promise<InfiniteScrollPage> => {\n const response = await api.openSearch.itemSearch.list({\n q: itemsFilters.q || \"\",\n searchType: \"query\",\n size: itemsFilters.limit,\n from: pageParam as number,\n classId5List: String(itemCategoryUid),\n filters: itemsFilters.filters?.length\n ? JSON.stringify(itemsFilters.filters)\n : undefined,\n });\n const items: TProductItem[] = response.data?.items ?? [];\n const total: number = response.data?.totalResults ?? 0;\n const nextOffset = (pageParam as number) + itemsFilters.limit;\n return {\n data: items,\n total,\n nextCursor: nextOffset < total ? nextOffset : undefined,\n };\n },\n initialPageParam: 0,\n getNextPageParam: (lastPage: InfiniteScrollPage) => lastPage.nextCursor,\n ...CACHE_CONFIG.SEMI_STATIC,\n});\n","import {\n CACHE_CONFIG,\n type TItemsFilters,\n type TProductItem,\n} from \"@simpleapps-com/augur-utils\";\nimport type { AugurApiClient } from \"../provider\";\nimport type { InfiniteScrollPage } from \"../callbacks\";\nimport { stableStringify } from \"./stable-stringify\";\n\nexport const getItemSearchInfiniteKey = (\n itemsFilters: TItemsFilters,\n itemCategoryUid?: number | string,\n) => {\n return [\n \"itemSearchInfinite\",\n stableStringify(itemsFilters),\n itemCategoryUid,\n ] as const;\n};\n\n/**\n * Full infinite query options for item search.\n * Usable for server-side prefetch with `queryClient.prefetchInfiniteQuery()`.\n */\nexport const getItemSearchInfiniteOptions = (\n api: AugurApiClient,\n itemsFilters: TItemsFilters,\n itemCategoryUid?: number | string,\n) => ({\n queryKey: getItemSearchInfiniteKey(itemsFilters, itemCategoryUid),\n queryFn: async ({\n pageParam = 0,\n }: {\n pageParam?: unknown;\n }): Promise<InfiniteScrollPage> => {\n const response = await api.openSearch.itemSearch.list({\n q: itemsFilters.q,\n searchType: \"query\",\n size: itemsFilters.limit,\n from: pageParam as number,\n classId5List: itemCategoryUid ? String(itemCategoryUid) : undefined,\n filters: itemsFilters.filters?.length\n ? JSON.stringify(itemsFilters.filters)\n : undefined,\n });\n const items: TProductItem[] = response.data?.items ?? [];\n const total: number = response.data?.totalResults ?? 0;\n const nextOffset = (pageParam as number) + itemsFilters.limit;\n return {\n data: items,\n total,\n nextCursor: nextOffset < total ? nextOffset : undefined,\n };\n },\n initialPageParam: 0,\n getNextPageParam: (lastPage: InfiniteScrollPage) => lastPage.nextCursor,\n ...CACHE_CONFIG.SEMI_STATIC,\n meta: { persist: true },\n});\n","import { CACHE_CONFIG, type TJoomlaContent } from \"@simpleapps-com/augur-utils\";\nimport type { AugurApiClient } from \"../provider\";\n\nexport const JOOMLA_CONTENT_CACHE_OPTIONS = CACHE_CONFIG.STATIC;\n\nexport const getJoomlaContentKey = (articleId: number | string) => {\n return [\"joomlaContent\", articleId] as const;\n};\n\nexport const getJoomlaContentOptions = (\n api: AugurApiClient,\n articleId: number | string,\n) => ({\n queryKey: getJoomlaContentKey(articleId),\n queryFn: async (): Promise<TJoomlaContent> => {\n const response = await api.joomla.content.doc.get(articleId);\n if (!response.data) throw new Error(\"Article not found\");\n return response.data;\n },\n ...JOOMLA_CONTENT_CACHE_OPTIONS,\n});\n","import {\n CACHE_CONFIG,\n type TJoomlaContent,\n type TJoomlaContentFilters,\n} from \"@simpleapps-com/augur-utils\";\nimport type { AugurApiClient } from \"../provider\";\n\nexport const JOOMLA_CONTENT_LIST_CACHE_OPTIONS = CACHE_CONFIG.SEMI_STATIC;\n\nexport const getJoomlaContentListKey = (\n categoryId: number | string,\n filters?: Partial<TJoomlaContentFilters>,\n) => {\n return [\"joomlaContentList\", categoryId, filters] as const;\n};\n\nexport const getJoomlaContentListOptions = (\n api: AugurApiClient,\n categoryId: number | string,\n filters?: Partial<TJoomlaContentFilters>,\n) => ({\n queryKey: getJoomlaContentListKey(categoryId, filters),\n queryFn: async (): Promise<TJoomlaContent[]> => {\n const response = await api.joomla.content.list({\n catid: categoryId,\n ...filters,\n });\n return response.data ?? [];\n },\n ...JOOMLA_CONTENT_LIST_CACHE_OPTIONS,\n});\n"],"mappings":"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","names":["CACHE_CONFIG","CACHE_CONFIG","CACHE_CONFIG","CACHE_CONFIG","CACHE_CONFIG","CACHE_CONFIG","CACHE_CONFIG","CACHE_CONFIG","CACHE_CONFIG","CACHE_CONFIG","CACHE_CONFIG","CACHE_CONFIG","CACHE_CONFIG","CACHE_CONFIG","CACHE_CONFIG"]}
|