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, ''); | |
}; | |