UNPKG

canonical

Version:

Canonical code style linter and formatter for JavaScript, SCSS and CSS.

11 lines (10 loc) 342 B
'use strict'; module.exports = function (str, sep) { if (typeof str !== 'string') { throw new TypeError('Expected a string'); } sep = typeof sep === 'undefined' ? '_' : sep; return str.replace(/([a-z\d])([A-Z])/g, '$1' + sep + '$2') .replace(new RegExp('(' + sep + '[A-Z])([A-Z])', 'g'), '$1' + sep + '$2') .toLowerCase(); };