irclib/src/utility/mode-from-prefix.ts

16 lines
473 B
TypeScript

/**
* Get a channel user mode from their prefix.
* @param prefixOrNick Prefix on its own (`@`, `+`, etc) or a nick `@Diamond`
* @param supportedModes Object of channel modes `{ 'o': '@' }`
* @returns Mode for prefix symbol
*/
export const modeFromPrefix = (
prefixOrNick: string,
supportedModes: Record<string, string>,
) => {
const pfx = prefixOrNick.substring(0, 1);
return Object.keys(supportedModes)[
Object.values(supportedModes).indexOf(pfx)
];
};