Files
discord.js/packages/docgen/src/util/splitVarName.ts
2022-09-01 20:50:16 +02:00

34 lines
676 B
TypeScript

const isASymbol = (char: string) => '-!$%^&*()_+|~=`{}[]:;<>?,. '.includes(char);
export function splitVarName(str: string) {
const res: string[][] = [];
let currGroup: string[] = [];
let currStr = '';
for (const char of str) {
const currentlyInASymbolSection = isASymbol(currStr[0]!);
const charIsASymbol = isASymbol(char);
if (currStr.length && currentlyInASymbolSection !== charIsASymbol) {
if (char === '.') {
continue;
}
currGroup.push(currStr);
currStr = char;
if (!charIsASymbol) {
res.push(currGroup);
currGroup = [];
}
} else {
currStr += char;
}
}
currGroup.push(currStr);
res.push(currGroup);
return res;
}