UNPKG

@glimmer/util

Version:

Common utilities used in Glimmer

35 lines (26 loc) 3.37 kB
export function strip(strings, ...args) { let out = ''; for (let i = 0; i < strings.length; i++) { let string = strings[i]; let dynamic = args[i] !== undefined ? String(args[i]) : ''; out += `${string}${dynamic}`; } let lines = out.split('\n'); while (lines.length && lines[0].match(/^\s*$/)) { lines.shift(); } while (lines.length && lines[lines.length - 1].match(/^\s*$/)) { lines.pop(); } let min = Infinity; for (let line of lines) { let leading = line.match(/^\s*/)[0].length; min = Math.min(min, leading); } let stripped = []; for (let line of lines) { stripped.push(line.slice(min)); } return stripped.join('\n'); } //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL3V0aWwvbGliL3N0cmluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFNLFNBQVUsS0FBVixDQUFnQixPQUFoQixFQUErQyxHQUFHLElBQWxELEVBQWlFO0FBQ3JFLE1BQUksR0FBRyxHQUFHLEVBQVY7O0FBQ0EsT0FBSyxJQUFJLENBQUMsR0FBRyxDQUFiLEVBQWdCLENBQUMsR0FBRyxPQUFPLENBQUMsTUFBNUIsRUFBb0MsQ0FBQyxFQUFyQyxFQUF5QztBQUN2QyxRQUFJLE1BQU0sR0FBRyxPQUFPLENBQUMsQ0FBRCxDQUFwQjtBQUNBLFFBQUksT0FBTyxHQUFHLElBQUksQ0FBQyxDQUFELENBQUosS0FBWSxTQUFaLEdBQXdCLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBRCxDQUFMLENBQTlCLEdBQTBDLEVBQXhEO0FBRUEsSUFBQSxHQUFHLElBQUksR0FBRyxNQUFNLEdBQUcsT0FBTyxFQUExQjtBQUNEOztBQUVELE1BQUksS0FBSyxHQUFHLEdBQUcsQ0FBQyxLQUFKLENBQVUsSUFBVixDQUFaOztBQUVBLFNBQU8sS0FBSyxDQUFDLE1BQU4sSUFBZ0IsS0FBSyxDQUFDLENBQUQsQ0FBTCxDQUFTLEtBQVQsQ0FBZSxPQUFmLENBQXZCLEVBQWdEO0FBQzlDLElBQUEsS0FBSyxDQUFDLEtBQU47QUFDRDs7QUFFRCxTQUFPLEtBQUssQ0FBQyxNQUFOLElBQWdCLEtBQUssQ0FBQyxLQUFLLENBQUMsTUFBTixHQUFlLENBQWhCLENBQUwsQ0FBd0IsS0FBeEIsQ0FBOEIsT0FBOUIsQ0FBdkIsRUFBK0Q7QUFDN0QsSUFBQSxLQUFLLENBQUMsR0FBTjtBQUNEOztBQUVELE1BQUksR0FBRyxHQUFHLFFBQVY7O0FBRUEsT0FBSyxJQUFJLElBQVQsSUFBaUIsS0FBakIsRUFBd0I7QUFDdEIsUUFBSSxPQUFPLEdBQUcsSUFBSSxDQUFDLEtBQUwsQ0FBVyxNQUFYLEVBQW9CLENBQXBCLEVBQXVCLE1BQXJDO0FBRUEsSUFBQSxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUwsQ0FBUyxHQUFULEVBQWMsT0FBZCxDQUFOO0FBQ0Q7O0FBRUQsTUFBSSxRQUFRLEdBQUcsRUFBZjs7QUFFQSxPQUFLLElBQUksSUFBVCxJQUFpQixLQUFqQixFQUF3QjtBQUN0QixJQUFBLFFBQVEsQ0FBQyxJQUFULENBQWMsSUFBSSxDQUFDLEtBQUwsQ0FBVyxHQUFYLENBQWQ7QUFDRDs7QUFFRCxTQUFPLFFBQVEsQ0FBQyxJQUFULENBQWMsSUFBZCxDQUFQO0FBQ0QiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZnVuY3Rpb24gc3RyaXAoc3RyaW5nczogVGVtcGxhdGVTdHJpbmdzQXJyYXksIC4uLmFyZ3M6IHVua25vd25bXSkge1xuICBsZXQgb3V0ID0gJyc7XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgc3RyaW5ncy5sZW5ndGg7IGkrKykge1xuICAgIGxldCBzdHJpbmcgPSBzdHJpbmdzW2ldO1xuICAgIGxldCBkeW5hbWljID0gYXJnc1tpXSAhPT0gdW5kZWZpbmVkID8gU3RyaW5nKGFyZ3NbaV0pIDogJyc7XG5cbiAgICBvdXQgKz0gYCR7c3RyaW5nfSR7ZHluYW1pY31gO1xuICB9XG5cbiAgbGV0IGxpbmVzID0gb3V0LnNwbGl0KCdcXG4nKTtcblxuICB3aGlsZSAobGluZXMubGVuZ3RoICYmIGxpbmVzWzBdLm1hdGNoKC9eXFxzKiQvKSkge1xuICAgIGxpbmVzLnNoaWZ0KCk7XG4gIH1cblxuICB3aGlsZSAobGluZXMubGVuZ3RoICYmIGxpbmVzW2xpbmVzLmxlbmd0aCAtIDFdLm1hdGNoKC9eXFxzKiQvKSkge1xuICAgIGxpbmVzLnBvcCgpO1xuICB9XG5cbiAgbGV0IG1pbiA9IEluZmluaXR5O1xuXG4gIGZvciAobGV0IGxpbmUgb2YgbGluZXMpIHtcbiAgICBsZXQgbGVhZGluZyA9IGxpbmUubWF0Y2goL15cXHMqLykhWzBdLmxlbmd0aDtcblxuICAgIG1pbiA9IE1hdGgubWluKG1pbiwgbGVhZGluZyk7XG4gIH1cblxuICBsZXQgc3RyaXBwZWQgPSBbXTtcblxuICBmb3IgKGxldCBsaW5lIG9mIGxpbmVzKSB7XG4gICAgc3RyaXBwZWQucHVzaChsaW5lLnNsaWNlKG1pbikpO1xuICB9XG5cbiAgcmV0dXJuIHN0cmlwcGVkLmpvaW4oJ1xcbicpO1xufVxuIl0sInNvdXJjZVJvb3QiOiIifQ==