Finder - Search in array with efficiency
Finder
Optimized searching utility with support for binary search, fuzzy matching, and smart caching.
Import
import { Finder } from 'nhb-toolbox';
Type Definitions
interface FindOptions<T extends GenericObject = {}> {
  fuzzy?: boolean;          // Enable fuzzy matching
  cacheKey?: string;        // Custom cache key
  forceBinary?: boolean;    // Force binary search
  caseInsensitive?: boolean;// Case-insensitive search
  needSorting?: boolean;    // Auto-sort data
  data?: T[] | (() => T[]); // Alternate data source
}
type KeySelector<T> = Extract<OwnKeys<T>, string | number> | ((item: T) => string | number);
type OwnKeys<T> = { [K in keyof T]: {} extends Pick<T, K> ? never : K;}[keyof T];
Constructor
constructor(data: T[] | (() => T[]), ttl?: number)
info
Tis a generic type extendingGenericObject- an object with string keys and any values.datacan be a static array or a function returning an array.
Parameters
| Name | Type | Description | Default | 
|---|---|---|---|
data | T[] | (() => T[]) | Dataset or provider function | - | 
ttl | number | Cache duration in milliseconds | 300000 (5 min) | 
Available Methods
- findAll - Returns all items matching criteria
 - findOne - Returns first item matching criteria
 - findOneAsync - Async version of 
findOne - findAllAsync - Async version of 
findAll - binarySearch - Performs binary search on sorted array
 - fuzzySearch - Performs fuzzy string search
 - clearCache - Clears cached search results
 
Notes
- All methods support caching with configurable TTL
 - Search operations are optimized for performance
 - Supports both exact and fuzzy matching
 - Thread-safe implementation
 
See Also
- Array.find - Native array find
 - Array.filter - Native array filter