UNPKG

970 BJavaScriptView Raw
1'use strict';
2
3Object.defineProperty(exports, "__esModule", {
4 value: true
5});
6exports.default = dedent;
7// TODO: .trimLeft() is not standard
8
9function dedent(strings) {
10 var str = '';
11
12 for (var _len = arguments.length, values = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
13 values[_key - 1] = arguments[_key];
14 }
15
16 for (var i = 0; i < strings.length - 1; i++) {
17 str += strings[i];
18 str += values[i];
19 }
20 str += strings[strings.length - 1];
21 var lines = str.split('\n');
22 var i;
23 var indent;
24 for (i = 0; i < lines.length; i++) {
25 var line = lines[i];
26 if (line.trim().length !== 0) {
27 indent = line.substring(0, line.length - line.trimLeft().length);
28 break;
29 }
30 }
31 for (var n = lines.length - 1; n >= 0; n--) {
32 if (lines[n].trim().length > 0) break;
33 }
34 return lines.splice(i, n - i + 1).map(function (s) {
35 return s.substring(indent.length);
36 }).join('\n');
37}
38//# sourceMappingURL=dedent.js.map
\No newline at end of file