mirror of
https://github.com/discordjs/discord.js.git
synced 2026-06-01 08:30:08 +00:00
32 lines
675 B
TypeScript
32 lines
675 B
TypeScript
export function splitVarName(str: string) {
|
|
const res: string[][] = [];
|
|
let currGroup: string[] = [];
|
|
let currStr = '';
|
|
|
|
const isASymbol = (char: string) => '-!$%^&*()_+|~=`{}[]:;<>?,. '.includes(char);
|
|
|
|
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;
|
|
}
|