@jungle-commerce/typesense-react
Version:
React hooks and components for building search interfaces with Typesense
62 lines • 2.06 kB
TypeScript
/**
* @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