schangxiang@126.com
2025-09-19 9be9c3784b2881a3fa25e93ae2033dc2803c0ed0
1
2
3
4
5
6
7
8
9
10
11
12
13
'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(/([A-Z]+)([A-Z][a-z\d]+)/g, '$1' + sep + '$2')
        .toLowerCase();
};