| 1841 | } | 1841 | } |
| 1842 | | 1842 | |
| 1843 | /** | 1843 | /** |
| 1844 | * Generates a hash of the Fuse configuration keys | | |
| 1845 | * @param {Array<{name: string, weight: number, getFn?: Function}>} keys | | |
| 1846 | * @returns {number} Hash of the keys configuration | | |
| 1847 | */ | | |
| 1848 | function hashFuseKeys(keys) { | | |
| 1849 | // Convert keys to a stable string representation | | |
| 1850 | const keyString = keys.map(k => { | | |
| 1851 | const getFnString = k.getFn ? k.getFn.toString() : ''; | | |
| 1852 | return `${k.name}:${k.weight}:${getFnString}`; | | |
| 1853 | }).join('|'); | | |
| 1854 | | | |
| 1855 | return getStringHash(keyString); | | |
| 1856 | } | | |
| 1857 | | | |
| 1858 | /** | | |
| 1859 | * Common function to perform fuzzy search with caching | 1844 | * Common function to perform fuzzy search with caching |
| 1860 | * @param {string} type - Type of search from fuzzySearchCategories | 1845 | * @param {string} type - Type of search from fuzzySearchCategories |
| 1861 | * @param {any[]} data - Data array to search in | 1846 | * @param {any[]} data - Data array to search in |