我具有以下有效的功能,但我希望可以更紧凑地编写它。
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/