.gitignore added
[dotfiles/.git] / .config / coc / extensions / node_modules / coc-prettier / node_modules / pascalcase / index.js
1 /*!
2  * pascalcase <https://github.com/jonschlinkert/pascalcase>
3  *
4  * Copyright (c) 2015, Jon Schlinkert.
5  * Licensed under the MIT License.
6  */
7
8 function pascalcase(str) {
9   if (typeof str !== 'string') {
10     throw new TypeError('expected a string.');
11   }
12   str = str.replace(/([A-Z])/g, ' $1');
13   if (str.length === 1) { return str.toUpperCase(); }
14   str = str.replace(/^[\W_]+|[\W_]+$/g, '').toLowerCase();
15   str = str.charAt(0).toUpperCase() + str.slice(1);
16   return str.replace(/[\W_]+(\w|$)/g, function (_, ch) {
17     return ch.toUpperCase();
18   });
19 }
20
21 module.exports = pascalcase;