UNPKG

storybook

Version:

Storybook: Develop, document, and test UI components in isolation

38 lines (36 loc) 1.41 kB
// ../node_modules/ts-dedent/esm/index.js function dedent(templ) { for (var values = [], _i = 1; _i < arguments.length; _i++) values[_i - 1] = arguments[_i]; var strings = Array.from(typeof templ == "string" ? [templ] : templ); strings[strings.length - 1] = strings[strings.length - 1].replace(/\r?\n([\t ]*)$/, ""); var indentLengths = strings.reduce(function(arr, str) { var matches = str.match(/\n([\t ]+|(?!\s).)/g); return matches ? arr.concat(matches.map(function(match) { var _a, _b; return (_b = (_a = match.match(/[\t ]/g)) === null || _a === void 0 ? void 0 : _a.length) !== null && _b !== void 0 ? _b : 0; })) : arr; }, []); if (indentLengths.length) { var pattern_1 = new RegExp(` [ ]{` + Math.min.apply(Math, indentLengths) + "}", "g"); strings = strings.map(function(str) { return str.replace(pattern_1, ` `); }); } strings[0] = strings[0].replace(/^\r?\n/, ""); var string = strings[0]; return values.forEach(function(value, i) { var endentations = string.match(/(?:^|\n)( *)$/), endentation = endentations ? endentations[1] : "", indentedValue = value; typeof value == "string" && value.includes(` `) && (indentedValue = String(value).split(` `).map(function(str, i2) { return i2 === 0 ? str : "" + endentation + str; }).join(` `)), string += indentedValue + strings[i + 1]; }), string; } export { dedent };