UNPKG

@jungle-commerce/typesense-react

Version:

React hooks and components for building search interfaces with Typesense

89 lines 2.36 kB
/** * @fileoverview Input validation utilities for Typesense operations */ import type { SearchRequest } from '../types'; /** * Validation result interface */ export interface ValidationResult { isValid: boolean; errors: string[]; } /** * Validates a search request */ export declare function validateSearchRequest(request: SearchRequest): ValidationResult; /** * Validates a filter string */ export declare function validateFilterString(filterString: string): ValidationResult; /** * Validates a sort string */ export declare function validateSortString(sortString: string): ValidationResult; /** * Options for numeric range validation */ export interface NumericRangeOptions { allowNegative?: boolean; minValue?: number; maxValue?: number; } /** * Validates a numeric range */ export declare function validateNumericRange(min?: number, max?: number, options?: NumericRangeOptions): ValidationResult & { error?: string; }; /** * Options for date range validation */ export interface DateRangeOptions { allowFuture?: boolean; maxDays?: number; } /** * Validates a date range */ export declare function validateDateRange(start?: Date | string, end?: Date | string, options?: DateRangeOptions): ValidationResult & { error?: string; }; /** * Validates a facet value */ export declare function validateFacetValue(value: any, type?: string): ValidationResult; /** * Validates a collection name */ export declare function validateCollectionName(name: string): ValidationResult; /** * Validates a field name */ export declare function validateFieldName(name: string): ValidationResult; /** * Options for search query validation */ export interface SearchQueryOptions { maxLength?: number; } /** * Validates a search query */ export declare function validateSearchQuery(query: string, options?: SearchQueryOptions): ValidationResult; /** * Validates an email address */ export declare function isValidEmail(email: string): boolean; /** * Validates a URL */ export declare function isValidUrl(url: string): boolean; /** * Validates a phone number (basic validation) */ export declare function isValidPhone(phone: string): boolean; /** * Sanitizes input to prevent XSS */ export declare function sanitizeInput(input: string | null | undefined): string; //# sourceMappingURL=validationUtils.d.ts.map