github-pages-deploy-action/node_modules/pascalcase/index.js
2019-11-19 07:48:29 -05:00

22 lines
586 B
JavaScript

/*!
* pascalcase <https://github.com/jonschlinkert/pascalcase>
*
* Copyright (c) 2015, Jon Schlinkert.
* Licensed under the MIT License.
*/
function pascalcase(str) {
if (typeof str !== 'string') {
throw new TypeError('expected a string.');
}
str = str.replace(/([A-Z])/g, ' $1');
if (str.length === 1) { return str.toUpperCase(); }
str = str.replace(/^[\W_]+|[\W_]+$/g, '').toLowerCase();
str = str.charAt(0).toUpperCase() + str.slice(1);
return str.replace(/[\W_]+(\w|$)/g, function (_, ch) {
return ch.toUpperCase();
});
}
module.exports = pascalcase;