12345678910111213141516171819202122 |
- /*!
- * 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;
|