aboutsummaryrefslogtreecommitdiff
path: root/node_modules/decamelize/index.js
blob: 8d5bab7e4672ffd15fba27ce1a68235453e89417 (plain)
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();
};