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; } }; }; export default stripIndentTransformer; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zdHJpcEluZGVudFRyYW5zZm9ybWVyL3N0cmlwSW5kZW50VHJhbnNmb3JtZXIuanMiXSwibmFtZXMiOlsic3VwcG9ydGVkVHlwZXMiLCJzdHJpcEluZGVudFRyYW5zZm9ybWVyIiwidHlwZSIsImluY2x1ZGVzIiwiRXJyb3IiLCJvbkVuZFJlc3VsdCIsImVuZFJlc3VsdCIsInJlcGxhY2UiLCJtYXRjaCIsImluZGVudCIsIk1hdGgiLCJtaW4iLCJtYXAiLCJlbCIsImxlbmd0aCIsInJlZ2V4cCIsIlJlZ0V4cCJdLCJtYXBwaW5ncyI6IkFBQUEsSUFBTUEsY0FBYyxHQUFHLENBQUMsU0FBRCxFQUFZLEtBQVosQ0FBdkI7QUFFQTs7Ozs7O0FBS0EsSUFBTUMsc0JBQXNCLEdBQUcsU0FBekJBLHNCQUF5QixDQUFDQyxJQUFELEVBQXNCO0FBQUEsTUFBckJBLElBQXFCO0FBQXJCQSxJQUFBQSxJQUFxQixHQUFkLFNBQWM7QUFBQTs7QUFDbkQsTUFBSSxDQUFDRixjQUFjLENBQUNHLFFBQWYsQ0FBd0JELElBQXhCLENBQUwsRUFBb0M7QUFDbEMsVUFBTSxJQUFJRSxLQUFKLDBCQUFpQ0YsSUFBakMsQ0FBTjtBQUNEOztBQUVELFNBQU87QUFDTEcsSUFBQUEsV0FESyx1QkFDT0MsU0FEUCxFQUNrQjtBQUNyQixVQUFJSixJQUFJLEtBQUssS0FBYixFQUFvQjtBQUNsQjtBQUNBLGVBQU9JLFNBQVMsQ0FBQ0MsT0FBVixDQUFrQixhQUFsQixFQUFpQyxFQUFqQyxDQUFQO0FBQ0QsT0FKb0IsQ0FNckI7OztBQUNBLFVBQU1DLEtBQUssR0FBR0YsU0FBUyxDQUFDRSxLQUFWLENBQWdCLG1CQUFoQixDQUFkO0FBQ0EsVUFBTUMsTUFBTSxHQUFHRCxLQUFLLElBQUlFLElBQUksQ0FBQ0MsR0FBTCxPQUFBRCxJQUFJLEVBQVFGLEtBQUssQ0FBQ0ksR0FBTixDQUFVLFVBQUFDLEVBQUU7QUFBQSxlQUFJQSxFQUFFLENBQUNDLE1BQVA7QUFBQSxPQUFaLENBQVIsQ0FBNUI7O0FBQ0EsVUFBSUwsTUFBSixFQUFZO0FBQ1YsWUFBTU0sTUFBTSxHQUFHLElBQUlDLE1BQUosU0FBaUJQLE1BQWpCLFFBQTRCLElBQTVCLENBQWY7QUFDQSxlQUFPSCxTQUFTLENBQUNDLE9BQVYsQ0FBa0JRLE1BQWxCLEVBQTBCLEVBQTFCLENBQVA7QUFDRDs7QUFDRCxhQUFPVCxTQUFQO0FBQ0Q7QUFmSSxHQUFQO0FBaUJELENBdEJEOztBQXdCQSxlQUFlTCxzQkFBZiIsInNvdXJjZXNDb250ZW50IjpbImNvbnN0IHN1cHBvcnRlZFR5cGVzID0gWydpbml0aWFsJywgJ2FsbCddO1xuXG4vKipcbiAqIHN0cmlwcyBpbmRlbnRhdGlvbiBmcm9tIGEgdGVtcGxhdGUgbGl0ZXJhbFxuICogQHBhcmFtICB7U3RyaW5nfSB0eXBlID0gJ2luaXRpYWwnIC0gd2hldGhlciB0byByZW1vdmUgYWxsIGluZGVudGF0aW9uIG9yIGp1c3QgbGVhZGluZyBpbmRlbnRhdGlvbi4gY2FuIGJlICdhbGwnIG9yICdpbml0aWFsJ1xuICogQHJldHVybiB7T2JqZWN0fSAgICAgICAgICAgICAgICAgIC0gYSBUZW1wbGF0ZVRhZyB0cmFuc2Zvcm1lclxuICovXG5jb25zdCBzdHJpcEluZGVudFRyYW5zZm9ybWVyID0gKHR5cGUgPSAnaW5pdGlhbCcpID0+IHtcbiAgaWYgKCFzdXBwb3J0ZWRUeXBlcy5pbmNsdWRlcyh0eXBlKSkge1xuICAgIHRocm93IG5ldyBFcnJvcihgVHlwZSBub3Qgc3VwcG9ydGVkOiAke3R5cGV9YCk7XG4gIH1cblxuICByZXR1cm4ge1xuICAgIG9uRW5kUmVzdWx0KGVuZFJlc3VsdCkge1xuICAgICAgaWYgKHR5cGUgPT09ICdhbGwnKSB7XG4gICAgICAgIC8vIHJlbW92ZSBhbGwgaW5kZW50YXRpb24gZnJvbSBlYWNoIGxpbmVcbiAgICAgICAgcmV0dXJuIGVuZFJlc3VsdC5yZXBsYWNlKC9eW15cXFNcXG5dKy9nbSwgJycpO1xuICAgICAgfVxuXG4gICAgICAvLyByZW1vdmUgdGhlIHNob3J0ZXN0IGxlYWRpbmcgaW5kZW50YXRpb24gZnJvbSBlYWNoIGxpbmVcbiAgICAgIGNvbnN0IG1hdGNoID0gZW5kUmVzdWx0Lm1hdGNoKC9eW15cXFNcXG5dKig/PVxcUykvZ20pO1xuICAgICAgY29uc3QgaW5kZW50ID0gbWF0Y2ggJiYgTWF0aC5taW4oLi4ubWF0Y2gubWFwKGVsID0+IGVsLmxlbmd0aCkpO1xuICAgICAgaWYgKGluZGVudCkge1xuICAgICAgICBjb25zdCByZWdleHAgPSBuZXcgUmVnRXhwKGBeLnske2luZGVudH19YCwgJ2dtJyk7XG4gICAgICAgIHJldHVybiBlbmRSZXN1bHQucmVwbGFjZShyZWdleHAsICcnKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBlbmRSZXN1bHQ7XG4gICAgfSxcbiAgfTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IHN0cmlwSW5kZW50VHJhbnNmb3JtZXI7XG4iXX0=