@bramato/openrouter-mock-generator
Version:
AI-powered mock data generator using OpenRouter API with JSON mode support
47 lines • 1.68 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.PatternAnalyzer = void 0;
class PatternAnalyzer {
static analyzeJsonStructure(data, path = '') {
const analyses = [];
if (Array.isArray(data) && data.length > 0) {
analyses.push({
isArray: true,
sampleItem: data[0],
arrayPath: path || 'root',
itemCount: data.length,
});
}
if (typeof data === 'object' && data !== null && !Array.isArray(data)) {
for (const [key, value] of Object.entries(data)) {
const currentPath = path ? `${path}.${key}` : key;
const subAnalyses = this.analyzeJsonStructure(value, currentPath);
analyses.push(...subAnalyses);
}
}
return analyses;
}
static findLargestArray(analyses) {
if (analyses.length === 0)
return null;
return analyses.reduce((largest, current) => current.itemCount > largest.itemCount ? current : largest);
}
static extractArrayAtPath(data, path) {
if (path === 'root') {
return Array.isArray(data) ? data : null;
}
const keys = path.split('.');
let current = data;
for (const key of keys) {
if (current && typeof current === 'object' && key in current) {
current = current[key];
}
else {
return null;
}
}
return Array.isArray(current) ? current : null;
}
}
exports.PatternAnalyzer = PatternAnalyzer;
//# sourceMappingURL=pattern-analyzer.js.map