Blame view

node_modules/argparse/lib/utils.js 1.25 KB
aaac7fed   liuqimichale   add
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
  'use strict';
  
  exports.repeat = function (str, num) {
    var result = '';
    for (var i = 0; i < num; i++) { result += str; }
    return result;
  };
  
  exports.arrayEqual = function (a, b) {
    if (a.length !== b.length) { return false; }
    for (var i = 0; i < a.length; i++) {
      if (a[i] !== b[i]) { return false; }
    }
    return true;
  };
  
  exports.trimChars = function (str, chars) {
    var start = 0;
    var end = str.length - 1;
    while (chars.indexOf(str.charAt(start)) >= 0) { start++; }
    while (chars.indexOf(str.charAt(end)) >= 0) { end--; }
    return str.slice(start, end + 1);
  };
  
  exports.capitalize = function (str) {
    return str.charAt(0).toUpperCase() + str.slice(1);
  };
  
  exports.arrayUnion = function () {
    var result = [];
    for (var i = 0, values = {}; i < arguments.length; i++) {
      var arr = arguments[i];
      for (var j = 0; j < arr.length; j++) {
        if (!values[arr[j]]) {
          values[arr[j]] = true;
          result.push(arr[j]);
        }
      }
    }
    return result;
  };
  
  function has(obj, key) {
    return Object.prototype.hasOwnProperty.call(obj, key);
  }
  
  exports.has = has;
  
  exports.extend = function (dest, src) {
    for (var i in src) {
      if (has(src, i)) { dest[i] = src[i]; }
    }
  };
  
  exports.trimEnd = function (str) {
    return str.replace(/\s+$/g, '');
  };