@bramato/openrouter-mock-generator
Version:
AI-powered mock data generator using OpenRouter API with JSON mode support
78 lines • 2.12 kB
TypeScript
/**
* Microservizio per estrarre URLs di immagini Picsum dai dati JSON
*/
export interface ImageUrlInfo {
url: string;
path: string;
fieldName: string;
context: any;
dimensions: {
width: number;
height: number;
};
seed?: string;
itemIndex?: number;
}
export interface ExtractionResult {
images: ImageUrlInfo[];
totalFound: number;
uniqueUrls: number;
duplicateGroups: Map<string, ImageUrlInfo[]>;
}
export declare class ImageUrlExtractor {
private static readonly PICSUM_PATTERNS;
/**
* Estrae tutti gli URL Picsum da un oggetto JSON
*/
static extractPicsumUrls(data: any): ExtractionResult;
/**
* Attraversa ricorsivamente un oggetto JSON per trovare URL Picsum
*/
private static traverseObject;
/**
* Verifica se una stringa è un URL Picsum
*/
private static isPicsumUrl;
/**
* Parsea un URL Picsum ed estrae le informazioni
*/
private static parseImageUrl;
/**
* Estrae le dimensioni da un URL Picsum
*/
private static extractDimensions;
/**
* Estrae il seed da un URL Picsum
*/
private static extractSeed;
/**
* Normalizza un URL per il confronto
*/
private static normalizeUrl;
/**
* Raggruppa immagini per dimensioni simili
*/
static groupBySimilarDimensions(images: ImageUrlInfo[]): Map<string, ImageUrlInfo[]>;
/**
* Filtra immagini per tipo di campo
*/
static filterByFieldType(images: ImageUrlInfo[]): {
thumbnails: ImageUrlInfo[];
banners: ImageUrlInfo[];
squares: ImageUrlInfo[];
portraits: ImageUrlInfo[];
landscapes: ImageUrlInfo[];
generic: ImageUrlInfo[];
};
/**
* Statistiche di estrazione
*/
static getExtractionStats(result: ExtractionResult): {
summary: string;
dimensionDistribution: Map<string, number>;
fieldTypeDistribution: Map<string, number>;
duplicateCount: number;
};
private static getFieldType;
}
//# sourceMappingURL=image-url-extractor.d.ts.map