text: /**
   * 每一行紧跟前导空白的插入值为多行时，保持缩进。
   *
   * @public
   * @param literals 字面值
   * @param interpolations 插入值
   * @returns 返回处理后的结果
   * @example
   * ```typescript
   * indent` ${'a\nb'}` // => ' a\n b'
   * ```
   */
  export function indent(literals) {
    var result = '';
  
    for (var i = 0; i < (arguments.length <= 1 ? 0 : arguments.length - 1); i++) {
      var literal = literals[i];
      var interpolation = i + 1 < 1 || arguments.length <= i + 1 ? undefined : arguments[i + 1];
      var match = literal.match(/(?:^|[\r\n]+)([^\S\r\n]*)$/);
  
      if (match && match[1]) {
        interpolation = String(interpolation).replace( // fix: 后行断言部分浏览器暂不支持
        // /(?<=[\r\n]+)(?=[^\r\n])/g,
        /([\r\n]+)(?=[^\r\n])/g, "$1" + match[1]);
      }
  
      result += literal;
      result += interpolation;
    }
  
    result += literals[literals.length - 1];
    return result;
  }