@technobuddha/library
Version:
A large library of useful functions
29 lines (28 loc) • 1.01 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.groupCode = void 0;
var toASCII_1 = __importDefault(require("../toASCII"));
var sortOrder_1 = __importDefault(require("../sortOrder"));
/**
* 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
*/
function groupCode(input) {
var group = toASCII_1.default(sortOrder_1.default(input).slice(0, 1)).toUpperCase();
if (group >= 'A' && group <= 'Z')
return group;
else if (group === '[')
return '[]';
return '#';
}
exports.groupCode = groupCode;
exports.default = groupCode;