@storm-stack/core
Version:
A build toolkit and runtime used by Storm Software in TypeScript applications
46 lines (43 loc) • 1.46 kB
JavaScript
import { __name } from './chunk-IRPJW6HH.js';
import * as Handlebars from 'handlebars';
function registerCommentHelper() {
Handlebars.registerHelper("comment", (parts) => {
const result = [];
for (const part of parts) {
switch (part.kind) {
case "text":
case "code":
result.push(part.text);
break;
case "inline-tag":
switch (part.tag) {
case "@label":
case "@inheritdoc":
break;
case "@link":
case "@linkcode":
case "@linkplain": {
if (part.target) {
const url = typeof part.target === "string" ? part.target : Handlebars.helpers.relativeURL ? Handlebars.helpers.relativeURL(part.target.url) : "";
const wrap = part.tag === "@linkcode" ? "`" : "";
result.push(url ? `[${wrap}${part.text}${wrap}](${url})` : part.text);
} else {
result.push(part.text);
}
break;
}
default:
result.push(`{${part.tag} ${part.text}}`);
break;
}
break;
default:
result.push("");
}
}
return result.join("").split("\n").filter((line) => !line.startsWith("@note")).join("\n");
});
}
__name(registerCommentHelper, "registerCommentHelper");
var comment_default = registerCommentHelper;
export { comment_default };