UNPKG

@awesome-fe/translate

Version:
65 lines 2.61 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.SentenceFormatter = void 0; const dom_models_1 = require("../dom/parse5/dom-models"); const markdown_1 = require("../dom/unified/markdown"); const adoc_to_tiny_html_1 = require("../dom/asciidoctor/html-adoc/adoc-to-tiny-html"); const tiny_html_to_adoc_1 = require("../dom/asciidoctor/html-adoc/tiny-html-to-adoc"); class SentenceFormatter { static toHtml(sentence, format) { switch (format) { case 'html': return sentence; case 'plain': const doc = dom_models_1.DomDocumentFragment.parse(''); doc.textContent = sentence; return doc.toHtml(); case 'markdown': return markdown_1.markdown.mdToHtml(sentence); case 'asciidoctor': return (0, adoc_to_tiny_html_1.adocToTinyHtml)(sentence); } } static toMarkdown(sentence, format) { switch (format) { case 'html': return markdown_1.markdown.mdFromHtml(sentence); case 'plain': return markdown_1.markdown.mdFromHtml(SentenceFormatter.toHtml(sentence, format)); case 'markdown': return sentence; case 'asciidoctor': return markdown_1.markdown.mdFromHtml((0, adoc_to_tiny_html_1.adocToTinyHtml)(sentence)); } } static fromHtml(sentence, format) { switch (format) { case 'html': return sentence; case 'plain': const doc = dom_models_1.DomDocumentFragment.parse(sentence); return doc.textContent; case 'markdown': return markdown_1.markdown.mdFromHtml(sentence); case 'asciidoctor': return (0, tiny_html_to_adoc_1.tinyHtmlToAdoc)(sentence); } } static fromMarkdown(sentence, format) { switch (format) { case 'html': return markdown_1.markdown.toHtml(sentence); case 'plain': return SentenceFormatter.toPlain(sentence, format); case 'markdown': return sentence; case 'asciidoctor': return (0, tiny_html_to_adoc_1.tinyHtmlToAdoc)(markdown_1.markdown.mdFromHtml(sentence)); } } static toPlain(sentence, format) { return this.fromHtml(this.toHtml(sentence, format), 'plain').trim(); } } exports.SentenceFormatter = SentenceFormatter; //# sourceMappingURL=sentence-formatter.js.map