import { useMemo } from 'react'; interface SearchMarkersOptions { searchTimestamp: number, selectedIndex: number, separateWordSearch: boolean, } export interface SearchMarkers { keywords: any[], options: SearchMarkersOptions, } function defaultSearchMarkers():SearchMarkers { return { keywords: [], options: { searchTimestamp: 0, selectedIndex: 0, separateWordSearch: false, }, }; } export default function useSearchMarkers(showLocalSearch:boolean, localSearchMarkerOptions:Function, searches:any[], selectedSearchId:string, highlightedWords: any[] = []) { return useMemo(():SearchMarkers => { if (showLocalSearch) return localSearchMarkerOptions(); const output = defaultSearchMarkers(); output.keywords = highlightedWords; return output; }, [highlightedWords, showLocalSearch, localSearchMarkerOptions, searches, selectedSearchId]); }