UNPKG

fake-it-til-you-git

Version:

A modern CLI tool to generate fake Git commit history for your GitHub/GitLab profile

96 lines 2.58 kB
/** * Validation utilities for configuration and user inputs */ import { type MessageStyle } from './messages.js'; export interface Author { name: string; email: string; } export interface DateRangeConfig { startDate: string; endDate: string; } export interface CommitsConfig { maxPerDay: number; distribution: 'uniform' | 'random' | 'gaussian' | 'custom' | 'pattern'; messageStyle: MessageStyle; customMessages?: string[]; pattern?: PatternConfig; } export interface PatternConfig { type?: 'preset' | 'custom' | 'text'; preset?: string; custom?: string; text?: string; scale?: number; intensity?: 'low' | 'medium' | 'high'; centerX?: number; centerY?: number; } export interface OptionsConfig { preview?: boolean; push?: boolean; verbose?: boolean; dev?: boolean; seed?: string; } export interface Config { author: Author; dateRange: DateRangeConfig; commits: CommitsConfig; options?: OptionsConfig; } export interface ValidationResult { valid: boolean; errors: string[]; warnings: string[]; } /** * Validates email format using a robust regex pattern */ export declare function isValidEmail(email: string): boolean; /** * Validates author name format */ export declare function isValidAuthorName(name: string): boolean; /** * Validates author configuration */ export declare function validateAuthor(author: unknown): ValidationResult; /** * Validates date range configuration */ export declare function validateDateRange(dateRange: unknown): ValidationResult; /** * Validates commits configuration */ export declare function validateCommits(commits: unknown): ValidationResult; /** * Validates pattern configuration */ export declare function validatePattern(pattern: unknown): ValidationResult; /** * Validates options configuration */ export declare function validateOptions(options: unknown): ValidationResult; /** * Validates the complete configuration object */ export declare function validateConfig(config: unknown): ValidationResult; /** * Sanitizes a string by trimming whitespace and removing control characters */ export declare function sanitizeString(input: string): string; /** * Sanitizes an email address */ export declare function sanitizeEmail(email: string): string; /** * Sanitizes an author name */ export declare function sanitizeAuthorName(name: string): string; /** * Sanitizes the entire configuration object */ export declare function sanitizeConfig(config: Config): Config; //# sourceMappingURL=validation.d.ts.map