UNPKG

word-math

Version:

Extended version to compatible with OMML of Word Processing Document library

46 lines 1.63 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.parse_str = exports.write_buf = exports.write_str = void 0; function write_para_elt_str(elt, opts) { var RS = opts && opts.RS || "\n"; switch (elt.t) { case "s": return elt.v; case "t": return elt.r.map(function (tr) { return tr.c.map(function (tc) { return tc.p.map(function (p) { return write_para_str(p); }).join(RS); }).join(RS); }).join(RS); default: throw "Cannot generate plaintext for ".concat(elt.t, " elements"); } } function write_para_str(para, opts) { return para.elts.map(function (elt) { return write_para_elt_str(elt, opts); }).join(""); } function write_str(doc, opts) { var RS = opts && opts.RS || "\n"; var o = doc.p.map(function (para) { return write_para_str(para, opts); }).join(RS) + RS; return o; } exports.write_str = write_str; function write_buf(doc, opts) { return Buffer.from(write_str(doc, opts)); } exports.write_buf = write_buf; /* TODO: something more reasonable */ function parse_str(data) { var doc = { p: [] }; var texts = data.split(/\r\n?|\n/); if (!texts[texts.length - 1] && data.slice(-2).match(/[\r\n]$/)) texts = texts.slice(0, -1); texts.forEach(function (line) { var t = { t: "s", v: line }; var para = { elts: [t] }; doc.p.push(para); }); return doc; } exports.parse_str = parse_str; //# sourceMappingURL=index.js.map