UNPKG

@klevu/core

Version:

Typescript SDK that simplifies development on Klevu backend. Klevu provides advanced AI-powered search and discovery solutions for online retailers.

34 lines (33 loc) 996 B
import { KlevuTypeOfRecord, KlevuTypeOfRequest, } from "../../models/index.js"; import { cleanSearchQuery } from "../../utils/index.js"; const defaults = { id: "search", limit: 5, typeOfRecords: [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 */ export function search(term, options, ...modifiers) { const params = Object.assign(Object.assign({}, defaults), options); const cleanedTerm = cleanSearchQuery(term); const query = { id: params.id, typeOfRequest: KlevuTypeOfRequest.Search, settings: Object.assign({ query: { term: cleanedTerm, } }, params), }; return { klevuFunctionId: "search", params: Object.assign(Object.assign({}, params), { term }), queries: [query], modifiers, }; }