UNPKG

convconv

Version:
49 lines (48 loc) 1.44 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Pascal = void 0; const utils_1 = require("../utils"); var Pascal; (function (Pascal) { function isPascal(name) { if (name.length === 0) return true; if ((0, utils_1.isLowerAlpha)(name[0]) || (0, utils_1.isNum)(name[0])) return false; return (0, utils_1.isAlphaNum)(name); } Pascal.isPascal = isPascal; function toKebab(name) { return name .split("") .reduce((arr, char, index) => { if ((0, utils_1.isUpperAlpha)(char)) { if (index !== 0) { arr.push("-"); } arr.push(char.toLowerCase()); } else { if ((0, utils_1.isNum)(char) && !(0, utils_1.isNum)(name[index - 1])) { arr.push("-"); } arr.push(char); } return arr; }, []) .join(""); } Pascal.toKebab = toKebab; function fromKebab(name) { return name .split("-") .map((piece) => { if (piece.length === 0) { return piece; } return `${piece[0].toUpperCase()}${piece.slice(1)}`; }) .join(""); } Pascal.fromKebab = fromKebab; })(Pascal || (exports.Pascal = Pascal = {}));