Blame view

node_modules/pascalcase/index.js 586 Bytes
aaac7fed   liuqimichale   add
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
  /*!
   * 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;