DeindentTemplateLiteralString

Exports a simple function that can be passed a template literal. It strips code indentation from it while preserving intended indentation, by stripping out the smallest indent every line has in common.

此脚本不应直接安装,它是一个供其他脚本使用的外部库。如果您需要使用该库,请在脚本元属性加入:// @require https://update.greasyfork.org/scripts/511046/1460584/DeindentTemplateLiteralString.js

作者
1N07
版本
1.2
创建于
2024-10-01
更新于
2024-10-07
许可证
Unlicense

A simple library that exports a simple function that can be passed a template literal. It strips code indentation from it while preserving intended indentation, by stripping out the smallest indent every line has in common.

Usage Example:

function SomeFunctionThatCausesInnerCodeTobeIndented() {
  const multilineTemplateLiteralString = Deindent(`
    Some text that has been indented for code readabilty,
    but the indentatation shouldn't be passed on to the actual string.
      Except this indentation (in relation to the previous lines) should be preserved in the string,
      and it will be, because it's more indented than the baseline indentation of the string.     
  `);
  console.log(multilineTemplateLiteralString);
}

This function would print:

Some text that has been indented for code readabilty,
but the indentatation shouldn't be passed on to the actual string.
  Except this indentation (in relation to the previous lines) should be preserved in the string,
  and it will be, because it's more indented than the baseline indentation of the string.