UNPKG

@technobuddha/library

Version:
29 lines (28 loc) 1.01 kB
"use strict"; 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;