UNPKG

convconv

Version:
46 lines (45 loc) 1.36 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Camel = void 0; const utils_1 = require("../utils"); var Camel; (function (Camel) { function isCamel(name) { if (name.length === 0) return true; if ((0, utils_1.isUpperAlpha)(name[0]) || (0, utils_1.isNum)(name[0])) return false; return (0, utils_1.isAlphaNum)(name); } Camel.isCamel = isCamel; function toKebab(name) { return name .split("") .reduce((arr, char, index) => { if ((0, utils_1.isUpperAlpha)(char)) { 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(""); } Camel.toKebab = toKebab; function fromKebab(name) { return name .split("-") .map((piece, index) => { if (piece.length === 0 || index === 0) { return piece; } return `${piece[0].toUpperCase()}${piece.slice(1)}`; }) .join(""); } Camel.fromKebab = fromKebab; })(Camel || (exports.Camel = Camel = {}));