UNPKG

@jungle-commerce/typesense-react

Version:

React hooks and components for building search interfaces with Typesense

62 lines 2.06 kB
/** * @fileoverview Configurable pattern matching utilities for schema field discovery */ /** * Pattern matching configuration for field discovery */ export interface FieldPattern { /** Pattern to match against field names */ pattern: string; /** Whether to match exactly or contains */ matchType: 'exact' | 'contains' | 'startsWith' | 'endsWith'; /** Case sensitive matching */ caseSensitive?: boolean; } /** * Configuration for schema discovery patterns */ export interface SchemaPatternConfig { /** Patterns for identifying timestamp fields */ timestampPatterns?: FieldPattern[]; /** Patterns for identifying disjunctive (OR) fields */ disjunctivePatterns?: FieldPattern[]; /** Patterns for identifying fields to exclude */ excludePatterns?: FieldPattern[]; /** Patterns for identifying date fields */ datePatterns?: FieldPattern[]; /** Patterns for identifying low-cardinality fields (for select UI) */ selectFieldPatterns?: FieldPattern[]; } /** * Default timestamp patterns */ export declare const DEFAULT_TIMESTAMP_PATTERNS: FieldPattern[]; /** * Default disjunctive field patterns */ export declare const DEFAULT_DISJUNCTIVE_PATTERNS: FieldPattern[]; /** * Default exclude patterns */ export declare const DEFAULT_EXCLUDE_PATTERNS: FieldPattern[]; /** * Default date field patterns */ export declare const DEFAULT_DATE_PATTERNS: FieldPattern[]; /** * Default select field patterns (low cardinality) */ export declare const DEFAULT_SELECT_PATTERNS: FieldPattern[]; /** * Check if a field name matches a pattern */ export declare function matchesPattern(fieldName: string, pattern: FieldPattern): boolean; /** * Check if a field name matches any pattern in a list */ export declare function matchesAnyPattern(fieldName: string, patterns: FieldPattern[]): boolean; /** * Get the first matching pattern for a field */ export declare function getMatchingPattern(fieldName: string, patterns: FieldPattern[]): FieldPattern | null; //# sourceMappingURL=schemaPatterns.d.ts.map