UNPKG

1.73 kBJavaScriptView Raw
1import { __decorate } from "tslib";
2import { _SPInstance, spInvokableFactory } from "../spqueryable.js";
3import { hOP } from "@pnp/core";
4import { defaultPath } from "../decorators.js";
5let _Suggest = class _Suggest extends _SPInstance {
6 async run(query) {
7 this.mapQueryToQueryString(query);
8 const response = await this();
9 const mapper = hOP(response, "suggest") ? (s_1) => response.suggest[s_1].results : (s_2) => response[s_2];
10 return {
11 PeopleNames: mapper("PeopleNames"),
12 PersonalResults: mapper("PersonalResults"),
13 Queries: mapper("Queries"),
14 };
15 }
16 mapQueryToQueryString(query) {
17 const setProp = (q) => (checkProp) => (sp) => {
18 if (hOP(q, checkProp)) {
19 this.query.set(sp, q[checkProp].toString());
20 }
21 };
22 this.query.set("querytext", `'${query.querytext}'`);
23 const querySetter = setProp(query);
24 querySetter("count")("inumberofquerysuggestions");
25 querySetter("personalCount")("inumberofresultsuggestions");
26 querySetter("preQuery")("fprequerysuggestions");
27 querySetter("hitHighlighting")("fhithighlighting");
28 querySetter("capitalize")("fcapitalizefirstletters");
29 querySetter("culture")("culture");
30 querySetter("stemming")("enablestemming");
31 querySetter("includePeople")("showpeoplenamesuggestions");
32 querySetter("queryRules")("enablequeryrules");
33 querySetter("prefixMatch")("fprefixmatchallterms");
34 }
35};
36_Suggest = __decorate([
37 defaultPath("_api/search/suggest")
38], _Suggest);
39export { _Suggest };
40export const Suggest = spInvokableFactory(_Suggest);
41//# sourceMappingURL=suggest.js.map
\No newline at end of file