@technobuddha/library
Version:
A large library of useful functions
23 lines • 1.5 kB
JavaScript
import { sortOrder } from "./sort-order.js";
import { toASCII } from "./to-ascii.js";
/**
* Determine the group code (A-Z, [] or #) to place an item under
* @remarks The group code is made by taking the first letter of the *description*. As a special
* case descriptions starting with '[' are grouped under [] and anything that isn't a letter is grouped
* under #.
* @param input - a description
* @returns The group code
* @group String
* @category Analysis
*/
export function groupCode(input) {
const group = toASCII(sortOrder(input).slice(0, 1)).toLocaleUpperCase();
if (group >= 'A' && group <= 'Z') {
return group;
}
else if (group === '[') {
return '[]';
}
return '#';
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JvdXAtY29kZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9ncm91cC1jb2RlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM1QyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXhDOzs7Ozs7Ozs7R0FTRztBQUNILE1BQU0sVUFBVSxTQUFTLENBQUMsS0FBYTtJQUNyQyxNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO0lBRXhFLElBQUksS0FBSyxJQUFJLEdBQUcsSUFBSSxLQUFLLElBQUksR0FBRyxFQUFFLENBQUM7UUFDakMsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO1NBQU0sSUFBSSxLQUFLLEtBQUssR0FBRyxFQUFFLENBQUM7UUFDekIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBQ0QsT0FBTyxHQUFHLENBQUM7QUFDYixDQUFDIn0=