@technobuddha/library
Version:
A large library of useful functions
20 lines • 1.12 kB
JavaScript
import { removeDiacritics } from "./remove-diacritics.js";
import { tokenize } from "./tokenize.js";
/**
* Convert an identifier string to macro case
* @param input - The identifier string
* @returns the identifier in macro case
* @group Programming
* @category Variables
* @example
* ```typescript
* macroCase('hello world'); // 'HELLO_WORLD'
* macroCase('HelloWorld'); // 'HELLO_WORLD'
* macroCase('foo_bar-baz'); // 'FOO_BAR_BAZ'
* macroCase('FOO BAR'); // 'FOO_BAR'
* ```
*/
export function macroCase(input) {
return tokenize(removeDiacritics(input)).join('_').toUpperCase();
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFjcm8tY2FzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9tYWNyby1jYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzFELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFekM7Ozs7Ozs7Ozs7Ozs7R0FhRztBQUNILE1BQU0sVUFBVSxTQUFTLENBQUMsS0FBYTtJQUNyQyxPQUFPLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztBQUNuRSxDQUFDIn0=