Blame view
node_modules/underscore.string/dedent.js
610 Bytes
f7563de62
|
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, ''); }; |