un-camel-case.js 322 B

12345678910111213
  1. 'use strict';
  2. function unCamelCase(str) {
  3. return str.replace(/[\w-]+/g, (s) => {
  4. return /^[A-Z]?[a-z]*(?:[A-Z][a-z]*)+$/.test(s)
  5. ? s
  6. .replace(/[A-Z]/g, (casedStr) => `-${casedStr.toLowerCase()}`)
  7. .replace(/^(o|ms|moz|khtml|epub|(\w+-?)*webkit)(?=-)/i, '-$1')
  8. : s;
  9. });
  10. }
  11. module.exports = unCamelCase;