"use strict"; exports.__esModule = true; exports["default"] = void 0; var supportedTypes = ['initial', 'all']; /** * strips indentation from a template literal * @param {String} type = 'initial' - whether to remove all indentation or just leading indentation. can be 'all' or 'initial' * @return {Object} - a TemplateTag transformer */ var stripIndentTransformer = function stripIndentTransformer(type) { if (type === void 0) { type = 'initial'; } if (!supportedTypes.includes(type)) { throw new Error("Type not supported: " + type); } return { onEndResult: function onEndResult(endResult) { if (type === 'all') { // remove all indentation from each line return endResult.replace(/^[^\S\n]+/gm, ''); } // remove the shortest leading indentation from each line var match = endResult.match(/^[^\S\n]*(?=\S)/gm); var indent = match && Math.min.apply(Math, match.map(function (el) { return el.length; })); if (indent) { var regexp = new RegExp("^.{" + indent + "}", 'gm'); return endResult.replace(regexp, ''); } return endResult; } }; }; var _default = stripIndentTransformer; exports["default"] = _default; module.exports = exports.default; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zdHJpcEluZGVudFRyYW5zZm9ybWVyL3N0cmlwSW5kZW50VHJhbnNmb3JtZXIuanMiXSwibmFtZXMiOlsic3VwcG9ydGVkVHlwZXMiLCJzdHJpcEluZGVudFRyYW5zZm9ybWVyIiwidHlwZSIsImluY2x1ZGVzIiwiRXJyb3IiLCJvbkVuZFJlc3VsdCIsImVuZFJlc3VsdCIsInJlcGxhY2UiLCJtYXRjaCIsImluZGVudCIsIk1hdGgiLCJtaW4iLCJtYXAiLCJlbCIsImxlbmd0aCIsInJlZ2V4cCIsIlJlZ0V4cCJdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLElBQU1BLGNBQWMsR0FBRyxDQUFDLFNBQUQsRUFBWSxLQUFaLENBQXZCO0FBRUE7Ozs7OztBQUtBLElBQU1DLHNCQUFzQixHQUFHLFNBQXpCQSxzQkFBeUIsQ0FBQ0MsSUFBRCxFQUFzQjtBQUFBLE1BQXJCQSxJQUFxQjtBQUFyQkEsSUFBQUEsSUFBcUIsR0FBZCxTQUFjO0FBQUE7O0FBQ25ELE1BQUksQ0FBQ0YsY0FBYyxDQUFDRyxRQUFmLENBQXdCRCxJQUF4QixDQUFMLEVBQW9DO0FBQ2xDLFVBQU0sSUFBSUUsS0FBSiwwQkFBaUNGLElBQWpDLENBQU47QUFDRDs7QUFFRCxTQUFPO0FBQ0xHLElBQUFBLFdBREssdUJBQ09DLFNBRFAsRUFDa0I7QUFDckIsVUFBSUosSUFBSSxLQUFLLEtBQWIsRUFBb0I7QUFDbEI7QUFDQSxlQUFPSSxTQUFTLENBQUNDLE9BQVYsQ0FBa0IsYUFBbEIsRUFBaUMsRUFBakMsQ0FBUDtBQUNELE9BSm9CLENBTXJCOzs7QUFDQSxVQUFNQyxLQUFLLEdBQUdGLFNBQVMsQ0FBQ0UsS0FBVixDQUFnQixtQkFBaEIsQ0FBZDtBQUNBLFVBQU1DLE1BQU0sR0FBR0QsS0FBSyxJQUFJRSxJQUFJLENBQUNDLEdBQUwsT0FBQUQsSUFBSSxFQUFRRixLQUFLLENBQUNJLEdBQU4sQ0FBVSxVQUFBQyxFQUFFO0FBQUEsZUFBSUEsRUFBRSxDQUFDQyxNQUFQO0FBQUEsT0FBWixDQUFSLENBQTVCOztBQUNBLFVBQUlMLE1BQUosRUFBWTtBQUNWLFlBQU1NLE1BQU0sR0FBRyxJQUFJQyxNQUFKLFNBQWlCUCxNQUFqQixRQUE0QixJQUE1QixDQUFmO0FBQ0EsZUFBT0gsU0FBUyxDQUFDQyxPQUFWLENBQWtCUSxNQUFsQixFQUEwQixFQUExQixDQUFQO0FBQ0Q7O0FBQ0QsYUFBT1QsU0FBUDtBQUNEO0FBZkksR0FBUDtBQWlCRCxDQXRCRDs7ZUF3QmVMLHNCIiwic291cmNlc0NvbnRlbnQiOlsiY29uc3Qgc3VwcG9ydGVkVHlwZXMgPSBbJ2luaXRpYWwnLCAnYWxsJ107XG5cbi8qKlxuICogc3RyaXBzIGluZGVudGF0aW9uIGZyb20gYSB0ZW1wbGF0ZSBsaXRlcmFsXG4gKiBAcGFyYW0gIHtTdHJpbmd9IHR5cGUgPSAnaW5pdGlhbCcgLSB3aGV0aGVyIHRvIHJlbW92ZSBhbGwgaW5kZW50YXRpb24gb3IganVzdCBsZWFkaW5nIGluZGVudGF0aW9uLiBjYW4gYmUgJ2FsbCcgb3IgJ2luaXRpYWwnXG4gKiBAcmV0dXJuIHtPYmplY3R9ICAgICAgICAgICAgICAgICAgLSBhIFRlbXBsYXRlVGFnIHRyYW5zZm9ybWVyXG4gKi9cbmNvbnN0IHN0cmlwSW5kZW50VHJhbnNmb3JtZXIgPSAodHlwZSA9ICdpbml0aWFsJykgPT4ge1xuICBpZiAoIXN1cHBvcnRlZFR5cGVzLmluY2x1ZGVzKHR5cGUpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBUeXBlIG5vdCBzdXBwb3J0ZWQ6ICR7dHlwZX1gKTtcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgb25FbmRSZXN1bHQoZW5kUmVzdWx0KSB7XG4gICAgICBpZiAodHlwZSA9PT0gJ2FsbCcpIHtcbiAgICAgICAgLy8gcmVtb3ZlIGFsbCBpbmRlbnRhdGlvbiBmcm9tIGVhY2ggbGluZVxuICAgICAgICByZXR1cm4gZW5kUmVzdWx0LnJlcGxhY2UoL15bXlxcU1xcbl0rL2dtLCAnJyk7XG4gICAgICB9XG5cbiAgICAgIC8vIHJlbW92ZSB0aGUgc2hvcnRlc3QgbGVhZGluZyBpbmRlbnRhdGlvbiBmcm9tIGVhY2ggbGluZVxuICAgICAgY29uc3QgbWF0Y2ggPSBlbmRSZXN1bHQubWF0Y2goL15bXlxcU1xcbl0qKD89XFxTKS9nbSk7XG4gICAgICBjb25zdCBpbmRlbnQgPSBtYXRjaCAmJiBNYXRoLm1pbiguLi5tYXRjaC5tYXAoZWwgPT4gZWwubGVuZ3RoKSk7XG4gICAgICBpZiAoaW5kZW50KSB7XG4gICAgICAgIGNvbnN0IHJlZ2V4cCA9IG5ldyBSZWdFeHAoYF4ueyR7aW5kZW50fX1gLCAnZ20nKTtcbiAgICAgICAgcmV0dXJuIGVuZFJlc3VsdC5yZXBsYWNlKHJlZ2V4cCwgJycpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGVuZFJlc3VsdDtcbiAgICB9LFxuICB9O1xufTtcblxuZXhwb3J0IGRlZmF1bHQgc3RyaXBJbmRlbnRUcmFuc2Zvcm1lcjtcbiJdfQ==