| Leo Repp | 58b9f11 | 2021-11-22 11:57:47 +0100 | [diff] [blame^] | 1 | 'use strict'; |
| 2 | module.exports = function (str, sep) { | ||||
| 3 | if (typeof str !== 'string') { | ||||
| 4 | throw new TypeError('Expected a string'); | ||||
| 5 | } | ||||
| 6 | |||||
| 7 | sep = typeof sep === 'undefined' ? '_' : sep; | ||||
| 8 | |||||
| 9 | return str | ||||
| 10 | .replace(/([a-z\d])([A-Z])/g, '$1' + sep + '$2') | ||||
| 11 | .replace(/([A-Z]+)([A-Z][a-z\d]+)/g, '$1' + sep + '$2') | ||||
| 12 | .toLowerCase(); | ||||
| 13 | }; | ||||