@askdialog/dialog-sdk 2.17.0 → 2.18.1
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/README.md
CHANGED
|
@@ -287,7 +287,11 @@ const response: SearchResponse = await client.search({
|
|
|
287
287
|
// url?, image?, variants_min_price?, price?, compare_at_price?, ... }
|
|
288
288
|
// Collection hits are `SearchCollectionHit`, Algolia's collection record:
|
|
289
289
|
// { objectID, title?, handle?, url?, body_html_safe?, image?, products_count?, ... }
|
|
290
|
-
// Article
|
|
290
|
+
// Article hits are `SearchArticleHit`, Algolia's article record:
|
|
291
|
+
// { objectID, title?, handle?, tags, blog?: { title?, handle? }, author?: { name },
|
|
292
|
+
// image?, published_at?, updated_at?, body_html_safe?, url? }
|
|
293
|
+
// Page hits are `SearchPageHit`, Algolia's page record:
|
|
294
|
+
// { objectID, title?, handle?, author?, updated_at?, body_html_safe?, url? }
|
|
291
295
|
```
|
|
292
296
|
|
|
293
297
|
With the IIFE bundle the results are plain runtime JSON (same shape, no types):
|
|
@@ -328,7 +332,7 @@ const controller = createSearchController({
|
|
|
328
332
|
},
|
|
329
333
|
navigate: (url) => router.push(url), // optional platform routing adapter
|
|
330
334
|
buildProductUrl: (hit) => `/products/${hit.handle}`, // optional, for hits without `url`
|
|
331
|
-
debounceMs:
|
|
335
|
+
debounceMs: 100, // optional (default 100)
|
|
332
336
|
hitsPerPage: 12, // optional (default 12)
|
|
333
337
|
sections: [{ index: 'collections', hitsPerPage: 5 }], // optional, first page only; a function is resolved per request
|
|
334
338
|
});
|
|
@@ -26,6 +26,7 @@ describe("public API types", () => {
|
|
|
26
26
|
expectTypeOf().toEqualTypeOf();
|
|
27
27
|
expectTypeOf().toEqualTypeOf();
|
|
28
28
|
expectTypeOf().toEqualTypeOf();
|
|
29
|
+
expectTypeOf().toEqualTypeOf();
|
|
29
30
|
const error = new DialogSearchError({ status: 404, message: "not found" });
|
|
30
31
|
expectTypeOf(error.status).toEqualTypeOf();
|
|
31
32
|
expectTypeOf(error.code).toEqualTypeOf();
|
package/dist/searchController.js
CHANGED
|
@@ -2,7 +2,7 @@ import { searchIndexName } from "./services/search";
|
|
|
2
2
|
import { SearchStatus, } from "./types/searchController";
|
|
3
3
|
import { createControllerAnalytics } from "./utils/searchControllerAnalytics";
|
|
4
4
|
import { buildSearchRequest, INITIAL_SEARCH_STATE, normalizeQuery, readSearchResults, } from "./utils/searchRequests";
|
|
5
|
-
export function createSearchController({ search, language, country, analytics, navigate, buildProductUrl, debounceMs =
|
|
5
|
+
export function createSearchController({ search, language, country, analytics, navigate, buildProductUrl, debounceMs = 100, hitsPerPage = 12, sections = [], }) {
|
|
6
6
|
const requestConfig = {
|
|
7
7
|
indexName: searchIndexName("products", language, country),
|
|
8
8
|
language,
|
package/dist/types/search.d.ts
CHANGED
|
@@ -36,7 +36,38 @@ export interface SearchCollectionHit {
|
|
|
36
36
|
template_suffix?: string;
|
|
37
37
|
updated_at?: string;
|
|
38
38
|
}
|
|
39
|
-
/**
|
|
39
|
+
/** Algolia's article record, plus `url`. */
|
|
40
|
+
export interface SearchArticleHit {
|
|
41
|
+
/** Article id, the last segment of the Shopify GID. */
|
|
42
|
+
objectID: string;
|
|
43
|
+
title?: string;
|
|
44
|
+
handle?: string;
|
|
45
|
+
tags: string[];
|
|
46
|
+
blog?: {
|
|
47
|
+
title?: string;
|
|
48
|
+
handle?: string;
|
|
49
|
+
};
|
|
50
|
+
author?: {
|
|
51
|
+
name: string;
|
|
52
|
+
};
|
|
53
|
+
image?: string;
|
|
54
|
+
published_at?: string;
|
|
55
|
+
updated_at?: string;
|
|
56
|
+
body_html_safe?: string;
|
|
57
|
+
url?: string;
|
|
58
|
+
}
|
|
59
|
+
/** Algolia's page record, plus `url`. */
|
|
60
|
+
export interface SearchPageHit {
|
|
61
|
+
/** Page id, the last segment of the Shopify GID. */
|
|
62
|
+
objectID: string;
|
|
63
|
+
title?: string;
|
|
64
|
+
handle?: string;
|
|
65
|
+
author?: string;
|
|
66
|
+
updated_at?: string;
|
|
67
|
+
body_html_safe?: string;
|
|
68
|
+
url?: string;
|
|
69
|
+
}
|
|
70
|
+
/** @deprecated No index answers it: article hits are `SearchArticleHit`, page hits `SearchPageHit`. */
|
|
40
71
|
export interface SearchHit {
|
|
41
72
|
objectID: string;
|
|
42
73
|
title?: string;
|
|
@@ -92,8 +123,8 @@ export interface SearchProductHit {
|
|
|
92
123
|
export interface SearchHitByIndex {
|
|
93
124
|
products: SearchProductHit;
|
|
94
125
|
collections: SearchCollectionHit;
|
|
95
|
-
articles:
|
|
96
|
-
pages:
|
|
126
|
+
articles: SearchArticleHit;
|
|
127
|
+
pages: SearchPageHit;
|
|
97
128
|
}
|
|
98
129
|
export interface SearchResult<THit = SearchHitByIndex[SearchIndex]> {
|
|
99
130
|
index: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/types/search.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAC5D,eAAO,MAAM,cAAc,2DAKjB,CAAC;AAEX,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC;AAE1D,MAAM,WAAW,WAAW;IAC1B;;;;OAIG;IACH,SAAS,EAAE,MAAM,CAAC;IAClB,2DAA2D;IAC3D,KAAK,EAAE,MAAM,CAAC;IACd,0CAA0C;IAC1C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,mDAAmD;IACnD,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,WAAW,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,aAAa;IAC5B,+DAA+D;IAC/D,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED,+CAA+C;AAC/C,MAAM,WAAW,mBAAmB;IAClC,0DAA0D;IAC1D,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,
|
|
1
|
+
{"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/types/search.ts"],"names":[],"mappings":"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"}
|