repomix
Version:
A tool to pack repository contents to single file for AI consumption
32 lines (31 loc) • 811 B
JavaScript
export const splitPatterns = (patterns) => {
if (!patterns)
return [];
const result = [];
let currentPattern = '';
let braceLevel = 0;
for (let i = 0; i < patterns.length; i++) {
const char = patterns[i];
if (char === '{') {
braceLevel++;
currentPattern += char;
}
else if (char === '}') {
braceLevel--;
currentPattern += char;
}
else if (char === ',' && braceLevel === 0) {
if (currentPattern) {
result.push(currentPattern.trim());
currentPattern = '';
}
}
else {
currentPattern += char;
}
}
if (currentPattern) {
result.push(currentPattern.trim());
}
return result;
};