@klevu/core
Version:
Typescript SDK that simplifies development on Klevu backend. Klevu provides advanced AI-powered search and discovery solutions for online retailers.
38 lines (37 loc) • 1.12 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.search = void 0;
const index_js_1 = require("../../models/index.js");
const index_js_2 = require("../../utils/index.js");
const defaults = {
id: "search",
limit: 5,
typeOfRecords: [index_js_1.KlevuTypeOfRecord.Product],
};
/**
* Create a basic search to Klevu backend. Default ID for this query is `search`
*
*
* @category Query
* @param term Search term from input
* @param options {@link KlevuSearchOptions}
* @returns
*/
function search(term, options, ...modifiers) {
const params = Object.assign(Object.assign({}, defaults), options);
const cleanedTerm = (0, index_js_2.cleanSearchQuery)(term);
const query = {
id: params.id,
typeOfRequest: index_js_1.KlevuTypeOfRequest.Search,
settings: Object.assign({ query: {
term: cleanedTerm,
} }, params),
};
return {
klevuFunctionId: "search",
params: Object.assign(Object.assign({}, params), { term }),
queries: [query],
modifiers,
};
}
exports.search = search;