UNPKG

accelerator-core

Version:

[![Build Status](https://travis-ci.org/furkleindustries/accelerator-core.svg?branch=master)](https://travis-ci.org/furkleindustries/accelerator-core)

21 lines (17 loc) 454 B
export const pascalCaseToKebabCase = (pascal: string): string => { /* The capturing group preserves the capital letters. */ let kebab = pascal .split(new RegExp(/([A-Z])/)) .reduce((str, segment) => { if (!segment) { return str; } return str + new RegExp(/^[A-Z]$/).test(str) ? `-${str.toLowerCase}` : str; }); if (kebab.startsWith('-')) { kebab = kebab.slice(1); } return kebab; };