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