我具有以下有效的功能,但我希望可以更紧凑地编写它。

function ymlComment(yml) {
  let ymlB = "/**\n* @swagger\n* definitions:\n";
  var lines = yml.split("\n").splice(1, yml.split("\n").length - 2);
  lines.forEach(function(el) {
    ymlB += "*" + el + "\n";
  });
  ymlB += "*/";
  return ymlB;
}


如果您还可以从此开始,然后在definitions:\n*/之间插入文本,则使其更加紧凑将是一件好事。

let ymlB = "/**\n* @swagger\n* definitions:\n*/";


结果:

/**
* @swagger
* ...
* ...
*/

最佳答案

您可以这样重写它:

let ymlComment = yml => [
    '/**',
    '* @swagger',
    '* definitions:',
    ...yml.split("\n").slice(1, -1).map(x => '* ' + x),
    '*/'
].join('\n')


当然,应该在其他地方确保yml参数不包含*/,这会破坏生成的代码。

关于javascript - Js插入行的初始文本,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58562616/

10-13 09:26