UNPKG

@bramato/openrouter-mock-generator

Version:

AI-powered mock data generator using OpenRouter API with JSON mode support

114 lines 3.08 kB
/** * Microservizio per sostituire URLs nei dati JSON */ export interface UrlMapping { originalUrl: string; newUrl: string; cdnUrl?: string; path: string; fieldName: string; itemIndex?: number; replacementType: 'direct' | 'variant' | 'fallback'; } export interface ReplacementResult { success: boolean; replacedCount: number; failedCount: number; mappings: UrlMapping[]; modifiedData: any; errors: string[]; } export interface ReplacementOptions { preferCdnUrls?: boolean; preserveOriginalOnFailure?: boolean; validateUrls?: boolean; backupOriginal?: boolean; logReplacements?: boolean; } export declare class UrlReplacer { private static readonly URL_VALIDATION_TIMEOUT; /** * Sostituisce URLs Picsum con nuovi URLs nei dati JSON */ static replaceUrls(data: any, urlMappings: Map<string, string>, cdnMappings?: Map<string, string>, options?: ReplacementOptions): Promise<ReplacementResult>; /** * Crea mappature URL da risultati di elaborazione immagini */ static createUrlMappings(imageResults: Array<{ originalUrl: string; newUrl: string; cdnUrl?: string; path: string; success: boolean; }>): { urlMappings: Map<string, string>; cdnMappings: Map<string, string>; failedUrls: string[]; }; /** * Esegue le sostituzioni ricorsivamente */ private static performReplacements; /** * Sostituisce un singolo URL */ private static replaceUrl; /** * Cerca mappatura per varianti (stesso contenuto, dimensioni diverse) */ private static findVariantMapping; /** * Genera URL di fallback per casi non mappati */ private static generateFallbackUrl; /** * Valida URLs dopo la sostituzione */ private static validateReplacementUrls; /** * Verifica se una stringa è un URL Picsum */ private static isPicsumUrl; /** * Normalizza URL per il confronto */ private static normalizeUrl; /** * Estrae seed da URL Picsum */ private static extractSeed; /** * Estrae dimensioni da URL Picsum */ private static extractDimensions; /** * Clona profondamente un oggetto */ private static deepClone; /** * Normalizza opzioni con valori di default */ private static normalizeOptions; /** * Log dei risultati di sostituzione */ private static logReplacementResults; /** * Crea statistiche di sostituzione */ static getReplacementStats(result: ReplacementResult): { summary: string; successRate: number; typeDistribution: Record<string, number>; avgUrlLength: number; }; /** * Rollback delle sostituzioni (usa backup) */ static rollbackReplacements(originalData: any, result: ReplacementResult): any; /** * Imposta valore a un percorso specifico */ private static setValueAtPath; } //# sourceMappingURL=url-replacer.d.ts.map