subtexty
Version:
Extract clean plain-text from subtitle files
54 lines • 1.74 kB
TypeScript
/**
* Input validation utilities and type guards
*/
import { ExtractOptions, SubtitleFormat } from './types';
/**
* Type guard for ExtractOptions
*/
export declare function isValidExtractOptions(obj: unknown): obj is ExtractOptions;
/**
* Type guard for valid subtitle file extensions
*/
export declare function isSupportedSubtitleFormat(filePath: string): boolean;
/**
* Type guard for subtitle entry object
*/
export declare function isValidSubtitleObject(obj: unknown): obj is {
text: string;
};
/**
* Type guard for file path validation
*/
export declare function isValidFilePath(filePath: unknown): filePath is string;
/**
* Validates and sanitizes file path input
*/
export declare function validateFilePath(filePath: unknown): string;
/**
* Validates file exists and is accessible
*/
export declare function validateFileAccess(filePath: string): void;
/**
* Validates subtitle format is supported
*/
export declare function validateSubtitleFormat(filePath: string): SubtitleFormat;
/**
* Validates extract options
*/
export declare function validateExtractOptions(options: unknown): ExtractOptions;
/**
* Validates output directory exists and is writable
*/
export declare function validateOutputPath(outputPath: string): void;
/**
* Comprehensive input validation for extractText function
*/
export declare function validateExtractTextInput(filePath: unknown, options?: unknown): {
validatedPath: string;
validatedOptions: ExtractOptions;
};
/**
* Runtime type assertion with better error messages
*/
export declare function assertType<T>(value: unknown, predicate: (value: unknown) => value is T, fieldName: string, expectedType: string): asserts value is T;
//# sourceMappingURL=validation.d.ts.map