@klevu/core
Version:
Typescript SDK that simplifies development on Klevu backend. Klevu provides advanced AI-powered search and discovery solutions for online retailers.
41 lines (40 loc) • 1.15 kB
JavaScript
import { KlevuEvents } from "../../events/index.js";
/**
* This modifier should be used in the case when user hits enter (or presses button) to see
* all results from search.
*
* @category Modifier
* @returns
*/
export function sendSearchEvent(override) {
return {
klevuModifierId: "sendSearchEvent",
ssrOnResultFE: true,
onResult: (res, f) => {
var _a;
if (!f.params) {
return res;
}
const { id, term } = f.params;
if (!id || !term) {
return res;
}
const meta = (_a = res.queriesById(id)) === null || _a === void 0 ? void 0 : _a.meta;
if (!meta) {
return res;
}
KlevuEvents.search({
term,
totalResults: meta.totalResultsFound,
typeOfSearch: meta.typeOfSearch,
override,
tags: meta.tags,
});
if (!f.params) {
f.params = {};
}
f.params.searchSendEventSent = true;
return res;
},
};
}