UNPKG

simple-odf

Version:

Open Document Format made easy using pure JavaScript and Node.js

40 lines (39 loc) 1.34 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.AutomaticStyleVisitor = void 0; const text_1 = require("../api/text"); class AutomaticStyleVisitor { constructor(automaticStyles) { this.automaticStyles = automaticStyles; } visit(odfElement) { if (odfElement instanceof text_1.Heading) { this.visitHeading(odfElement, this.automaticStyles); } else if (odfElement instanceof text_1.List) { this.visitList(odfElement, this.automaticStyles); } else if (odfElement instanceof text_1.Paragraph) { this.visitParagraph(odfElement, this.automaticStyles); } odfElement.getAll().forEach((odfChildElement) => { this.visit(odfChildElement); }); } visitHeading(heading, automaticStyles) { this.addStyle(heading.getStyle(), automaticStyles); } visitList(list, automaticStyles) { this.addStyle(list.getStyle(), automaticStyles); } visitParagraph(paragraph, automaticStyles) { this.addStyle(paragraph.getStyle(), automaticStyles); } addStyle(style, automaticStyles) { if (style === undefined) { return; } automaticStyles.add(style); } } exports.AutomaticStyleVisitor = AutomaticStyleVisitor;