UNPKG

@bramato/openrouter-mock-generator

Version:

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

47 lines 1.68 kB
"use strict"; 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