in src/components/application/details/controls/logs/utilities/search.js [45:83]
export function performSearch(lines, searchText, event) {
const eventSearchText = event.target.value;
if (eventSearchText && eventSearchText.length > 0) {
if (eventSearchText !== searchText) {
const searchRegExp = searchRegExpFn(eventSearchText);
if (!searchRegExp) {
return stopSearch();
}
const result = lines
.map((log) => {
let findResult = searchRegExp.exec(log.logText);
const results = [];
let relativeIndex = 0;
while (findResult !== null) {
results.push({...log, relativeIndex});
relativeIndex += 1;
findResult = searchRegExp.exec(log.logText);
}
return results;
})
.filter(a => a.length > 0)
.reduce((acc, current) => {
acc.push(...current);
return acc;
}, []);
return {
result: {
searchResultIndex: result.length > 0 ? 0 : null,
searchText: eventSearchText,
searchResults: result,
},
};
}
return {
next: true,
};
}
return stopSearch();
}