datapilot-cli
Version:
Enterprise-grade streaming multi-format data analysis with comprehensive statistical insights and intelligent relationship detection - supports CSV, JSON, Excel, TSV, Parquet - memory-efficient, cross-platform
60 lines • 1.79 kB
TypeScript
/**
* Comprehensive validation utilities for DataPilot
*/
import type { ActionableSuggestion } from '../core/types';
import { DataPilotError } from '../core/types';
export interface ValidationRule<T = unknown> {
name: string;
validate: (value: T) => boolean;
message: string;
suggestion?: ActionableSuggestion;
}
export interface ValidationResult {
isValid: boolean;
errors: DataPilotError[];
warnings: DataPilotError[];
}
export declare class Validator {
/**
* Validate file path and accessibility
*/
static validateFilePath(filePath: string): ValidationResult;
/**
* Validate CLI options
*/
static validateCLIOptions(options: Record<string, unknown>): ValidationResult;
/**
* Validate numeric configuration values
*/
static validateNumericConfig(config: Record<string, unknown>, rules: Record<string, {
min?: number;
max?: number;
integer?: boolean;
}>): ValidationResult;
/**
* Validate string configuration values
*/
static validateStringConfig(config: Record<string, unknown>, rules: Record<string, {
allowedValues?: string[];
minLength?: number;
maxLength?: number;
}>): ValidationResult;
/**
* Validate system resources
*/
static validateSystemResources(): ValidationResult;
/**
* Comprehensive validation combining all checks
*/
static validateAll(filePath: string, options: Record<string, unknown>): ValidationResult;
}
/**
* Data quality validation utilities
*/
export declare class DataQualityValidator {
/**
* Validate CSV data format
*/
static validateCSVFormat(data: string[][], headers?: string[]): ValidationResult;
}
//# sourceMappingURL=validation.d.ts.map