svelte-draft
Version:
Develop svelte app in typedraft
32 lines (31 loc) • 1.05 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const typedraft_1 = require("typedraft");
class ClosingElementVisitor {
Visit(e, generator) {
if (!e || !e.node)
return;
const name = e.get("name");
if (!name.isJSXIdentifier())
return;
const Append = generator.Append.bind(generator);
const tag_name = name.node.name;
if (tag_name === "if" || tag_name === "each" || tag_name === "await") {
Append(`{/${tag_name}}`);
}
else if (tag_name === "else") {
Append("");
}
else if (tag_name === "debug" || tag_name === "raw-html") {
Append("}");
}
else {
if (tag_name.startsWith("svelte")) {
const name = e.get("name");
name.node.name = tag_name.replace("-", ":");
}
Append(typedraft_1.ToString(e.node));
}
}
}
exports.ClosingElementVisitor = ClosingElementVisitor;