Blame view

node_modules/underscore.string/dedent.js 610 Bytes
f7563de62   Palak Handa   first commit
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
  var makeString = require('./helper/makeString');
  
  function getIndent(str) {
    var matches = str.match(/^[\s\\t]*/gm);
    var indent = matches[0].length;
    
    for (var i = 1; i < matches.length; i++) {
      indent = Math.min(matches[i].length, indent);
    }
  
    return indent;
  }
  
  module.exports = function dedent(str, pattern) {
    str = makeString(str);
    var indent = getIndent(str);
    var reg;
  
    if (indent === 0) return str;
  
    if (typeof pattern === 'string') {
      reg = new RegExp('^' + pattern, 'gm');
    } else {
      reg = new RegExp('^[ \\t]{' + indent + '}', 'gm');
    }
  
    return str.replace(reg, '');
  };