{"_id":"@aiquants/fuzzy-search","_rev":"20-6e2ad0dd39a8c8304878b5e2d88e4d6a","name":"@aiquants/fuzzy-search","dist-tags":{"latest":"2.2.1"},"versions":{"1.1.0":{"name":"@aiquants/fuzzy-search","version":"1.1.0","keywords":["fuzzy-search","levenshtein-distance","search","typescript","react","web-worker","n-gram","indexing"],"author":{"url":"https://x.com/fehdek","name":"fehde-k"},"license":"MIT","_id":"@aiquants/fuzzy-search@1.1.0","maintainers":[{"name":"fehde-k","email":"owner@aiquants.co.jp"},{"name":"fehde","email":"genbu0498@gmail.com"}],"dist":{"shasum":"18d83dd9ea01b3db569635dfd8b893e11ba64631","tarball":"https://registry.npmjs.org/@aiquants/fuzzy-search/-/fuzzy-search-1.1.0.tgz","fileCount":18,"integrity":"sha512-rUVqZW41naq7SeXJtANIq/yUzSNJMcwrrLxCEozOUre5/sXAGujq1IJSS/9ZfQf4OtVJcnAUgEf9GPSMzaDJbQ==","signatures":[{"sig":"MEUCIBEz0YJEIXYMsTmolh1Tv+oI0GskxK+n6crZB7t1yzrZAiEAza3KP83ZBlFf1LfiHAXFYHVLXb5yyZqDH2MKR0ONEME=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1073285},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","engines":{"node":">=16.0.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.mjs","require":"./dist/react.js"},"./worker/indexWorker":{"import":"./dist/worker/indexWorker.mjs"},"./worker/levenshteinWorker":{"import":"./dist/worker/levenshteinWorker.mjs"}},"gitHead":"d56dc9cf85090a24b8d50c340b81bcb906553855","scripts":{"dev":"tsup --watch","lint":"biome lint src/","test":"vitest run --passWithNoTests","build":"tsup","check":"biome check src/","clean":"rimraf dist","format":"biome format src/","prepare":"pnpm run build","lint:fix":"biome lint --write src/","check:fix":"biome check --write src/","typecheck":"npm run type-check","format:fix":"biome format --write src/","type-check":"tsc --noEmit","build:watch":"tsup --watch","license-check":"pnpm dlx license-checker --production --onlyAllow \"MIT;Apache-2.0;BSD-2-Clause;BSD-3-Clause;ISC;Unlicense\"","publish:major":"npm version major && npm publish","publish:minor":"npm version minor && npm publish","publish:patch":"npm version patch && npm publish","test:coverage":"vitest run --coverage --passWithNoTests","prepublishOnly":"npm run clean && npm run typecheck && npm run test --if-present && npm run build","license-check:json":"pnpm dlx license-checker --production --onlyAllow \"MIT;Apache-2.0;BSD-2-Clause;BSD-3-Clause;ISC;Unlicense\" --json"},"_npmUser":{"name":"fehde","email":"genbu0498@gmail.com"},"_npmVersion":"10.9.2","description":"Advanced fuzzy search library with Levenshtein distance, n-gram indexing, and Web Worker support","directories":{},"_nodeVersion":"22.17.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","react":"^18.3.1","rimraf":"^6.0.1","vitest":"^3.2.4","react-dom":"^18.3.1","typescript":"^5.9.3","@types/node":"^22.18.12","@types/react":"^18.3.26","@biomejs/biome":"^2.3.1","@types/react-dom":"^18.3.7"},"peerDependencies":{"react":">=16.8.0","react-dom":">=16.8.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/fuzzy-search_1.1.0_1761641006379_0.9163524481095826","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@aiquants/fuzzy-search","version":"1.2.0","keywords":["fuzzy-search","levenshtein-distance","search","typescript","react","web-worker","n-gram","indexing"],"author":{"url":"https://x.com/fehdek","name":"fehde-k"},"license":"MIT","_id":"@aiquants/fuzzy-search@1.2.0","maintainers":[{"name":"fehde-k","email":"owner@aiquants.co.jp"},{"name":"fehde","email":"genbu0498@gmail.com"}],"dist":{"shasum":"8da4b82d336c25034fffc5bfbf2010766c6c6065","tarball":"https://registry.npmjs.org/@aiquants/fuzzy-search/-/fuzzy-search-1.2.0.tgz","fileCount":18,"integrity":"sha512-tC8cUqCP7J0FgW/v6SbDyj8MKXJ/6/by5FME3txKPxSxaHw1jGCccCekfnr9R22uKSfFSNctiXqbThojHBkQiQ==","signatures":[{"sig":"MEUCIBJw8e9pCTVp/M0MHR/7pnm71VTC9hGTMD972p1ZiybSAiEA7pjiEd0KHT28eHgUFqr42J5lSbkjgUrkYHRhlgEqZC0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1103773},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","engines":{"node":">=16.0.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.mjs","require":"./dist/react.js"},"./worker/indexWorker":{"import":"./dist/worker/indexWorker.mjs"},"./worker/levenshteinWorker":{"import":"./dist/worker/levenshteinWorker.mjs"}},"gitHead":"12e5470bf9a3c6ff1b1e57a9e7605f41a0a19ac5","scripts":{"dev":"tsup --watch","lint":"biome lint src/","test":"vitest run --passWithNoTests","build":"tsup","check":"biome check src/","clean":"rimraf dist","watch":"tsup --watch","format":"biome format src/","prepare":"pnpm run build","lint:fix":"biome lint --write src/","check:fix":"biome check --write src/","typecheck":"npm run type-check","format:fix":"biome format --write src/","type-check":"tsc --noEmit","build:watch":"tsup --watch","license-check":"pnpm dlx license-checker --production --onlyAllow \"MIT;Apache-2.0;BSD-2-Clause;BSD-3-Clause;ISC;Unlicense\"","publish:major":"npm version major && npm publish","publish:minor":"npm version minor && npm publish","publish:patch":"npm version patch && npm publish","test:coverage":"vitest run --coverage --passWithNoTests","prepublishOnly":"npm run clean && npm run typecheck && npm run test --if-present && npm run build","license-check:json":"pnpm dlx license-checker --production --onlyAllow \"MIT;Apache-2.0;BSD-2-Clause;BSD-3-Clause;ISC;Unlicense\" --json"},"_npmUser":{"name":"fehde-k","email":"owner@aiquants.co.jp"},"_npmVersion":"10.9.2","description":"Advanced fuzzy search library with Levenshtein distance, n-gram indexing, and Web Worker support","directories":{},"sideEffects":false,"_nodeVersion":"22.17.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","react":"^18.3.1","rimraf":"^6.1.2","vitest":"^3.2.4","react-dom":"^18.3.1","typescript":"^5.9.3","@types/node":"^22.19.1","@types/react":"^18.3.27","@biomejs/biome":"^2.3.7","@types/react-dom":"^18.3.7"},"peerDependencies":{"react":">=16.8.0","react-dom":">=16.8.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/fuzzy-search_1.2.0_1764209020754_0.5817841609945462","host":"s3://npm-registry-packages-npm-production"}},"1.2.1":{"name":"@aiquants/fuzzy-search","version":"1.2.1","keywords":["fuzzy-search","levenshtein-distance","search","typescript","react","web-worker","n-gram","indexing"],"author":{"url":"https://x.com/fehdek","name":"fehde-k"},"license":"MIT","_id":"@aiquants/fuzzy-search@1.2.1","maintainers":[{"name":"fehde-k","email":"owner@aiquants.co.jp"},{"name":"fehde","email":"genbu0498@gmail.com"}],"dist":{"shasum":"7d12f92f048b56e39622f86c92ca3a4ed6d519c1","tarball":"https://registry.npmjs.org/@aiquants/fuzzy-search/-/fuzzy-search-1.2.1.tgz","fileCount":18,"integrity":"sha512-Y5zL65afTRdNOY74upmX4l1xOXrqJ8GZSFbGq6DJ54ixvDQloBCT8uGuAH8vM3ynFw6Qem29o09rOm/AvBxaxw==","signatures":[{"sig":"MEUCIE3TB3RbWRWLBMVKhwOM5GLO9vJBzJec1oImJbGpu5WxAiEA55PmRY7zzLh65v2ee65NPBrxb8skNd110RCU+/3Psck=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1115053},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","engines":{"node":">=16.0.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.mjs","require":"./dist/react.js"},"./worker/indexWorker":{"import":"./dist/worker/indexWorker.mjs"},"./worker/levenshteinWorker":{"import":"./dist/worker/levenshteinWorker.mjs"}},"gitHead":"6784450e1b2d81157f99b3acab6ccc9d5489f5d5","scripts":{"dev":"tsup --watch","lint":"biome lint src/","test":"vitest run --passWithNoTests","build":"tsup","check":"biome check src/","clean":"rimraf dist","watch":"tsup --watch","format":"biome format src/","prepare":"pnpm run build","lint:fix":"biome lint --write src/","check:fix":"biome check --write src/","typecheck":"npm run type-check","format:fix":"biome format --write src/","type-check":"tsc --noEmit","build:watch":"tsup --watch","license-check":"pnpm dlx license-checker --production --onlyAllow \"MIT;Apache-2.0;BSD-2-Clause;BSD-3-Clause;ISC;Unlicense\"","publish:major":"npm version major && npm publish","publish:minor":"npm version minor && npm publish","publish:patch":"npm version patch && npm publish","test:coverage":"vitest run --coverage --passWithNoTests","prepublishOnly":"npm run clean && npm run typecheck && npm run test --if-present && npm run build","license-check:json":"pnpm dlx license-checker --production --onlyAllow \"MIT;Apache-2.0;BSD-2-Clause;BSD-3-Clause;ISC;Unlicense\" --json"},"_npmUser":{"name":"fehde-k","email":"owner@aiquants.co.jp"},"_npmVersion":"10.9.2","description":"Advanced fuzzy search library with Levenshtein distance, n-gram indexing, and Web Worker support","directories":{},"sideEffects":false,"_nodeVersion":"22.17.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","react":"^18.3.1","rimraf":"^6.1.2","vitest":"^3.2.4","react-dom":"^18.3.1","typescript":"^5.9.3","@types/node":"^22.19.1","@types/react":"^18.3.27","@biomejs/biome":"^2.3.7","@types/react-dom":"^18.3.7"},"peerDependencies":{"react":">=16.8.0","react-dom":">=16.8.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/fuzzy-search_1.2.1_1765230320544_0.513674117492197","host":"s3://npm-registry-packages-npm-production"}},"1.4.0":{"name":"@aiquants/fuzzy-search","version":"1.4.0","keywords":["fuzzy-search","levenshtein-distance","search","typescript","react","web-worker","n-gram","indexing"],"author":{"url":"https://x.com/fehdek","name":"fehde-k"},"license":"MIT","_id":"@aiquants/fuzzy-search@1.4.0","maintainers":[{"name":"fehde-k","email":"owner@aiquants.co.jp"},{"name":"fehde","email":"genbu0498@gmail.com"}],"dist":{"shasum":"dd935b5c2464c0767ba992d0dba30e39f6e08df2","tarball":"https://registry.npmjs.org/@aiquants/fuzzy-search/-/fuzzy-search-1.4.0.tgz","fileCount":12,"integrity":"sha512-1+dbrPB5c2RNPp/gdrgzVPoZUzg18mH8w97lV3fT+1pRKEg8uGOGnnE5YZ/aJyrxDCKRA4tEeIdEvl4y2DShqQ==","signatures":[{"sig":"MEYCIQCgZGboYByBvFtzxstm0khPxd9oCBeGom7CELj/NQJtgQIhAKJJDkkx9Y9fkeCGEG2gZMEzgUy9a8EkDRrz5CZzL/7j","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":317732},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","engines":{"node":">=16.0.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.mjs","require":"./dist/react.js"},"./worker/indexWorker":{"import":"./dist/worker/indexWorker.mjs"},"./worker/levenshteinWorker":{"import":"./dist/worker/levenshteinWorker.mjs"}},"gitHead":"5ba947e0b0603c2e4e7545591dfdad011f7bdc24","scripts":{"dev":"tsup --watch","lint":"biome lint src/","test":"vitest run","build":"tsup","check":"biome check src/","clean":"rimraf dist","watch":"tsup --watch","format":"biome format src/","prepare":"pnpm run build","demo:dev":"cd demo && pnpm run dev","lint:fix":"biome lint --write src/","test:e2e":"playwright test","check:fix":"biome check --write src/","typecheck":"npm run type-check","format:fix":"biome format --write src/","type-check":"tsc --noEmit","build:watch":"tsup --watch","license-check":"pnpm dlx license-checker --production --onlyAllow \"MIT;Apache-2.0;BSD-2-Clause;BSD-3-Clause;ISC;Unlicense\"","publish:major":"npm version major && npm publish","publish:minor":"npm version minor && npm publish","publish:patch":"npm version patch && npm publish","test:coverage":"vitest run --coverage --passWithNoTests","prepublishOnly":"npm run clean && npm run typecheck && npm run test --if-present && npm run build","license-check:json":"pnpm dlx license-checker --production --onlyAllow \"MIT;Apache-2.0;BSD-2-Clause;BSD-3-Clause;ISC;Unlicense\" --json"},"_npmUser":{"name":"fehde","email":"genbu0498@gmail.com"},"_npmVersion":"10.9.2","description":"Advanced fuzzy search library with Levenshtein distance, n-gram indexing, and Web Worker support","directories":{},"sideEffects":false,"_nodeVersion":"22.17.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","react":"^19.2.3","rimraf":"^6.1.2","vitest":"^3.2.4","react-dom":"^19.2.3","typescript":"^5.9.3","@types/node":"^22.19.3","@types/react":"^19.2.7","@biomejs/biome":"^2.3.10","@playwright/test":"^1.57.0","@types/react-dom":"^19.2.3","@vitest/coverage-v8":"^3.2.4"},"peerDependencies":{"react":"^19.1.1","react-dom":"^19.1.1"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/fuzzy-search_1.4.0_1766181066530_0.4877683065868059","host":"s3://npm-registry-packages-npm-production"}},"1.5.0":{"name":"@aiquants/fuzzy-search","version":"1.5.0","keywords":["fuzzy-search","levenshtein-distance","search","typescript","react","web-worker","n-gram","indexing"],"author":{"url":"https://x.com/fehdek","name":"fehde-k"},"license":"MIT","_id":"@aiquants/fuzzy-search@1.5.0","maintainers":[{"name":"fehde-k","email":"owner@aiquants.co.jp"},{"name":"fehde","email":"genbu0498@gmail.com"}],"dist":{"shasum":"2e12cc3c515cf2225cb3a9463478c91900589a6c","tarball":"https://registry.npmjs.org/@aiquants/fuzzy-search/-/fuzzy-search-1.5.0.tgz","fileCount":12,"integrity":"sha512-4wZsMn4bEH7HrJMWgq0UddTAWqlDk1L3IU7SKhW2t6zboTA2gJ48N+SvopSSv87EeshytE6NmVaSNn0QKWo3HQ==","signatures":[{"sig":"MEYCIQC05KEEVrqYbpBVcMhIgspmO3Sa9VLRapL22s4PnasSnwIhAOEr4EV31M3iQkHmU8ESmApAkDiBpkytle2tdN/e6Z6c","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":317699},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","engines":{"node":">=16.0.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.mjs","require":"./dist/react.js"},"./worker/indexWorker":{"import":"./dist/worker/indexWorker.mjs"},"./worker/levenshteinWorker":{"import":"./dist/worker/levenshteinWorker.mjs"}},"gitHead":"0a0227b97d66e39f0b5f0d025263529307ffa8cc","scripts":{"dev":"tsup --watch","lint":"biome lint src/","test":"vitest run","build":"tsup","check":"biome check src/","clean":"rimraf dist","watch":"tsup --watch","format":"biome format src/","prepare":"pnpm run build","demo:dev":"cd demo && pnpm run dev","lint:fix":"biome lint --write src/","test:e2e":"playwright test","check:fix":"biome check --write src/","typecheck":"npm run type-check","format:fix":"biome format --write src/","type-check":"tsc --noEmit","build:watch":"tsup --watch","license-check":"pnpm dlx license-checker --production --onlyAllow \"MIT;Apache-2.0;BSD-2-Clause;BSD-3-Clause;ISC;Unlicense\"","publish:major":"npm version major && npm publish","publish:minor":"npm version minor && npm publish","publish:patch":"npm version patch && npm publish","test:coverage":"vitest run --coverage --passWithNoTests","prepublishOnly":"npm run clean && npm run typecheck && npm run test --if-present && npm run build","license-check:json":"pnpm dlx license-checker --production --onlyAllow \"MIT;Apache-2.0;BSD-2-Clause;BSD-3-Clause;ISC;Unlicense\" --json"},"_npmUser":{"name":"fehde","email":"genbu0498@gmail.com"},"_npmVersion":"10.9.2","description":"Advanced fuzzy search library with Levenshtein distance, n-gram indexing, and Web Worker support","directories":{},"sideEffects":false,"_nodeVersion":"22.17.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","react":"^19.2.3","rimraf":"^6.1.2","vitest":"^3.2.4","react-dom":"^19.2.3","typescript":"^5.9.3","@types/node":"^22.19.3","@types/react":"^19.2.7","@playwright/test":"^1.57.0","@types/react-dom":"^19.2.3","@vitest/coverage-v8":"^3.2.4"},"peerDependencies":{"react":"^19.1.1","react-dom":"^19.1.1"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/fuzzy-search_1.5.0_1766497093458_0.3238405704170517","host":"s3://npm-registry-packages-npm-production"}},"1.5.1":{"name":"@aiquants/fuzzy-search","version":"1.5.1","keywords":["fuzzy-search","levenshtein-distance","search","typescript","react","web-worker","n-gram","indexing"],"author":{"url":"https://x.com/fehdek","name":"fehde-k"},"license":"MIT","_id":"@aiquants/fuzzy-search@1.5.1","maintainers":[{"name":"fehde-k","email":"owner@aiquants.co.jp"},{"name":"fehde","email":"genbu0498@gmail.com"}],"dist":{"shasum":"40164e4b0e116fc3d5096f77f3ba97cc381bd38f","tarball":"https://registry.npmjs.org/@aiquants/fuzzy-search/-/fuzzy-search-1.5.1.tgz","fileCount":12,"integrity":"sha512-AjmqXXrBcsoR8OEFEzdI2kBinM5M11Bk3UVdogyIKkkX4wQhP2RNumTHWYL9nAEchv4KBNDj5CX1NL53Sgy9sQ==","signatures":[{"sig":"MEYCIQDF15REeYSlbrc2JV9cQUoXB0DftFPByNnJeIoH39nApQIhAOrNQgkcMSlEez+2sfpPiWyuX8JNR+b9nnqWtMVsdJZN","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":317592},"main":"dist/index.js","_from":"file:aiquants-fuzzy-search-1.5.1.tgz","types":"dist/index.d.ts","module":"dist/index.mjs","engines":{"node":">=16.0.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.mjs","require":"./dist/react.js"},"./worker/indexWorker":{"import":"./dist/worker/indexWorker.mjs"},"./worker/levenshteinWorker":{"import":"./dist/worker/levenshteinWorker.mjs"}},"scripts":{"dev":"tsup --watch","lint":"biome lint src/","test":"vitest run","build":"tsup","check":"biome check src/","clean":"rimraf dist","watch":"tsup --watch","format":"biome format src/","demo:dev":"cd demo && pnpm run dev","lint:fix":"biome lint --write src/","test:e2e":"playwright test","check:fix":"biome check --write src/","typecheck":"npm run type-check","format:fix":"biome format --write src/","type-check":"tsc --noEmit","build:watch":"tsup --watch","license-check":"pnpm dlx license-checker --production --onlyAllow \"MIT;Apache-2.0;BSD-2-Clause;BSD-3-Clause;ISC;Unlicense\"","publish:major":"npm version major && pnpm publish --no-git-checks","publish:minor":"npm version minor && pnpm publish --no-git-checks","publish:patch":"npm version patch && pnpm publish --no-git-checks","test:coverage":"vitest run --coverage","license-check:json":"pnpm dlx license-checker --production --onlyAllow \"MIT;Apache-2.0;BSD-2-Clause;BSD-3-Clause;ISC;Unlicense\" --json"},"_npmUser":{"name":"fehde","email":"genbu0498@gmail.com"},"_resolved":"/tmp/f4f53f96a59d9ebbc9ba2180953b3c9b/aiquants-fuzzy-search-1.5.1.tgz","_integrity":"sha512-AjmqXXrBcsoR8OEFEzdI2kBinM5M11Bk3UVdogyIKkkX4wQhP2RNumTHWYL9nAEchv4KBNDj5CX1NL53Sgy9sQ==","_npmVersion":"10.9.2","description":"Advanced fuzzy search library with Levenshtein distance, n-gram indexing, and Web Worker support","directories":{},"sideEffects":false,"_nodeVersion":"22.17.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","react":"^19.2.3","rimraf":"^6.1.2","vitest":"^3.2.4","react-dom":"^19.2.3","typescript":"^5.9.3","@types/node":"^22.19.3","@types/react":"^19.2.7","@playwright/test":"^1.57.0","@types/react-dom":"^19.2.3","@vitest/coverage-v8":"^3.2.4"},"peerDependencies":{"react":"^19.1.1","react-dom":"^19.1.1"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/fuzzy-search_1.5.1_1766534002000_0.6022789056822384","host":"s3://npm-registry-packages-npm-production"}},"1.6.0":{"name":"@aiquants/fuzzy-search","version":"1.6.0","keywords":["fuzzy-search","levenshtein-distance","search","typescript","react","web-worker","n-gram","indexing"],"author":{"url":"https://x.com/fehdek","name":"fehde-k"},"license":"MIT","_id":"@aiquants/fuzzy-search@1.6.0","maintainers":[{"name":"fehde-k","email":"owner@aiquants.co.jp"},{"name":"fehde","email":"genbu0498@gmail.com"}],"dist":{"shasum":"3b108de04a2a66a965c0ac1c605296734d193ea3","tarball":"https://registry.npmjs.org/@aiquants/fuzzy-search/-/fuzzy-search-1.6.0.tgz","fileCount":12,"integrity":"sha512-3y+InOez+e1ldBf41wyiu7aCO1B7CJ5psILeXcyQo+H7dpV4WtPwywHO9Q7eQP/YWENSW4aVMWTk4M6byfwZ5A==","signatures":[{"sig":"MEYCIQDcloscS+VUKFOu1rC+GDBDizanPoEgtAJtu1hM8ngQ0wIhANmqAoncxxb0pvoKK/eYzjcewzkJgvQgxOSgLyka2RxW","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":318208},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","engines":{"node":">=16.0.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.mjs","require":"./dist/react.js"},"./worker/indexWorker":{"import":"./dist/worker/indexWorker.mjs"},"./worker/levenshteinWorker":{"import":"./dist/worker/levenshteinWorker.mjs"}},"scripts":{"dev":"tsup --watch","lint":"biome lint src/","test":"vitest run","build":"tsup","check":"biome check src/","clean":"rimraf dist","watch":"tsup --watch","format":"biome format src/","demo:dev":"cd demo && pnpm run dev","lint:fix":"biome lint --write src/","test:e2e":"playwright test","check:fix":"biome check --write src/","typecheck":"tsc --noEmit","format:fix":"biome format --write src/","build:watch":"tsup --watch","license-check":"pnpm dlx license-checker --production --onlyAllow \"MIT;Apache-2.0;BSD-2-Clause;BSD-3-Clause;ISC;Unlicense\"","publish:major":"npm version major && pnpm publish --no-git-checks","publish:minor":"npm version minor && pnpm publish --no-git-checks","publish:patch":"npm version patch && pnpm publish --no-git-checks","test:coverage":"vitest run --coverage","license-check:json":"pnpm dlx license-checker --production --onlyAllow \"MIT;Apache-2.0;BSD-2-Clause;BSD-3-Clause;ISC;Unlicense\" --json"},"_npmUser":{"name":"fehde","email":"genbu0498@gmail.com"},"description":"Advanced fuzzy search library with Levenshtein distance, n-gram indexing, and Web Worker support","directories":{},"sideEffects":false,"_nodeVersion":"26.0.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","react":"^19.2.7","rimraf":"^6.1.2","vitest":"^3.2.4","react-dom":"^19.2.7","typescript":"^5.9.3","@types/node":"^22.19.3","@types/react":"^19.2.7","@playwright/test":"^1.59.1","@types/react-dom":"^19.2.3","@vitest/coverage-v8":"^3.2.4"},"peerDependencies":{"react":"^19.2.7","react-dom":"^19.2.7"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/fuzzy-search_1.6.0_1780719309471_0.39721199878701086","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"@aiquants/fuzzy-search","version":"2.0.0","keywords":["fuzzy-search","levenshtein-distance","search","typescript","react","web-worker","n-gram","indexing"],"author":{"url":"https://x.com/fehdek","name":"fehde-k"},"license":"MIT","_id":"@aiquants/fuzzy-search@2.0.0","maintainers":[{"name":"fehde-k","email":"owner@aiquants.co.jp"},{"name":"fehde","email":"genbu0498@gmail.com"}],"dist":{"shasum":"19b792133c72c5ec119837606d84c2cd2026b94e","tarball":"https://registry.npmjs.org/@aiquants/fuzzy-search/-/fuzzy-search-2.0.0.tgz","fileCount":12,"integrity":"sha512-GmVHetrkIuXyNo+ZLp2sVNcgffDuWUeZAO9pVO9bRbI5GhJJdFbAnpFriNPkntMzw9/y9IniEJtin3BDOAEwiQ==","signatures":[{"sig":"MEUCIQC9wRkjXBQSx5sh3asxzVXvo5PlEmh3LlllvXOb8/1PuAIgNJsPljXomBnM43BE0cgSmrlktOyjm0isEdgjNSJRtMc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":326826},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","engines":{"node":">=16.0.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.mjs","require":"./dist/react.js"},"./worker/indexWorker":{"import":"./dist/worker/indexWorker.mjs"},"./worker/levenshteinWorker":{"import":"./dist/worker/levenshteinWorker.mjs"}},"scripts":{"dev":"tsup --watch","lint":"biome lint src/","test":"vitest run","build":"tsup","check":"biome check src/","clean":"rimraf dist","watch":"tsup --watch","format":"biome format src/","demo:dev":"cd demo && pnpm run dev","lint:fix":"biome lint --write src/","test:e2e":"playwright test","check:fix":"biome check --write src/","typecheck":"tsc --noEmit","format:fix":"biome format --write src/","build:watch":"tsup --watch","license-check":"pnpm dlx license-checker --production --onlyAllow \"MIT;Apache-2.0;BSD-2-Clause;BSD-3-Clause;ISC;Unlicense\"","publish:major":"npm version major && pnpm publish --no-git-checks","publish:minor":"npm version minor && pnpm publish --no-git-checks","publish:patch":"npm version patch && pnpm publish --no-git-checks","test:coverage":"vitest run --coverage","license-check:json":"pnpm dlx license-checker --production --onlyAllow \"MIT;Apache-2.0;BSD-2-Clause;BSD-3-Clause;ISC;Unlicense\" --json"},"_npmUser":{"name":"fehde","email":"genbu0498@gmail.com"},"description":"Advanced fuzzy search library with Levenshtein distance, n-gram indexing, and Web Worker support","directories":{},"sideEffects":false,"_nodeVersion":"26.0.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","react":"^19.2.7","rimraf":"^6.1.2","vitest":"^3.2.4","react-dom":"^19.2.7","typescript":"^5.9.3","@types/node":"^22.19.3","@types/react":"^19.2.7","@playwright/test":"^1.59.1","@types/react-dom":"^19.2.3","@vitest/coverage-v8":"^3.2.4"},"peerDependencies":{"react":"^19.2.7","react-dom":"^19.2.7"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/fuzzy-search_2.0.0_1783738887313_0.29977603648253104","host":"s3://npm-registry-packages-npm-production"}},"2.0.1":{"name":"@aiquants/fuzzy-search","version":"2.0.1","keywords":["fuzzy-search","levenshtein-distance","search","typescript","react","web-worker","n-gram","indexing"],"author":{"url":"https://x.com/fehdek","name":"fehde-k"},"license":"MIT","_id":"@aiquants/fuzzy-search@2.0.1","maintainers":[{"name":"fehde-k","email":"owner@aiquants.co.jp"},{"name":"fehde","email":"genbu0498@gmail.com"}],"dist":{"shasum":"23e2335090ee470616ec22f64fb7b65a112fedaa","tarball":"https://registry.npmjs.org/@aiquants/fuzzy-search/-/fuzzy-search-2.0.1.tgz","fileCount":12,"integrity":"sha512-bxFNbxT9Ips4/h+U7RgZlkSSOkLaZniBkVdSaPnefPu9kR88fw+LWu+JgaGSvhjU+E3S0Le9lvm31DWKFlzrEQ==","signatures":[{"sig":"MEYCIQCf3vyI9bQjwp20OPIeedrycQfQCVkYLmmCF1xJGExmswIhAPSYXq5rbr1hOCaBRshVGRAhjUEMUZ03ik433DU/PFgx","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":326940},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","engines":{"node":">=16.0.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.mjs","require":"./dist/react.js"},"./worker/indexWorker":{"import":"./dist/worker/indexWorker.mjs"},"./worker/levenshteinWorker":{"import":"./dist/worker/levenshteinWorker.mjs"}},"scripts":{"dev":"tsup --watch","lint":"biome lint src/","test":"vitest run","build":"tsup","check":"biome check src/","clean":"rimraf dist","watch":"tsup --watch","format":"biome format src/","demo:dev":"cd demo && pnpm run dev","lint:fix":"biome lint --write src/","test:e2e":"playwright test","check:fix":"biome check --write src/","typecheck":"tsc --noEmit","format:fix":"biome format --write src/","build:watch":"tsup --watch","license-check":"pnpm dlx license-checker --production --onlyAllow \"MIT;Apache-2.0;BSD-2-Clause;BSD-3-Clause;ISC;Unlicense\"","publish:major":"pnpm version major --no-git-tag-version --no-git-checks && pnpm publish --no-git-checks","publish:minor":"pnpm version minor --no-git-tag-version --no-git-checks && pnpm publish --no-git-checks","publish:patch":"pnpm version patch --no-git-tag-version --no-git-checks && pnpm publish --no-git-checks","test:coverage":"vitest run --coverage","license-check:json":"pnpm dlx license-checker --production --onlyAllow \"MIT;Apache-2.0;BSD-2-Clause;BSD-3-Clause;ISC;Unlicense\" --json"},"_npmUser":{"name":"fehde","email":"genbu0498@gmail.com"},"description":"Advanced fuzzy search library with Levenshtein distance, n-gram indexing, and Web Worker support","directories":{},"sideEffects":false,"_nodeVersion":"26.0.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","react":"^19.2.7","rimraf":"^6.1.2","vitest":"^3.2.4","react-dom":"^19.2.7","typescript":"^5.9.3","@types/node":"^22.19.3","@types/react":"^19.2.7","@playwright/test":"^1.59.1","@types/react-dom":"^19.2.3","@vitest/coverage-v8":"^3.2.4"},"peerDependencies":{"react":"^19.2.7","react-dom":"^19.2.7"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/fuzzy-search_2.0.1_1784771306874_0.8131915415662057","host":"s3://npm-registry-packages-npm-production"}},"2.0.2":{"name":"@aiquants/fuzzy-search","version":"2.0.2","keywords":["fuzzy-search","levenshtein-distance","search","typescript","react","web-worker","n-gram","indexing"],"author":{"url":"https://x.com/fehdek","name":"fehde-k"},"license":"MIT","_id":"@aiquants/fuzzy-search@2.0.2","maintainers":[{"name":"fehde-k","email":"owner@aiquants.co.jp"},{"name":"fehde","email":"genbu0498@gmail.com"}],"dist":{"shasum":"39df6a69cbdfeb399cb8aa6de20036efc175c727","tarball":"https://registry.npmjs.org/@aiquants/fuzzy-search/-/fuzzy-search-2.0.2.tgz","fileCount":12,"integrity":"sha512-PyAXARw88lUbgE/S+TvUFf98I0onUv8tNZBlpESInx3jaA+nL2vS2jhlqGT1zsnRUeIRmmHWB+ncNpbLLe/qbQ==","signatures":[{"sig":"MEYCIQD/ji0xSCFS2mXndHrOvYH40SnOOM6R/lYcU2+BRLLXRwIhAOT0CqGwPhWetdsLNTkiMWLSpz/UvQ9c6pyFKjefX7vw","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":327522},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","engines":{"node":">=16.0.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.mjs","require":"./dist/react.js"},"./worker/indexWorker":{"import":"./dist/worker/indexWorker.mjs"},"./worker/levenshteinWorker":{"import":"./dist/worker/levenshteinWorker.mjs"}},"scripts":{"dev":"tsup --watch","lint":"biome lint src/","test":"vitest run","build":"tsup","check":"biome check src/","clean":"rimraf dist","watch":"tsup --watch","format":"biome format src/","demo:dev":"cd demo && pnpm run dev","lint:fix":"biome lint --write src/","test:e2e":"playwright test","check:fix":"biome check --write src/","typecheck":"tsc --noEmit","format:fix":"biome format --write src/","build:watch":"tsup --watch","license-check":"pnpm dlx license-checker --production --onlyAllow \"MIT;Apache-2.0;BSD-2-Clause;BSD-3-Clause;ISC;Unlicense\"","publish:major":"pnpm run typecheck && pnpm run --if-present test && pnpm version major --no-git-tag-version --no-git-checks && pnpm publish --no-git-checks","publish:minor":"pnpm run typecheck && pnpm run --if-present test && pnpm version minor --no-git-tag-version --no-git-checks && pnpm publish --no-git-checks","publish:patch":"pnpm run typecheck && pnpm run --if-present test && pnpm version patch --no-git-tag-version --no-git-checks && pnpm publish --no-git-checks","test:coverage":"vitest run --coverage","license-check:json":"pnpm dlx license-checker --production --onlyAllow \"MIT;Apache-2.0;BSD-2-Clause;BSD-3-Clause;ISC;Unlicense\" --json"},"_npmUser":{"name":"fehde","email":"genbu0498@gmail.com"},"description":"Advanced fuzzy search library with Levenshtein distance, n-gram indexing, and Web Worker support","directories":{},"sideEffects":false,"_nodeVersion":"26.0.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","react":"^19.2.7","rimraf":"^6.1.2","vitest":"^3.2.4","react-dom":"^19.2.7","typescript":"^5.9.3","@types/node":"^22.19.3","@types/react":"^19.2.7","@playwright/test":"^1.59.1","@types/react-dom":"^19.2.3","@vitest/coverage-v8":"^3.2.4"},"peerDependencies":{"react":"^19.2.7","react-dom":"^19.2.7"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/fuzzy-search_2.0.2_1784772638720_0.09151805973812133","host":"s3://npm-registry-packages-npm-production"}},"2.0.3":{"name":"@aiquants/fuzzy-search","version":"2.0.3","keywords":["fuzzy-search","levenshtein-distance","search","typescript","react","web-worker","n-gram","indexing"],"author":{"url":"https://x.com/fehdek","name":"fehde-k"},"license":"MIT","_id":"@aiquants/fuzzy-search@2.0.3","maintainers":[{"name":"fehde-k","email":"owner@aiquants.co.jp"},{"name":"fehde","email":"genbu0498@gmail.com"}],"dist":{"shasum":"01cbf8d5c48e9e3f5c1f169547a9a953d1b0351b","tarball":"https://registry.npmjs.org/@aiquants/fuzzy-search/-/fuzzy-search-2.0.3.tgz","fileCount":12,"integrity":"sha512-YddVL30eMOqI3VrZe+bkBkpuQE4VScCM+vRseZGDL21vI59bLiPFJ/uwluuXOnNmWeDaO3QpUePFf4EwxFBY8A==","signatures":[{"sig":"MEUCIQCLB+bp0lMRwzoSChgaiDnPq0hnzg4V6DlKwHP8AAMJwQIgJ3pCJVsuukyfvz6yudTpgsO8AbCrIwF5TI0lcM6kwTc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":327522},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","engines":{"node":">=16.0.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.mjs","require":"./dist/react.js"},"./worker/indexWorker":{"import":"./dist/worker/indexWorker.mjs"},"./worker/levenshteinWorker":{"import":"./dist/worker/levenshteinWorker.mjs"}},"scripts":{"dev":"tsup --watch","lint":"biome lint src/","test":"vitest run","build":"tsup","check":"biome check src/","clean":"rimraf dist","watch":"tsup --watch","format":"biome format src/","demo:dev":"cd demo && pnpm run dev","lint:fix":"biome lint --write src/","test:e2e":"playwright test","check:fix":"biome check --write src/","typecheck":"tsc --noEmit","format:fix":"biome format --write src/","build:watch":"tsup --watch","license-check":"pnpm dlx license-checker --production --onlyAllow \"MIT;Apache-2.0;BSD-2-Clause;BSD-3-Clause;ISC;Unlicense\"","publish:major":"pnpm run typecheck && pnpm run --if-present test && pnpm version major --no-git-tag-version --no-git-checks && pnpm publish --no-git-checks","publish:minor":"pnpm run typecheck && pnpm run --if-present test && pnpm version minor --no-git-tag-version --no-git-checks && pnpm publish --no-git-checks","publish:patch":"pnpm run typecheck && pnpm run --if-present test && pnpm version patch --no-git-tag-version --no-git-checks && pnpm publish --no-git-checks","test:coverage":"vitest run --coverage","license-check:json":"pnpm dlx license-checker --production --onlyAllow \"MIT;Apache-2.0;BSD-2-Clause;BSD-3-Clause;ISC;Unlicense\" --json"},"_npmUser":{"name":"fehde","email":"genbu0498@gmail.com"},"description":"Advanced fuzzy search library with Levenshtein distance, n-gram indexing, and Web Worker support","directories":{},"sideEffects":false,"_nodeVersion":"26.0.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","react":"^19.2.7","rimraf":"^6.1.2","vitest":"^3.2.4","react-dom":"^19.2.7","typescript":"^5.9.3","@types/node":"^22.19.3","@types/react":"^19.2.7","@playwright/test":"^1.59.1","@types/react-dom":"^19.2.3","@vitest/coverage-v8":"^3.2.4"},"peerDependencies":{"react":"^19.2.7","react-dom":"^19.2.7"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/fuzzy-search_2.0.3_1784862471825_0.46021470823471433","host":"s3://npm-registry-packages-npm-production"}},"2.0.4":{"name":"@aiquants/fuzzy-search","version":"2.0.4","keywords":["fuzzy-search","levenshtein-distance","search","typescript","react","web-worker","n-gram","indexing"],"author":{"url":"https://x.com/fehdek","name":"fehde-k"},"license":"MIT","_id":"@aiquants/fuzzy-search@2.0.4","maintainers":[{"name":"fehde-k","email":"owner@aiquants.co.jp"},{"name":"fehde","email":"genbu0498@gmail.com"}],"dist":{"shasum":"f5549299d0a38d1fdd0edeb88c6451ff639a8970","tarball":"https://registry.npmjs.org/@aiquants/fuzzy-search/-/fuzzy-search-2.0.4.tgz","fileCount":12,"integrity":"sha512-l11Pg3cINlAo++U90xC8k6rjsQg4P+92u87ndfcXYCRiOfMzWEObcYOA5xHAqqO+9NBukE3DNVYtNthUc+Xpsg==","signatures":[{"sig":"MEQCIG1bGnPKg5A7+qKj8QI/ayaMyGV+/WCJAijzxFwmhUWNAiBZut/Vd9fby7x1KArnPpTKuLDt9IPWgqqzfZhBG1CbNQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":327522},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","engines":{"node":">=16.0.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.mjs","require":"./dist/react.js"},"./worker/indexWorker":{"import":"./dist/worker/indexWorker.mjs"},"./worker/levenshteinWorker":{"import":"./dist/worker/levenshteinWorker.mjs"}},"scripts":{"dev":"tsup --watch","lint":"biome lint src/","test":"vitest run","build":"tsup","check":"biome check src/","clean":"rimraf dist","watch":"tsup --watch","format":"biome format src/","demo:dev":"cd demo && pnpm run dev","lint:fix":"biome lint --write src/","test:e2e":"playwright test","check:fix":"biome check --write src/","typecheck":"tsc --noEmit","format:fix":"biome format --write src/","build:watch":"tsup --watch","license-check":"pnpm dlx license-checker --production --onlyAllow \"MIT;Apache-2.0;BSD-2-Clause;BSD-3-Clause;ISC;Unlicense\"","publish:major":"pnpm run typecheck && pnpm run --if-present test && pnpm version major --no-git-tag-version --no-git-checks && pnpm publish --no-git-checks","publish:minor":"pnpm run typecheck && pnpm run --if-present test && pnpm version minor --no-git-tag-version --no-git-checks && pnpm publish --no-git-checks","publish:patch":"pnpm run typecheck && pnpm run --if-present test && pnpm version patch --no-git-tag-version --no-git-checks && pnpm publish --no-git-checks","test:coverage":"vitest run --coverage","license-check:json":"pnpm dlx license-checker --production --onlyAllow \"MIT;Apache-2.0;BSD-2-Clause;BSD-3-Clause;ISC;Unlicense\" --json"},"_npmUser":{"name":"fehde","email":"genbu0498@gmail.com"},"description":"Advanced fuzzy search library with Levenshtein distance, n-gram indexing, and Web Worker support","directories":{},"sideEffects":false,"_nodeVersion":"26.0.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","react":"^19.2.7","rimraf":"^6.1.2","vitest":"^3.2.4","react-dom":"^19.2.7","typescript":"^5.9.3","@types/node":"^22.19.3","@types/react":"^19.2.7","@playwright/test":"^1.59.1","@types/react-dom":"^19.2.3","@vitest/coverage-v8":"^3.2.4"},"peerDependencies":{"react":"^19.2.7","react-dom":"^19.2.7"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/fuzzy-search_2.0.4_1784873350063_0.9763606676231185","host":"s3://npm-registry-packages-npm-production"}},"2.0.5":{"name":"@aiquants/fuzzy-search","version":"2.0.5","keywords":["fuzzy-search","levenshtein-distance","search","typescript","react","web-worker","n-gram","indexing"],"author":{"url":"https://x.com/fehdek","name":"fehde-k"},"license":"MIT","_id":"@aiquants/fuzzy-search@2.0.5","maintainers":[{"name":"fehde-k","email":"owner@aiquants.co.jp"},{"name":"fehde","email":"genbu0498@gmail.com"}],"dist":{"shasum":"2704ad783387c6b1aafbf53733f3886b1e3bc0f5","tarball":"https://registry.npmjs.org/@aiquants/fuzzy-search/-/fuzzy-search-2.0.5.tgz","fileCount":12,"integrity":"sha512-hhHlET6OXZJOM8EG4ukhQoFQbNgyByne3n3J8IkMVEbhKHMqKqdN6r7E/wEVNHJZAqAKK/PpGOhywx2HiGCi1Q==","signatures":[{"sig":"MEYCIQDUhjX8HAplGF5EhDBwycGRdbe210RBhCUsiA6H4+xiEQIhAKmSEDZHGL7gt0rMUME1sni5r0ueQgkzbxikLnfszcQY","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":336194},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","engines":{"node":">=16.0.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.mjs","require":"./dist/react.js"},"./worker/indexWorker":{"import":"./dist/worker/indexWorker.mjs"},"./worker/levenshteinWorker":{"import":"./dist/worker/levenshteinWorker.mjs"}},"scripts":{"dev":"tsup --watch","lint":"biome lint src/","test":"vitest run","build":"tsup","check":"biome check src/","clean":"rimraf dist","watch":"tsup --watch","format":"biome format src/","demo:dev":"cd demo && pnpm run dev","lint:fix":"biome lint --write src/","test:e2e":"playwright test","check:fix":"biome check --write src/","typecheck":"tsc --noEmit","format:fix":"biome format --write src/","build:watch":"tsup --watch","license-check":"pnpm dlx license-checker --production --onlyAllow \"MIT;Apache-2.0;BSD-2-Clause;BSD-3-Clause;ISC;Unlicense\"","publish:major":"pnpm run typecheck && pnpm run --if-present test && pnpm version major --no-git-tag-version --no-git-checks && pnpm publish --no-git-checks","publish:minor":"pnpm run typecheck && pnpm run --if-present test && pnpm version minor --no-git-tag-version --no-git-checks && pnpm publish --no-git-checks","publish:patch":"pnpm run typecheck && pnpm run --if-present test && pnpm version patch --no-git-tag-version --no-git-checks && pnpm publish --no-git-checks","test:coverage":"vitest run --coverage","license-check:json":"pnpm dlx license-checker --production --onlyAllow \"MIT;Apache-2.0;BSD-2-Clause;BSD-3-Clause;ISC;Unlicense\" --json"},"_npmUser":{"name":"fehde","email":"genbu0498@gmail.com"},"description":"Advanced fuzzy search library with Levenshtein distance, n-gram indexing, and Web Worker support","directories":{},"sideEffects":false,"_nodeVersion":"26.0.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","react":"^19.2.7","rimraf":"^6.1.2","vitest":"^3.2.4","react-dom":"^19.2.7","typescript":"^5.9.3","@types/node":"^22.19.3","@types/react":"^19.2.7","@playwright/test":"^1.59.1","@types/react-dom":"^19.2.3","@vitest/coverage-v8":"^3.2.4"},"peerDependencies":{"react":"^19.2.7","react-dom":"^19.2.7"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/fuzzy-search_2.0.5_1784950095095_0.333736107664216","host":"s3://npm-registry-packages-npm-production"}},"2.0.6":{"name":"@aiquants/fuzzy-search","version":"2.0.6","keywords":["fuzzy-search","levenshtein-distance","search","typescript","react","web-worker","n-gram","indexing"],"author":{"url":"https://x.com/fehdek","name":"fehde-k"},"license":"MIT","_id":"@aiquants/fuzzy-search@2.0.6","maintainers":[{"name":"fehde-k","email":"owner@aiquants.co.jp"},{"name":"fehde","email":"genbu0498@gmail.com"}],"dist":{"shasum":"e791c66d621b783e9c28a11332cd9d893f8cd1dd","tarball":"https://registry.npmjs.org/@aiquants/fuzzy-search/-/fuzzy-search-2.0.6.tgz","fileCount":12,"integrity":"sha512-cXP8XFOSuo60k500ovTB8iyA39vbfJkgplJCvglEIKIm0uoP/2Yl+LJTRYNFSriKys5d6tA3cACyTBCcVfcdkQ==","signatures":[{"sig":"MEUCIQCFlX9C7g1zNobeRk1xzZ6RPd1fmDRzDoXx9/CzuqyHXgIgAcbCw8Z4CFC/4HKg1CSXKa7JiD189hFuS4OFZMkFfzU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":336194},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","engines":{"node":">=16.0.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.mjs","require":"./dist/react.js"},"./worker/indexWorker":{"import":"./dist/worker/indexWorker.mjs"},"./worker/levenshteinWorker":{"import":"./dist/worker/levenshteinWorker.mjs"}},"scripts":{"dev":"tsup --watch","lint":"biome lint src/","test":"vitest run","build":"tsup","check":"biome check src/","clean":"rimraf dist","watch":"tsup --watch","format":"biome format src/","demo:dev":"cd demo && pnpm run dev","lint:fix":"biome lint --write src/","test:e2e":"playwright test","check:fix":"biome check --write src/","typecheck":"tsc --noEmit","format:fix":"biome format --write src/","build:watch":"tsup --watch","license-check":"pnpm dlx license-checker --production --onlyAllow \"MIT;Apache-2.0;BSD-2-Clause;BSD-3-Clause;ISC;Unlicense\"","publish:major":"pnpm run typecheck && pnpm run --if-present test && pnpm version major --no-git-tag-version --no-git-checks && pnpm publish --no-git-checks","publish:minor":"pnpm run typecheck && pnpm run --if-present test && pnpm version minor --no-git-tag-version --no-git-checks && pnpm publish --no-git-checks","publish:patch":"pnpm run typecheck && pnpm run --if-present test && pnpm version patch --no-git-tag-version --no-git-checks && pnpm publish --no-git-checks","test:coverage":"vitest run --coverage","license-check:json":"pnpm dlx license-checker --production --onlyAllow \"MIT;Apache-2.0;BSD-2-Clause;BSD-3-Clause;ISC;Unlicense\" --json"},"_npmUser":{"name":"fehde","email":"genbu0498@gmail.com"},"description":"Advanced fuzzy search library with Levenshtein distance, n-gram indexing, and Web Worker support","directories":{},"sideEffects":false,"_nodeVersion":"26.0.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","react":"^19.2.7","rimraf":"^6.1.2","vitest":"^3.2.4","react-dom":"^19.2.7","typescript":"^5.9.3","@types/node":"^22.19.3","@types/react":"^19.2.7","@playwright/test":"^1.59.1","@types/react-dom":"^19.2.3","@vitest/coverage-v8":"^3.2.4"},"peerDependencies":{"react":"^19.2.7","react-dom":"^19.2.7"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/fuzzy-search_2.0.6_1784952965195_0.3611227044310137","host":"s3://npm-registry-packages-npm-production"}},"2.0.7":{"name":"@aiquants/fuzzy-search","version":"2.0.7","keywords":["fuzzy-search","levenshtein-distance","search","typescript","react","web-worker","n-gram","indexing"],"author":{"url":"https://x.com/fehdek","name":"fehde-k"},"license":"MIT","_id":"@aiquants/fuzzy-search@2.0.7","maintainers":[{"name":"fehde-k","email":"owner@aiquants.co.jp"},{"name":"fehde","email":"genbu0498@gmail.com"}],"dist":{"shasum":"f226da8c037ef3f9f8299b4449cb610b2a1e6d4b","tarball":"https://registry.npmjs.org/@aiquants/fuzzy-search/-/fuzzy-search-2.0.7.tgz","fileCount":12,"integrity":"sha512-OqlNIDkfrYCUXE0BYHbD6uNoWv0O6QDmjwMv2A2Xr99xHObRaNxxSr9dh7azbcpr8CRQW3hS4btlMJ5L3rjJTw==","signatures":[{"sig":"MEYCIQD0JNSzY+2icOLddf72YBT3u916XQSFxbE0W5ylNoK6vQIhAO2RFOL5OWDHItvUY6r1qy42kY1ZZcTaUFYJNzhjvjZk","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":336426},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","engines":{"node":">=16.0.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.mjs","require":"./dist/react.js"},"./worker/indexWorker":{"import":"./dist/worker/indexWorker.mjs"},"./worker/levenshteinWorker":{"import":"./dist/worker/levenshteinWorker.mjs"}},"scripts":{"dev":"tsup --watch","lint":"biome lint src/","test":"vitest run","build":"tsup","check":"biome check src/","clean":"rimraf dist","watch":"tsup --watch","format":"biome format src/","demo:dev":"cd demo && pnpm run dev","lint:fix":"biome lint --write src/","test:e2e":"playwright test","check:fix":"biome check --write src/","typecheck":"tsc --noEmit","format:fix":"biome format --write src/","build:watch":"tsup --watch","license-check":"pnpm dlx license-checker --production --onlyAllow \"MIT;Apache-2.0;BSD-2-Clause;BSD-3-Clause;ISC;Unlicense\"","publish:major":"pnpm run typecheck && pnpm run --if-present test && pnpm version major --no-git-tag-version --no-git-checks && pnpm publish --no-git-checks","publish:minor":"pnpm run typecheck && pnpm run --if-present test && pnpm version minor --no-git-tag-version --no-git-checks && pnpm publish --no-git-checks","publish:patch":"pnpm run typecheck && pnpm run --if-present test && pnpm version patch --no-git-tag-version --no-git-checks && pnpm publish --no-git-checks","test:coverage":"vitest run --coverage","license-check:json":"pnpm dlx license-checker --production --onlyAllow \"MIT;Apache-2.0;BSD-2-Clause;BSD-3-Clause;ISC;Unlicense\" --json"},"_npmUser":{"name":"fehde","email":"genbu0498@gmail.com"},"description":"Advanced fuzzy search library with Levenshtein distance, n-gram indexing, and Web Worker support","directories":{},"sideEffects":false,"_nodeVersion":"26.0.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","react":"^19.2.7","rimraf":"^6.1.2","vitest":"^3.2.4","react-dom":"^19.2.7","typescript":"^5.9.3","@types/node":"^22.19.3","@types/react":"^19.2.7","@playwright/test":"^1.59.1","@types/react-dom":"^19.2.3","@vitest/coverage-v8":"^3.2.4"},"peerDependencies":{"react":"^19.2.7","react-dom":"^19.2.7"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/fuzzy-search_2.0.7_1785810407496_0.9171717549877545","host":"s3://npm-registry-packages-npm-production"}},"2.1.0":{"name":"@aiquants/fuzzy-search","version":"2.1.0","keywords":["fuzzy-search","levenshtein-distance","search","typescript","react","web-worker","n-gram","indexing"],"author":{"url":"https://x.com/fehdek","name":"fehde-k"},"license":"MIT","_id":"@aiquants/fuzzy-search@2.1.0","maintainers":[{"name":"fehde-k","email":"owner@aiquants.co.jp"},{"name":"fehde","email":"genbu0498@gmail.com"}],"dist":{"shasum":"5d9bb514ee771ab73098bcef3852185b057c9935","tarball":"https://registry.npmjs.org/@aiquants/fuzzy-search/-/fuzzy-search-2.1.0.tgz","fileCount":12,"integrity":"sha512-lrP+1uzyBntIr01x/o3APpscb7Hpx7R56k3rjOR1ckBRB8ye6IplzAHbB0Ujpffr9AJD/UGvUIW07mge1buYpQ==","signatures":[{"sig":"MEUCIAiidS6UqaBZprM2CFVek4QJgNchXTs2fRwjWRBiihphAiEAwUZn0s6LNBpCDXk5JhU94GcY1Eek6fBLrtXzoDhdA4c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":343926},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","engines":{"node":">=16.0.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.mjs","require":"./dist/react.js"},"./worker/indexWorker":{"import":"./dist/worker/indexWorker.mjs"},"./worker/levenshteinWorker":{"import":"./dist/worker/levenshteinWorker.mjs"}},"scripts":{"dev":"tsup --watch","lint":"biome lint src/","test":"vitest run","build":"tsup","check":"biome check src/","clean":"rimraf dist","watch":"tsup --watch","format":"biome format src/","demo:dev":"cd demo && pnpm run dev","lint:fix":"biome lint --write src/","test:e2e":"playwright test","check:fix":"biome check --write src/","typecheck":"tsc --noEmit","format:fix":"biome format --write src/","build:watch":"tsup --watch","license-check":"pnpm dlx license-checker --production --onlyAllow \"MIT;Apache-2.0;BSD-2-Clause;BSD-3-Clause;ISC;Unlicense\"","publish:major":"pnpm run typecheck && pnpm run --if-present test && pnpm version major --no-git-tag-version --no-git-checks && pnpm publish --no-git-checks","publish:minor":"pnpm run typecheck && pnpm run --if-present test && pnpm version minor --no-git-tag-version --no-git-checks && pnpm publish --no-git-checks","publish:patch":"pnpm run typecheck && pnpm run --if-present test && pnpm version patch --no-git-tag-version --no-git-checks && pnpm publish --no-git-checks","test:coverage":"vitest run --coverage","license-check:json":"pnpm dlx license-checker --production --onlyAllow \"MIT;Apache-2.0;BSD-2-Clause;BSD-3-Clause;ISC;Unlicense\" --json"},"_npmUser":{"name":"fehde","email":"genbu0498@gmail.com"},"description":"Advanced fuzzy search library with Levenshtein distance, n-gram indexing, and Web Worker support","directories":{},"sideEffects":false,"_nodeVersion":"26.0.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","react":"^19.2.7","rimraf":"^6.1.2","vitest":"^3.2.4","react-dom":"^19.2.7","typescript":"^5.9.3","@types/node":"^22.19.3","@types/react":"^19.2.7","@playwright/test":"^1.59.1","@types/react-dom":"^19.2.3","@vitest/coverage-v8":"^3.2.4"},"peerDependencies":{"react":"^19.2.7","react-dom":"^19.2.7"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/fuzzy-search_2.1.0_1785985718702_0.19158178389911118","host":"s3://npm-registry-packages-npm-production"}},"2.1.1":{"name":"@aiquants/fuzzy-search","version":"2.1.1","keywords":["fuzzy-search","levenshtein-distance","search","typescript","react","web-worker","n-gram","indexing"],"author":{"url":"https://x.com/fehdek","name":"fehde-k"},"license":"MIT","_id":"@aiquants/fuzzy-search@2.1.1","maintainers":[{"name":"fehde-k","email":"owner@aiquants.co.jp"},{"name":"fehde","email":"genbu0498@gmail.com"}],"dist":{"shasum":"3fdf15f010bd7f0ba845c6a0eb3ba5c7fa7b7e35","tarball":"https://registry.npmjs.org/@aiquants/fuzzy-search/-/fuzzy-search-2.1.1.tgz","fileCount":12,"integrity":"sha512-RrNC3SR3Dd7wZLGufCI0Viz8OxkJUX6f7lzExGXMbPOLV98TBsdvkIG0vHR9gDUEEzVY5/Vy+hY93nCiEhonIA==","signatures":[{"sig":"MEUCIQCogopZv8lZhXEY5BX53cHPyBpPksD+rYgyVOKmCMGA6QIgZy5KCoHGNBAYagULq0L3zcfuV3UF0qG1eECfBss84/o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":344143},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","engines":{"node":">=16.0.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.mjs","require":"./dist/react.js"},"./worker/indexWorker":{"import":"./dist/worker/indexWorker.mjs"},"./worker/levenshteinWorker":{"import":"./dist/worker/levenshteinWorker.mjs"}},"scripts":{"dev":"tsup --watch","lint":"biome lint src/","test":"vitest run","build":"tsup","check":"biome check src/","clean":"rimraf dist","watch":"tsup --watch","format":"biome format src/","demo:dev":"cd demo && pnpm run dev","lint:fix":"biome lint --write src/","test:e2e":"playwright test","check:fix":"biome check --write src/","typecheck":"tsc --noEmit","format:fix":"biome format --write src/","build:watch":"tsup --watch","license-check":"pnpm dlx license-checker --production --onlyAllow \"MIT;Apache-2.0;BSD-2-Clause;BSD-3-Clause;ISC;Unlicense\"","publish:major":"pnpm run typecheck && pnpm run --if-present test && pnpm version major --no-git-tag-version --no-git-checks && pnpm publish --no-git-checks","publish:minor":"pnpm run typecheck && pnpm run --if-present test && pnpm version minor --no-git-tag-version --no-git-checks && pnpm publish --no-git-checks","publish:patch":"pnpm run typecheck && pnpm run --if-present test && pnpm version patch --no-git-tag-version --no-git-checks && pnpm publish --no-git-checks","test:coverage":"vitest run --coverage","license-check:json":"pnpm dlx license-checker --production --onlyAllow \"MIT;Apache-2.0;BSD-2-Clause;BSD-3-Clause;ISC;Unlicense\" --json"},"_npmUser":{"name":"fehde","email":"genbu0498@gmail.com"},"description":"Advanced fuzzy search library with Levenshtein distance, n-gram indexing, and Web Worker support","directories":{},"sideEffects":false,"_nodeVersion":"26.0.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","react":"^19.2.7","rimraf":"^6.1.2","vitest":"^3.2.4","react-dom":"^19.2.7","typescript":"^5.9.3","@types/node":"^22.19.3","@types/react":"^19.2.7","@playwright/test":"^1.59.1","@types/react-dom":"^19.2.3","@vitest/coverage-v8":"^3.2.4"},"peerDependencies":{"react":"^19.2.7","react-dom":"^19.2.7"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/fuzzy-search_2.1.1_1785990793425_0.40662555604167383","host":"s3://npm-registry-packages-npm-production"}},"2.1.2":{"name":"@aiquants/fuzzy-search","version":"2.1.2","keywords":["fuzzy-search","levenshtein-distance","search","typescript","react","web-worker","n-gram","indexing"],"author":{"url":"https://x.com/fehdek","name":"fehde-k"},"license":"MIT","_id":"@aiquants/fuzzy-search@2.1.2","maintainers":[{"name":"fehde-k","email":"owner@aiquants.co.jp"},{"name":"fehde","email":"genbu0498@gmail.com"}],"dist":{"shasum":"b82c6e0c79a8881d0ed66fe4a8108bfd092165dc","tarball":"https://registry.npmjs.org/@aiquants/fuzzy-search/-/fuzzy-search-2.1.2.tgz","fileCount":12,"integrity":"sha512-bSxVP/nfNcE71BrVXtUjrvhJATm9wMFlhkFPUfhwjq8ejEBXpeVzRDRcs+QEJk10ZXETYdkEouiWYrF3Pe2fSw==","signatures":[{"sig":"MEUCIQDxA+aR104AUcjZMupIVxL2aZGD3Zsfet9ZwLs8Ysa+QgIgMkU/orIuUgMZZRPirEDx+fdrHT6YEaXjN7uCtqgy8hQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":344222},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","engines":{"node":">=16.0.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.mjs","require":"./dist/react.js"},"./worker/indexWorker":{"import":"./dist/worker/indexWorker.mjs"},"./worker/levenshteinWorker":{"import":"./dist/worker/levenshteinWorker.mjs"}},"scripts":{"dev":"tsup --watch","lint":"biome lint src/","test":"vitest run","build":"tsup","check":"biome check src/","clean":"rimraf dist","watch":"tsup --watch","format":"biome format src/","demo:dev":"cd demo && pnpm run dev","lint:fix":"biome lint --write src/","test:e2e":"playwright test","check:fix":"biome check --write src/","typecheck":"tsc --noEmit","format:fix":"biome format --write src/","build:watch":"tsup --watch","license-check":"pnpm dlx license-checker --production --onlyAllow \"MIT;Apache-2.0;BSD-2-Clause;BSD-3-Clause;ISC;Unlicense\"","publish:major":"pnpm run typecheck && pnpm run --if-present test && pnpm version major --no-git-tag-version --no-git-checks && pnpm publish --no-git-checks","publish:minor":"pnpm run typecheck && pnpm run --if-present test && pnpm version minor --no-git-tag-version --no-git-checks && pnpm publish --no-git-checks","publish:patch":"pnpm run typecheck && pnpm run --if-present test && pnpm version patch --no-git-tag-version --no-git-checks && pnpm publish --no-git-checks","test:coverage":"vitest run --coverage","license-check:json":"pnpm dlx license-checker --production --onlyAllow \"MIT;Apache-2.0;BSD-2-Clause;BSD-3-Clause;ISC;Unlicense\" --json"},"_npmUser":{"name":"fehde","email":"genbu0498@gmail.com"},"description":"Advanced fuzzy search library with Levenshtein distance, n-gram indexing, and Web Worker support","directories":{},"sideEffects":false,"_nodeVersion":"26.0.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","react":"^19.2.7","rimraf":"^6.1.2","vitest":"^3.2.4","react-dom":"^19.2.7","typescript":"^5.9.3","@types/node":"^22.19.3","@types/react":"^19.2.7","@playwright/test":"^1.59.1","@types/react-dom":"^19.2.3","@vitest/coverage-v8":"^3.2.4"},"peerDependencies":{"react":"^19.2.7","react-dom":"^19.2.7"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/fuzzy-search_2.1.2_1785992751877_0.9423970193049558","host":"s3://npm-registry-packages-npm-production"}},"2.2.0":{"name":"@aiquants/fuzzy-search","version":"2.2.0","keywords":["fuzzy-search","levenshtein-distance","search","typescript","react","web-worker","n-gram","indexing"],"author":{"url":"https://x.com/fehdek","name":"fehde-k"},"license":"MIT","_id":"@aiquants/fuzzy-search@2.2.0","maintainers":[{"name":"fehde-k","email":"owner@aiquants.co.jp"},{"name":"fehde","email":"genbu0498@gmail.com"}],"dist":{"shasum":"a6a3cf22a3e6bbaa2e5b95ffd5563b30300c81bd","tarball":"https://registry.npmjs.org/@aiquants/fuzzy-search/-/fuzzy-search-2.2.0.tgz","fileCount":12,"integrity":"sha512-lQyaPQnLdgGdMBnMU8VqPS+wrFhTx6oXdHF0P/x6AFdeS8fFxv3N1i5ZAqr3twebnhvfLy89TW5adm9YIb74gw==","signatures":[{"sig":"MEYCIQDrv+wHhfat2kJj/bO8L1qIkpi8UmHphoFR5tkGn7tgUQIhALB1xmPBg7mYfMfTfi2aNsuEKPvELbLjwaEpBCSEwFgT","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":350594},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","engines":{"node":">=16.0.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.mjs","require":"./dist/react.js"},"./worker/indexWorker":{"import":"./dist/worker/indexWorker.mjs"},"./worker/levenshteinWorker":{"import":"./dist/worker/levenshteinWorker.mjs"}},"scripts":{"dev":"tsup --watch","lint":"biome lint src/","test":"vitest run","build":"tsup","check":"biome check src/","clean":"rimraf dist","watch":"tsup --watch","format":"biome format src/","demo:dev":"cd demo && pnpm run dev","lint:fix":"biome lint --write src/","test:e2e":"playwright test","check:fix":"biome check --write src/","typecheck":"tsc --noEmit","format:fix":"biome format --write src/","build:watch":"tsup --watch","license-check":"pnpm dlx license-checker --production --onlyAllow \"MIT;Apache-2.0;BSD-2-Clause;BSD-3-Clause;ISC;Unlicense\"","publish:major":"pnpm run typecheck && pnpm run --if-present test && pnpm version major --no-git-tag-version --no-git-checks && pnpm publish --no-git-checks","publish:minor":"pnpm run typecheck && pnpm run --if-present test && pnpm version minor --no-git-tag-version --no-git-checks && pnpm publish --no-git-checks","publish:patch":"pnpm run typecheck && pnpm run --if-present test && pnpm version patch --no-git-tag-version --no-git-checks && pnpm publish --no-git-checks","test:coverage":"vitest run --coverage","license-check:json":"pnpm dlx license-checker --production --onlyAllow \"MIT;Apache-2.0;BSD-2-Clause;BSD-3-Clause;ISC;Unlicense\" --json"},"_npmUser":{"name":"fehde","email":"genbu0498@gmail.com"},"description":"Advanced fuzzy search library with Levenshtein distance, n-gram indexing, and Web Worker support","directories":{},"sideEffects":false,"_nodeVersion":"26.0.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","jsdom":"^30.0.1","react":"^19.2.7","rimraf":"^6.1.2","vitest":"^3.2.4","react-dom":"^19.2.7","typescript":"^5.9.3","@types/node":"^22.19.3","@types/react":"^19.2.7","@playwright/test":"^1.59.1","@types/react-dom":"^19.2.3","@vitest/coverage-v8":"^3.2.4","@testing-library/react":"^16.3.0"},"peerDependencies":{"react":"^19.2.7","react-dom":"^19.2.7"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/fuzzy-search_2.2.0_1786173889016_0.6798441875026993","host":"s3://npm-registry-packages-npm-production"}},"2.2.1":{"_id":"@aiquants/fuzzy-search@2.2.1","dist":{"shasum":"aba792c570546e41835d94fc65d6ab10f081b308","tarball":"https://registry.npmjs.org/@aiquants/fuzzy-search/-/fuzzy-search-2.2.1.tgz","fileCount":12,"integrity":"sha512-ic/2ble67ZaaneiNOw0iW3Z6a9THdNjGCfr6CCYhZLx7gRyq1ROo0RII6JSILfc93BcVDb/8dP7RO561i0BbHg==","signatures":[{"sig":"MEYCIQCqvkZHaMdUSEtWY99VjfMSDvDEHmv09kkIyhazhtIl5wIhAM3aPg1CRrEcv+yC5uSgczW/9YmXL6aODsssW48Y8gQf","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIA1/E/05i+0osch/s9kFUReP209q33z9xBW6HtZOpx+zAiBS3qOYDWv0jDwVGn5A4VcBzpPsD1lGAFcIGooJgNhHaA=="}],"unpackedSize":226100},"main":"dist/index.js","name":"@aiquants/fuzzy-search","types":"dist/index.d.ts","author":{"url":"https://x.com/fehdek","name":"fehde-k"},"module":"dist/index.mjs","engines":{"node":">=16.0.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.mjs","require":"./dist/react.js"},"./worker/indexWorker":{"import":"./dist/worker/indexWorker.mjs"},"./worker/levenshteinWorker":{"import":"./dist/worker/levenshteinWorker.mjs"}},"license":"MIT","scripts":{"dev":"tsup --watch","lint":"biome lint src/","test":"vitest run","build":"tsup && node ../../.config/scripts/strip-dts-comments.mjs dist","check":"biome check src/","clean":"rimraf dist","watch":"tsup --watch","format":"biome format src/","demo:dev":"cd demo && pnpm run dev","lint:fix":"biome lint --write src/","test:e2e":"playwright test","check:fix":"biome check --write src/","typecheck":"tsc --noEmit","format:fix":"biome format --write src/","build:watch":"tsup --watch","license-check":"pnpm dlx license-checker --production --onlyAllow \"MIT;Apache-2.0;BSD-2-Clause;BSD-3-Clause;ISC;Unlicense\"","publish:major":"pnpm run typecheck && pnpm run --if-present test && pnpm version major --no-git-tag-version --no-git-checks && pnpm publish --no-git-checks","publish:minor":"pnpm run typecheck && pnpm run --if-present test && pnpm version minor --no-git-tag-version --no-git-checks && pnpm publish --no-git-checks","publish:patch":"pnpm run typecheck && pnpm run --if-present test && pnpm version patch --no-git-tag-version --no-git-checks && pnpm publish --no-git-checks","test:coverage":"vitest run --coverage","license-check:json":"pnpm dlx license-checker --production --onlyAllow \"MIT;Apache-2.0;BSD-2-Clause;BSD-3-Clause;ISC;Unlicense\" --json"},"version":"2.2.1","_npmUser":{"name":"fehde","email":"genbu0498@gmail.com"},"keywords":["fuzzy-search","levenshtein-distance","search","typescript","react","web-worker","n-gram","indexing"],"description":"Advanced fuzzy search library with Levenshtein distance, n-gram indexing, and Web Worker support","directories":{},"maintainers":[{"name":"fehde-k","email":"owner@aiquants.co.jp"},{"name":"fehde","email":"genbu0498@gmail.com"}],"sideEffects":false,"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","jsdom":"^30.0.1","react":"^19.2.7","rimraf":"^6.1.2","vitest":"^3.2.4","react-dom":"^19.2.7","typescript":"^5.9.3","@types/node":"^22.19.3","@types/react":"^19.2.7","@playwright/test":"^1.59.1","@types/react-dom":"^19.2.3","@vitest/coverage-v8":"^3.2.4","@testing-library/react":"^16.3.0"},"peerDependencies":{"react":"^19.2.7","react-dom":"^19.2.7"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/fuzzy-search_2.2.1_1789683801808_0.2087330908770837"}}},"time":{"created":"2025-10-28T08:43:26.302Z","modified":"2026-09-17T22:23:22.136Z","1.1.0":"2025-10-28T08:43:26.637Z","1.2.0":"2025-11-27T02:03:40.985Z","1.2.1":"2025-12-08T21:45:20.737Z","1.4.0":"2025-12-19T21:51:06.690Z","1.5.0":"2025-12-23T13:38:13.616Z","1.5.1":"2025-12-23T23:53:22.215Z","1.6.0":"2026-06-06T04:15:09.610Z","2.0.0":"2026-07-11T03:01:27.475Z","2.0.1":"2026-07-23T01:48:27.018Z","2.0.2":"2026-07-23T02:10:38.860Z","2.0.3":"2026-07-24T03:07:51.994Z","2.0.4":"2026-07-24T06:09:10.384Z","2.0.5":"2026-07-25T03:28:15.237Z","2.0.6":"2026-07-25T04:16:05.386Z","2.0.7":"2026-08-04T02:26:47.683Z","2.1.0":"2026-08-06T03:08:38.830Z","2.1.1":"2026-08-06T04:33:13.566Z","2.1.2":"2026-08-06T05:05:52.049Z","2.2.0":"2026-08-08T07:24:49.201Z","2.2.1":"2026-09-17T22:23:21.958Z"},"author":{"url":"https://x.com/fehdek","name":"fehde-k"},"license":"MIT","keywords":["fuzzy-search","levenshtein-distance","search","typescript","react","web-worker","n-gram","indexing"],"description":"Advanced fuzzy search library with Levenshtein distance, n-gram indexing, and Web Worker support","maintainers":[{"name":"fehde-k","email":"owner@aiquants.co.jp"},{"name":"fehde","email":"genbu0498@gmail.com"}],"readme":"# @aiquants/fuzzy-search\n\nAdvanced fuzzy search library with Levenshtein distance, n-gram indexing, and Web Worker support.\n\n## Features\n\n- **Two-stage parallel search**: an index stage (n-gram / word / phonetic candidate filtering, scored by the max of Jaro-Winkler similarity and a substring-containment score) and a Levenshtein distance stage run in parallel, and their results are merged by score\n- **Web Worker offloading**: both stages run in dedicated Web Workers shared globally per `workerId`, keeping the main thread responsive\n- **Japanese-aware**: phonetic index (katakana → hiragana normalization), and index candidates work even for text shorter than the n-gram size — both a single-character query on its own and a single-character token inside a multi-token query (e.g. the `郎` in `佐藤 郎`)\n- **Substring-containment guarantee**: when the query (case-normalized and trimmed of surrounding whitespace) is a literal substring of a field value, the index stage scores it at least `containmentScoreBase` (default `0.7`) regardless of the Jaro-Winkler match window — a mid-string CJK match like `\"桜花\"` in `\"10 桜花\"` can no longer score 0 and be dropped by the threshold\n- **React integration**: `useFuzzySearch` hook with debouncing, index pre-building, and search state management\n- **TypeScript first**: full type safety and IntelliSense support\n- **Highly configurable**: thresholds, sort modes, per-field weights, worker tuning options\n\n## Installation\n\n```bash\n# Using pnpm (recommended)\npnpm add @aiquants/fuzzy-search\n\n# Using npm\nnpm install @aiquants/fuzzy-search\n```\n\n`react` / `react-dom` are **optional** peer dependencies — they are required only when you use the `@aiquants/fuzzy-search/react` entry.\n\n## ⚠️ Breaking changes (v2)\n\n1. **`useFuzzySearch` moved to the `/react` subpath.** Import it from `@aiquants/fuzzy-search/react`. The main entry no longer depends on React, so React-less projects can use the core API.\n2. **`multiTermOperator` now defaults to `\"or\"`.** The previous default `\"and\"` required every whitespace-separated token to appear as an exact substring, which effectively disabled fuzzy matching for multi-word queries. Pass `multiTermOperator: \"and\"` explicitly if you need the old narrowing behavior.\n3. **CJS builds require explicit worker URLs.** `import.meta.url` is not available in the CommonJS build, so the default worker URLs cannot be resolved — pass `workerUrls` (see [Worker setup](#worker-setup)). ESM builds resolve worker URLs automatically.\n4. **The constructor now merges partial options with defaults.** `new FuzzySearchManager({ threshold: 0.5 })` works as expected (previously a partial object silently discarded all defaults and every search returned zero results).\n\n## Quick Start\n\n```typescript\nimport { FuzzySearchManager } from '@aiquants/fuzzy-search'\n\nconst items = [\n  { name: 'Apple', category: 'Fruit' },\n  { name: 'Banana', category: 'Fruit' },\n  { name: 'Carrot', category: 'Vegetable' },\n]\n\nconst searchManager = new FuzzySearchManager({ threshold: 0.4 })\n\nconst results = await searchManager.search('aple', items, ['name'])\n// => [{ item: { name: 'Apple', ... }, score: ..., baseScore: ..., matchedFields: ['name'], originalIndex: 0 }]\n\nresults.forEach((result) => {\n  console.log(`Item: ${result.item.name}, Score: ${result.score}`)\n})\n\n// Clean up (rejects in-flight searches and releases worker references)\nsearchManager.dispose()\n```\n\nA top-level `threshold` is propagated to both workers unless you specify `indexWorkerOptions` / `levenshteinWorkerOptions` explicitly.\n\n## Worker setup\n\nThe search runs in two Web Workers. How their scripts are located depends on your build setup:\n\n- **ESM + bundler-free / modern bundlers**: the default worker URLs are resolved relative to the library module via `import.meta.url`. No configuration needed.\n- **Vite (recommended for apps)**: import the worker files as URLs and pass them explicitly, so they are emitted as build assets:\n\n```typescript\nimport indexWorkerUrl from '@aiquants/fuzzy-search/worker/indexWorker?url'\nimport levenshteinWorkerUrl from '@aiquants/fuzzy-search/worker/levenshteinWorker?url'\n\nconst manager = new FuzzySearchManager({\n  workerUrls: {\n    indexWorker: indexWorkerUrl,\n    levenshteinWorker: levenshteinWorkerUrl,\n  },\n})\n```\n\n- **CommonJS (`require`)**: `workerUrls` is **required**. Without it the manager logs a warning and `search()` rejects because no worker can be created.\n\n## React Integration\n\n```tsx\nimport { useMemo } from 'react'\nimport { useFuzzySearch } from '@aiquants/fuzzy-search/react'\n\nfunction SearchComponent({ items }: { items: User[] }) {\n  // ✅ Memoize searchFields and options — see the note below\n  const searchFields = useMemo(() => ['name', 'email'], [])\n  const options = useMemo(() => ({ threshold: 0.4, debounceMs: 300 }), [])\n\n  const {\n    searchTerm,\n    setSearchTerm,\n    filteredItems,\n    isSearching,\n    isIndexBuilding,\n    error,\n  } = useFuzzySearch(items, searchFields, options)\n\n  return (\n    <div>\n      <input\n        value={searchTerm}\n        onChange={(e) => setSearchTerm(e.target.value)}\n        placeholder=\"Search...\"\n      />\n      {isSearching && <div>Searching...</div>}\n      <ul>\n        {filteredItems.map((result) => (\n          <li key={result.originalIndex}>{result.item.name}</li>\n        ))}\n      </ul>\n      {error && <div role=\"alert\">{error}</div>}\n    </div>\n  )\n}\n```\n\nThe hook also returns `searchHistory`, `getSearchSuggestions`, `performanceMetrics`, `rebuildIndex`, `resetStats`, `clearSearch`, and `clearHistory`. A separate `useSearchHistory` hook provides standalone history management.\n\n### Important: memoization required\n\n`useFuzzySearch` compares the `items` array, `searchFields`, and `options` by reference. If you create new objects on every render, the hook re-initializes the search manager each time and can enter a render loop. Memoize them with `useMemo` (or define them outside the component).\n\nIn-place mutation of the same `items` array reference is **not** detected — pass a new array when the data changes (the standard React immutable-update pattern), or call `rebuildIndex()` explicitly.\n\n## Worker isolation vs sharing\n\nThe `workerId` option controls how Web Workers are managed:\n\n- **Sharing (same ID, the default `\"default\"`)**: multiple `FuzzySearchManager` instances share the same workers and the built index is reused when the dataset is identical. Each request carries a dataset hash, so managers with *different* datasets never receive each other's results — but they will rebuild the shared index back and forth. For that case, prefer isolation.\n- **Isolation (different IDs)**: separate worker instances per ID. Use this when multiple search components work on different datasets concurrently.\n\n```typescript\nimport { FuzzySearchManager, LogLevel } from '@aiquants/fuzzy-search'\n\nconst productSearch = new FuzzySearchManager({ workerId: 'products' })\nconst userSearch = new FuzzySearchManager({\n  workerId: 'users',\n  logLevel: LogLevel.DEBUG, // DEBUG / INFO / WARN / ERROR / NONE\n  logger: console,          // optional custom ILogger implementation\n})\n```\n\nNote: workers are kept alive after `dispose()` so they can be reused by later manager instances (they are page-scoped singletons per `workerId`).\n\n## Configuration Options\n\nTop-level options (`FuzzySearchOptions`, all optional in the constructor / hook):\n\n| Option | Default | Description |\n| --- | --- | --- |\n| `threshold` | `0.4 (Index) / 0.3 (Levenshtein)` | Minimum similarity score (0-1). Propagated to worker options if not explicitly overridden |\n| `caseSensitive` | `false` | Case-sensitive matching |\n| `multiTermOperator` | `\"or\"` | How whitespace-separated query tokens combine. `\"and\"` requires every token as an exact substring |\n| `ngramSize` | `2` | N-gram size for the index. Shorter queries fall back to substring matching over indexed keys |\n| `minNgramOverlap` | `1` | Per-token lower bound of the n-gram overlap threshold in the accurate candidate strategy |\n| `sortBy` | `\"relevance\"` | `\"score\"` \\| `\"relevance\"` (score + bonuses for fields meeting the threshold and actual partial matches) \\| `\"original\"` (input order) |\n| `sortOrder` | `\"desc\"` | Sort direction. Not applied when `sortBy` is `\"original\"` (always input order) |\n| `enableIndexFiltering` | `true` | Run the index (candidate) stage |\n| `enableLevenshtein` | `true` | Run the Levenshtein stage (full scan) |\n| `parallelSearchStrategy` | `\"balanced\"` | Result merging: `\"balanced\"` (merge by score) \\| `\"index-first\"` \\| `\"levenshtein-first\"` |\n| `customWeights` | `{}` | Per-field score multipliers, e.g. `{ name: 2.0 }` |\n| `debounceMs` | `300` | Debounce for the React hook |\n| `autoSearchOnIndexRebuild` | `true` | Re-run the current query after the hook rebuilds the index |\n| `workerId` | `\"default\"` | Worker sharing/isolation key |\n| `workerUrls` | – | Explicit worker script URLs (required for CJS) |\n| `logLevel` / `logger` | `WARN` / `console` | Logging control. The `logger` object stays on the main thread (it is not sent to workers) |\n\nWorker tuning options: `indexWorkerOptions` (`strategy: \"fast\" | \"accurate\" | \"hybrid\"`, `threshold`, `ngramOverlapThreshold`, `minCandidatesRatio`, `maxCandidatesRatio`, `jaroWinklerPrefix`, `maxResults`, `relevanceFieldWeight`, `relevancePerfectMatchBonus`, `containmentScoreBase`, `containmentCoverageWeight`) and `levenshteinWorkerOptions` (`threshold`, `lengthSimilarityThreshold`, `lengthDiffPenalty`, `partialMatchBonus`, `maxResults`, `relevanceFieldWeight`). Explicit `0` values are honored.\n\nThe index stage scores each field as `max(JaroWinkler, containment)`: when the case-normalized, trimmed query is a literal substring of the field value, the containment score `containmentScoreBase + containmentCoverageWeight * (trimmedQueryLength / valueLength)` (defaults `0.7` / `0.3`; an identical string scores exactly `1.0`) rescues matches the Jaro-Winkler window cannot reach.\n\nThe scoring query is trimmed once up front, so Jaro-Winkler, containment, and the perfect-match equality check are all invariant to surrounding whitespace. In `sortBy: \"relevance\"` mode, the perfect-match bonus (`relevancePerfectMatchBonus`) is granted only on explicit string equality — not inferred from a high score.\n\nFor queries with more than one token, each field is scored against the whole query **and** against each token individually, and the best of those wins.\nWithout this, tokens spread across different fields (e.g. `\"佐藤 商事\"` where one field holds `\"佐藤 商\"` and another `\"商事ファシリティーズ\"`) leave every field failing to contain the whole query, so the containment bonus never applies and the whole query's length dilutes the similarity.\nThe relevance bonus follows the same rule: a field matching any single token qualifies — by string equality in the index stage (`relevancePerfectMatchBonus`), by substring containment in the Levenshtein stage (`partialMatchBonus`).\n\nCandidate retrieval treats whitespace-separated query tokens with OR semantics at every stage: the `fast` strategy collects n-grams from the whole query **and from each token individually**, the candidate-overflow filter and the `accurate` strategy evaluate n-gram overlap per token (an item survives if any one token clears its threshold), and tokens shorter than `ngramSize` — which cannot produce n-grams — fall back to substring matching over indexed keys instead of being silently dropped.\nA mixed query like `\"A 粉末\"` therefore keeps the items that only match the short token, and `\"佐藤 郎\"` returns the union of both tokens' hits rather than dropping the single-character token's side entirely (all three strategies return the same union).\n\n## API Reference\n\n### Main entry (`@aiquants/fuzzy-search`)\n\n- `FuzzySearchManager<T>` — `search()`, `prebuildIndex()`, `rebuildIndex()`, `getStats()`, `getCurrentStats()`, `resetStats()`, `getSearchHistory()`, `updateSearchHistory()`, `on()` / `off()` (search lifecycle events), `dispose()`\n- `DEFAULT_FUZZY_SEARCH_OPTIONS`, `isSearchResultItem`, `LogLevel`\n- Types: `FuzzySearchOptions`, `PartialFuzzySearchOptions`, `SearchResultItem`, `SearchResults`, `SearchStats`, `UseFuzzySearchOptions`, `ILogger`, …\n\n### React entry (`@aiquants/fuzzy-search/react`)\n\n- `useFuzzySearch(items, searchFields, options?)` — main search hook\n- `useSearchHistory(maxHistory?)` — standalone search-term history\n\n### Worker entries\n\n- `@aiquants/fuzzy-search/worker/indexWorker`\n- `@aiquants/fuzzy-search/worker/levenshteinWorker`\n\n## Performance Tips\n\n1. **Pre-build the index** with `prebuildIndex()` (the React hook does this automatically when `items` changes)\n2. **Keep the `items` array reference stable** between searches — the dataset content hash is memoized per array reference\n3. **Use separate `workerId`s** for components searching different datasets\n4. **Set `maxResults`** in the worker options for very large result sets\n5. **Adjust `threshold`** — lower values return more (and noisier) results\n\n## Browser Support\n\n- Chrome / Chromium 60+\n- Firefox 55+\n- Safari 11+\n- Edge 79+\n\n## License\n\nMIT License\n\n## Contributing\n\nContributions are welcome! Please feel free to submit a Pull Request.\n","readmeFilename":""}