UNPKG

n8n-nodes-fuse-postgre-master

Version:

Node do n8n para buscas fuzzy no PostgreSQL usando Fuse.js.

30 lines (28 loc) 856 B
import Fuse from 'fuse.js'; export interface FuseSearchOptions { keys: string[]; threshold?: number; distance?: number; minMatchCharLength?: number; isCaseSensitive?: boolean; limit?: number; } export function fuseSearch<T = any>( data: T[], searchTerm: string, options: FuseSearchOptions ): { results: T[]; totalResults: number } { const fuse = new Fuse(data, { keys: options.keys, threshold: options.threshold ?? 0.6, distance: options.distance ?? 100, minMatchCharLength: options.minMatchCharLength ?? 1, isCaseSensitive: options.isCaseSensitive ?? false, }); const searchResults = fuse.search(searchTerm); const limitedResults = options.limit ? searchResults.slice(0, options.limit) : searchResults; return { results: limitedResults.map(r => r.item), totalResults: searchResults.length, }; }