react-native-mathjax-html-to-svg
Version:
React Native component to display mathematics in html using MathJax. Uses [MathJax](https://github.com/mathjax/)
924 lines • 33.1 kB
JavaScript
"use strict";
var __extends = (this && this.__extends) || (function () {
var extendStatics = function (d, b) {
extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
return extendStatics(d, b);
};
return function (d, b) {
if (typeof b !== "function" && b !== null)
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
var __assign = (this && this.__assign) || function () {
__assign = Object.assign || function(t) {
for (var s, i = 1, n = arguments.length; i < n; i++) {
s = arguments[i];
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
t[p] = s[p];
}
return t;
};
return __assign.apply(this, arguments);
};
var __values = (this && this.__values) || function(o) {
var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
if (m) return m.call(o);
if (o && typeof o.length === "number") return {
next: function () {
if (o && i >= o.length) o = void 0;
return { value: o && o[i++], done: !o };
}
};
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
};
var __read = (this && this.__read) || function (o, n) {
var m = typeof Symbol === "function" && o[Symbol.iterator];
if (!m) return o;
var i = m.call(o), r, ar = [], e;
try {
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
}
catch (error) { e = { error: error }; }
finally {
try {
if (r && !r.done && (m = i["return"])) m.call(i);
}
finally { if (e) throw e.error; }
}
return ar;
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.XMLNode = exports.TextNode = exports.AbstractMmlEmptyNode = exports.AbstractMmlBaseNode = exports.AbstractMmlLayoutNode = exports.AbstractMmlTokenNode = exports.AbstractMmlNode = exports.indentAttributes = exports.TEXCLASSNAMES = exports.TEXCLASS = void 0;
var Attributes_js_1 = require("./Attributes.js");
var Node_js_1 = require("../Tree/Node.js");
exports.TEXCLASS = {
ORD: 0,
OP: 1,
BIN: 2,
REL: 3,
OPEN: 4,
CLOSE: 5,
PUNCT: 6,
INNER: 7,
VCENTER: 8,
NONE: -1
};
exports.TEXCLASSNAMES = ['ORD', 'OP', 'BIN', 'REL', 'OPEN', 'CLOSE', 'PUNCT', 'INNER', 'VCENTER'];
var TEXSPACELENGTH = ['', 'thinmathspace', 'mediummathspace', 'thickmathspace'];
var TEXSPACE = [
[0, -1, 2, 3, 0, 0, 0, 1],
[-1, -1, 0, 3, 0, 0, 0, 1],
[2, 2, 0, 0, 2, 0, 0, 2],
[3, 3, 0, 0, 3, 0, 0, 3],
[0, 0, 0, 0, 0, 0, 0, 0],
[0, -1, 2, 3, 0, 0, 0, 1],
[1, 1, 0, 1, 1, 1, 1, 1],
[1, -1, 2, 3, 1, 0, 1, 1]
];
exports.indentAttributes = [
'indentalign', 'indentalignfirst',
'indentshift', 'indentshiftfirst'
];
var AbstractMmlNode = (function (_super) {
__extends(AbstractMmlNode, _super);
function AbstractMmlNode(factory, attributes, children) {
if (attributes === void 0) { attributes = {}; }
if (children === void 0) { children = []; }
var _this = _super.call(this, factory) || this;
_this.prevClass = null;
_this.prevLevel = null;
_this.texclass = null;
if (_this.arity < 0) {
_this.childNodes = [factory.create('inferredMrow')];
_this.childNodes[0].parent = _this;
}
_this.setChildren(children);
_this.attributes = new Attributes_js_1.Attributes(factory.getNodeClass(_this.kind).defaults, factory.getNodeClass('math').defaults);
_this.attributes.setList(attributes);
return _this;
}
AbstractMmlNode.prototype.copy = function (keepIds) {
var e_1, _a, e_2, _b;
if (keepIds === void 0) { keepIds = false; }
var node = this.factory.create(this.kind);
node.properties = __assign({}, this.properties);
if (this.attributes) {
var attributes = this.attributes.getAllAttributes();
try {
for (var _c = __values(Object.keys(attributes)), _d = _c.next(); !_d.done; _d = _c.next()) {
var name_1 = _d.value;
if (name_1 !== 'id' || keepIds) {
node.attributes.set(name_1, attributes[name_1]);
}
}
}
catch (e_1_1) { e_1 = { error: e_1_1 }; }
finally {
try {
if (_d && !_d.done && (_a = _c.return)) _a.call(_c);
}
finally { if (e_1) throw e_1.error; }
}
}
if (this.childNodes && this.childNodes.length) {
var children = this.childNodes;
if (children.length === 1 && children[0].isInferred) {
children = children[0].childNodes;
}
try {
for (var children_1 = __values(children), children_1_1 = children_1.next(); !children_1_1.done; children_1_1 = children_1.next()) {
var child = children_1_1.value;
if (child) {
node.appendChild(child.copy());
}
else {
node.childNodes.push(null);
}
}
}
catch (e_2_1) { e_2 = { error: e_2_1 }; }
finally {
try {
if (children_1_1 && !children_1_1.done && (_b = children_1.return)) _b.call(children_1);
}
finally { if (e_2) throw e_2.error; }
}
}
return node;
};
Object.defineProperty(AbstractMmlNode.prototype, "texClass", {
get: function () {
return this.texclass;
},
set: function (texClass) {
this.texclass = texClass;
},
enumerable: false,
configurable: true
});
Object.defineProperty(AbstractMmlNode.prototype, "isToken", {
get: function () {
return false;
},
enumerable: false,
configurable: true
});
Object.defineProperty(AbstractMmlNode.prototype, "isEmbellished", {
get: function () {
return false;
},
enumerable: false,
configurable: true
});
Object.defineProperty(AbstractMmlNode.prototype, "isSpacelike", {
get: function () {
return false;
},
enumerable: false,
configurable: true
});
Object.defineProperty(AbstractMmlNode.prototype, "linebreakContainer", {
get: function () {
return false;
},
enumerable: false,
configurable: true
});
Object.defineProperty(AbstractMmlNode.prototype, "hasNewLine", {
get: function () {
return false;
},
enumerable: false,
configurable: true
});
Object.defineProperty(AbstractMmlNode.prototype, "arity", {
get: function () {
return Infinity;
},
enumerable: false,
configurable: true
});
Object.defineProperty(AbstractMmlNode.prototype, "isInferred", {
get: function () {
return false;
},
enumerable: false,
configurable: true
});
Object.defineProperty(AbstractMmlNode.prototype, "Parent", {
get: function () {
var parent = this.parent;
while (parent && parent.notParent) {
parent = parent.Parent;
}
return parent;
},
enumerable: false,
configurable: true
});
Object.defineProperty(AbstractMmlNode.prototype, "notParent", {
get: function () {
return false;
},
enumerable: false,
configurable: true
});
AbstractMmlNode.prototype.setChildren = function (children) {
if (this.arity < 0) {
return this.childNodes[0].setChildren(children);
}
return _super.prototype.setChildren.call(this, children);
};
AbstractMmlNode.prototype.appendChild = function (child) {
var e_3, _a;
var _this = this;
if (this.arity < 0) {
this.childNodes[0].appendChild(child);
return child;
}
if (child.isInferred) {
if (this.arity === Infinity) {
child.childNodes.forEach(function (node) { return _super.prototype.appendChild.call(_this, node); });
return child;
}
var original = child;
child = this.factory.create('mrow');
child.setChildren(original.childNodes);
child.attributes = original.attributes;
try {
for (var _b = __values(original.getPropertyNames()), _c = _b.next(); !_c.done; _c = _b.next()) {
var name_2 = _c.value;
child.setProperty(name_2, original.getProperty(name_2));
}
}
catch (e_3_1) { e_3 = { error: e_3_1 }; }
finally {
try {
if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
}
finally { if (e_3) throw e_3.error; }
}
}
return _super.prototype.appendChild.call(this, child);
};
AbstractMmlNode.prototype.replaceChild = function (newChild, oldChild) {
if (this.arity < 0) {
this.childNodes[0].replaceChild(newChild, oldChild);
return newChild;
}
return _super.prototype.replaceChild.call(this, newChild, oldChild);
};
AbstractMmlNode.prototype.core = function () {
return this;
};
AbstractMmlNode.prototype.coreMO = function () {
return this;
};
AbstractMmlNode.prototype.coreIndex = function () {
return 0;
};
AbstractMmlNode.prototype.childPosition = function () {
var e_4, _a;
var child = this;
var parent = child.parent;
while (parent && parent.notParent) {
child = parent;
parent = parent.parent;
}
if (parent) {
var i = 0;
try {
for (var _b = __values(parent.childNodes), _c = _b.next(); !_c.done; _c = _b.next()) {
var node = _c.value;
if (node === child) {
return i;
}
i++;
}
}
catch (e_4_1) { e_4 = { error: e_4_1 }; }
finally {
try {
if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
}
finally { if (e_4) throw e_4.error; }
}
}
return null;
};
AbstractMmlNode.prototype.setTeXclass = function (prev) {
this.getPrevClass(prev);
return (this.texClass != null ? this : prev);
};
AbstractMmlNode.prototype.updateTeXclass = function (core) {
if (core) {
this.prevClass = core.prevClass;
this.prevLevel = core.prevLevel;
core.prevClass = core.prevLevel = null;
this.texClass = core.texClass;
}
};
AbstractMmlNode.prototype.getPrevClass = function (prev) {
if (prev) {
this.prevClass = prev.texClass;
this.prevLevel = prev.attributes.get('scriptlevel');
}
};
AbstractMmlNode.prototype.texSpacing = function () {
var prevClass = (this.prevClass != null ? this.prevClass : exports.TEXCLASS.NONE);
var texClass = this.texClass || exports.TEXCLASS.ORD;
if (prevClass === exports.TEXCLASS.NONE || texClass === exports.TEXCLASS.NONE) {
return '';
}
if (prevClass === exports.TEXCLASS.VCENTER) {
prevClass = exports.TEXCLASS.ORD;
}
if (texClass === exports.TEXCLASS.VCENTER) {
texClass = exports.TEXCLASS.ORD;
}
var space = TEXSPACE[prevClass][texClass];
if ((this.prevLevel > 0 || this.attributes.get('scriptlevel') > 0) && space >= 0) {
return '';
}
return TEXSPACELENGTH[Math.abs(space)];
};
AbstractMmlNode.prototype.hasSpacingAttributes = function () {
return this.isEmbellished && this.coreMO().hasSpacingAttributes();
};
AbstractMmlNode.prototype.setInheritedAttributes = function (attributes, display, level, prime) {
var e_5, _a;
if (attributes === void 0) { attributes = {}; }
if (display === void 0) { display = false; }
if (level === void 0) { level = 0; }
if (prime === void 0) { prime = false; }
var defaults = this.attributes.getAllDefaults();
try {
for (var _b = __values(Object.keys(attributes)), _c = _b.next(); !_c.done; _c = _b.next()) {
var key = _c.value;
if (defaults.hasOwnProperty(key) || AbstractMmlNode.alwaysInherit.hasOwnProperty(key)) {
var _d = __read(attributes[key], 2), node = _d[0], value = _d[1];
var noinherit = (AbstractMmlNode.noInherit[node] || {})[this.kind] || {};
if (!noinherit[key]) {
this.attributes.setInherited(key, value);
}
}
}
}
catch (e_5_1) { e_5 = { error: e_5_1 }; }
finally {
try {
if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
}
finally { if (e_5) throw e_5.error; }
}
var displaystyle = this.attributes.getExplicit('displaystyle');
if (displaystyle === undefined) {
this.attributes.setInherited('displaystyle', display);
}
var scriptlevel = this.attributes.getExplicit('scriptlevel');
if (scriptlevel === undefined) {
this.attributes.setInherited('scriptlevel', level);
}
if (prime) {
this.setProperty('texprimestyle', prime);
}
var arity = this.arity;
if (arity >= 0 && arity !== Infinity && ((arity === 1 && this.childNodes.length === 0) ||
(arity !== 1 && this.childNodes.length !== arity))) {
if (arity < this.childNodes.length) {
this.childNodes = this.childNodes.slice(0, arity);
}
else {
while (this.childNodes.length < arity) {
this.appendChild(this.factory.create('mrow'));
}
}
}
this.setChildInheritedAttributes(attributes, display, level, prime);
};
AbstractMmlNode.prototype.setChildInheritedAttributes = function (attributes, display, level, prime) {
var e_6, _a;
try {
for (var _b = __values(this.childNodes), _c = _b.next(); !_c.done; _c = _b.next()) {
var child = _c.value;
child.setInheritedAttributes(attributes, display, level, prime);
}
}
catch (e_6_1) { e_6 = { error: e_6_1 }; }
finally {
try {
if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
}
finally { if (e_6) throw e_6.error; }
}
};
AbstractMmlNode.prototype.addInheritedAttributes = function (current, attributes) {
var e_7, _a;
var updated = __assign({}, current);
try {
for (var _b = __values(Object.keys(attributes)), _c = _b.next(); !_c.done; _c = _b.next()) {
var name_3 = _c.value;
if (name_3 !== 'displaystyle' && name_3 !== 'scriptlevel' && name_3 !== 'style') {
updated[name_3] = [this.kind, attributes[name_3]];
}
}
}
catch (e_7_1) { e_7 = { error: e_7_1 }; }
finally {
try {
if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
}
finally { if (e_7) throw e_7.error; }
}
return updated;
};
AbstractMmlNode.prototype.inheritAttributesFrom = function (node) {
var attributes = node.attributes;
var display = attributes.get('displaystyle');
var scriptlevel = attributes.get('scriptlevel');
var defaults = (!attributes.isSet('mathsize') ? {} : {
mathsize: ['math', attributes.get('mathsize')]
});
var prime = node.getProperty('texprimestyle') || false;
this.setInheritedAttributes(defaults, display, scriptlevel, prime);
};
AbstractMmlNode.prototype.verifyTree = function (options) {
if (options === void 0) { options = null; }
if (options === null) {
return;
}
this.verifyAttributes(options);
var arity = this.arity;
if (options['checkArity']) {
if (arity >= 0 && arity !== Infinity &&
((arity === 1 && this.childNodes.length === 0) ||
(arity !== 1 && this.childNodes.length !== arity))) {
this.mError('Wrong number of children for "' + this.kind + '" node', options, true);
}
}
this.verifyChildren(options);
};
AbstractMmlNode.prototype.verifyAttributes = function (options) {
var e_8, _a;
if (options['checkAttributes']) {
var attributes = this.attributes;
var bad = [];
try {
for (var _b = __values(attributes.getExplicitNames()), _c = _b.next(); !_c.done; _c = _b.next()) {
var name_4 = _c.value;
if (name_4.substr(0, 5) !== 'data-' && attributes.getDefault(name_4) === undefined &&
!name_4.match(/^(?:class|style|id|(?:xlink:)?href)$/)) {
bad.push(name_4);
}
}
}
catch (e_8_1) { e_8 = { error: e_8_1 }; }
finally {
try {
if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
}
finally { if (e_8) throw e_8.error; }
}
if (bad.length) {
this.mError('Unknown attributes for ' + this.kind + ' node: ' + bad.join(', '), options);
}
}
};
AbstractMmlNode.prototype.verifyChildren = function (options) {
var e_9, _a;
try {
for (var _b = __values(this.childNodes), _c = _b.next(); !_c.done; _c = _b.next()) {
var child = _c.value;
child.verifyTree(options);
}
}
catch (e_9_1) { e_9 = { error: e_9_1 }; }
finally {
try {
if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
}
finally { if (e_9) throw e_9.error; }
}
};
AbstractMmlNode.prototype.mError = function (message, options, short) {
if (short === void 0) { short = false; }
if (this.parent && this.parent.isKind('merror')) {
return null;
}
var merror = this.factory.create('merror');
merror.attributes.set('data-mjx-message', message);
if (options['fullErrors'] || short) {
var mtext = this.factory.create('mtext');
var text = this.factory.create('text');
text.setText(options['fullErrors'] ? message : this.kind);
mtext.appendChild(text);
merror.appendChild(mtext);
this.parent.replaceChild(merror, this);
}
else {
this.parent.replaceChild(merror, this);
merror.appendChild(this);
}
return merror;
};
AbstractMmlNode.defaults = {
mathbackground: Attributes_js_1.INHERIT,
mathcolor: Attributes_js_1.INHERIT,
mathsize: Attributes_js_1.INHERIT,
dir: Attributes_js_1.INHERIT
};
AbstractMmlNode.noInherit = {
mstyle: {
mpadded: { width: true, height: true, depth: true, lspace: true, voffset: true },
mtable: { width: true, height: true, depth: true, align: true }
},
maligngroup: {
mrow: { groupalign: true },
mtable: { groupalign: true }
}
};
AbstractMmlNode.alwaysInherit = {
scriptminsize: true,
scriptsizemultiplier: true
};
AbstractMmlNode.verifyDefaults = {
checkArity: true,
checkAttributes: false,
fullErrors: false,
fixMmultiscripts: true,
fixMtables: true
};
return AbstractMmlNode;
}(Node_js_1.AbstractNode));
exports.AbstractMmlNode = AbstractMmlNode;
var AbstractMmlTokenNode = (function (_super) {
__extends(AbstractMmlTokenNode, _super);
function AbstractMmlTokenNode() {
return _super !== null && _super.apply(this, arguments) || this;
}
Object.defineProperty(AbstractMmlTokenNode.prototype, "isToken", {
get: function () {
return true;
},
enumerable: false,
configurable: true
});
AbstractMmlTokenNode.prototype.getText = function () {
var e_10, _a;
var text = '';
try {
for (var _b = __values(this.childNodes), _c = _b.next(); !_c.done; _c = _b.next()) {
var child = _c.value;
if (child instanceof TextNode) {
text += child.getText();
}
}
}
catch (e_10_1) { e_10 = { error: e_10_1 }; }
finally {
try {
if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
}
finally { if (e_10) throw e_10.error; }
}
return text;
};
AbstractMmlTokenNode.prototype.setChildInheritedAttributes = function (attributes, display, level, prime) {
var e_11, _a;
try {
for (var _b = __values(this.childNodes), _c = _b.next(); !_c.done; _c = _b.next()) {
var child = _c.value;
if (child instanceof AbstractMmlNode) {
child.setInheritedAttributes(attributes, display, level, prime);
}
}
}
catch (e_11_1) { e_11 = { error: e_11_1 }; }
finally {
try {
if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
}
finally { if (e_11) throw e_11.error; }
}
};
AbstractMmlTokenNode.prototype.walkTree = function (func, data) {
var e_12, _a;
func(this, data);
try {
for (var _b = __values(this.childNodes), _c = _b.next(); !_c.done; _c = _b.next()) {
var child = _c.value;
if (child instanceof AbstractMmlNode) {
child.walkTree(func, data);
}
}
}
catch (e_12_1) { e_12 = { error: e_12_1 }; }
finally {
try {
if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
}
finally { if (e_12) throw e_12.error; }
}
return data;
};
AbstractMmlTokenNode.defaults = __assign(__assign({}, AbstractMmlNode.defaults), { mathvariant: 'normal', mathsize: Attributes_js_1.INHERIT });
return AbstractMmlTokenNode;
}(AbstractMmlNode));
exports.AbstractMmlTokenNode = AbstractMmlTokenNode;
var AbstractMmlLayoutNode = (function (_super) {
__extends(AbstractMmlLayoutNode, _super);
function AbstractMmlLayoutNode() {
return _super !== null && _super.apply(this, arguments) || this;
}
Object.defineProperty(AbstractMmlLayoutNode.prototype, "isSpacelike", {
get: function () {
return this.childNodes[0].isSpacelike;
},
enumerable: false,
configurable: true
});
Object.defineProperty(AbstractMmlLayoutNode.prototype, "isEmbellished", {
get: function () {
return this.childNodes[0].isEmbellished;
},
enumerable: false,
configurable: true
});
Object.defineProperty(AbstractMmlLayoutNode.prototype, "arity", {
get: function () {
return -1;
},
enumerable: false,
configurable: true
});
AbstractMmlLayoutNode.prototype.core = function () {
return this.childNodes[0];
};
AbstractMmlLayoutNode.prototype.coreMO = function () {
return this.childNodes[0].coreMO();
};
AbstractMmlLayoutNode.prototype.setTeXclass = function (prev) {
prev = this.childNodes[0].setTeXclass(prev);
this.updateTeXclass(this.childNodes[0]);
return prev;
};
AbstractMmlLayoutNode.defaults = AbstractMmlNode.defaults;
return AbstractMmlLayoutNode;
}(AbstractMmlNode));
exports.AbstractMmlLayoutNode = AbstractMmlLayoutNode;
var AbstractMmlBaseNode = (function (_super) {
__extends(AbstractMmlBaseNode, _super);
function AbstractMmlBaseNode() {
return _super !== null && _super.apply(this, arguments) || this;
}
Object.defineProperty(AbstractMmlBaseNode.prototype, "isEmbellished", {
get: function () {
return this.childNodes[0].isEmbellished;
},
enumerable: false,
configurable: true
});
AbstractMmlBaseNode.prototype.core = function () {
return this.childNodes[0];
};
AbstractMmlBaseNode.prototype.coreMO = function () {
return this.childNodes[0].coreMO();
};
AbstractMmlBaseNode.prototype.setTeXclass = function (prev) {
var e_13, _a;
this.getPrevClass(prev);
this.texClass = exports.TEXCLASS.ORD;
var base = this.childNodes[0];
if (base) {
if (this.isEmbellished || base.isKind('mi')) {
prev = base.setTeXclass(prev);
this.updateTeXclass(this.core());
}
else {
base.setTeXclass(null);
prev = this;
}
}
else {
prev = this;
}
try {
for (var _b = __values(this.childNodes.slice(1)), _c = _b.next(); !_c.done; _c = _b.next()) {
var child = _c.value;
if (child) {
child.setTeXclass(null);
}
}
}
catch (e_13_1) { e_13 = { error: e_13_1 }; }
finally {
try {
if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
}
finally { if (e_13) throw e_13.error; }
}
return prev;
};
AbstractMmlBaseNode.defaults = AbstractMmlNode.defaults;
return AbstractMmlBaseNode;
}(AbstractMmlNode));
exports.AbstractMmlBaseNode = AbstractMmlBaseNode;
var AbstractMmlEmptyNode = (function (_super) {
__extends(AbstractMmlEmptyNode, _super);
function AbstractMmlEmptyNode() {
return _super !== null && _super.apply(this, arguments) || this;
}
Object.defineProperty(AbstractMmlEmptyNode.prototype, "isToken", {
get: function () {
return false;
},
enumerable: false,
configurable: true
});
Object.defineProperty(AbstractMmlEmptyNode.prototype, "isEmbellished", {
get: function () {
return false;
},
enumerable: false,
configurable: true
});
Object.defineProperty(AbstractMmlEmptyNode.prototype, "isSpacelike", {
get: function () {
return false;
},
enumerable: false,
configurable: true
});
Object.defineProperty(AbstractMmlEmptyNode.prototype, "linebreakContainer", {
get: function () {
return false;
},
enumerable: false,
configurable: true
});
Object.defineProperty(AbstractMmlEmptyNode.prototype, "hasNewLine", {
get: function () {
return false;
},
enumerable: false,
configurable: true
});
Object.defineProperty(AbstractMmlEmptyNode.prototype, "arity", {
get: function () {
return 0;
},
enumerable: false,
configurable: true
});
Object.defineProperty(AbstractMmlEmptyNode.prototype, "isInferred", {
get: function () {
return false;
},
enumerable: false,
configurable: true
});
Object.defineProperty(AbstractMmlEmptyNode.prototype, "notParent", {
get: function () {
return false;
},
enumerable: false,
configurable: true
});
Object.defineProperty(AbstractMmlEmptyNode.prototype, "Parent", {
get: function () {
return this.parent;
},
enumerable: false,
configurable: true
});
Object.defineProperty(AbstractMmlEmptyNode.prototype, "texClass", {
get: function () {
return exports.TEXCLASS.NONE;
},
enumerable: false,
configurable: true
});
Object.defineProperty(AbstractMmlEmptyNode.prototype, "prevClass", {
get: function () {
return exports.TEXCLASS.NONE;
},
enumerable: false,
configurable: true
});
Object.defineProperty(AbstractMmlEmptyNode.prototype, "prevLevel", {
get: function () {
return 0;
},
enumerable: false,
configurable: true
});
AbstractMmlEmptyNode.prototype.hasSpacingAttributes = function () {
return false;
};
Object.defineProperty(AbstractMmlEmptyNode.prototype, "attributes", {
get: function () {
return null;
},
enumerable: false,
configurable: true
});
AbstractMmlEmptyNode.prototype.core = function () {
return this;
};
AbstractMmlEmptyNode.prototype.coreMO = function () {
return this;
};
AbstractMmlEmptyNode.prototype.coreIndex = function () {
return 0;
};
AbstractMmlEmptyNode.prototype.childPosition = function () {
return 0;
};
AbstractMmlEmptyNode.prototype.setTeXclass = function (prev) {
return prev;
};
AbstractMmlEmptyNode.prototype.texSpacing = function () {
return '';
};
AbstractMmlEmptyNode.prototype.setInheritedAttributes = function (_attributes, _display, _level, _prime) { };
AbstractMmlEmptyNode.prototype.inheritAttributesFrom = function (_node) { };
AbstractMmlEmptyNode.prototype.verifyTree = function (_options) { };
AbstractMmlEmptyNode.prototype.mError = function (_message, _options, _short) {
if (_short === void 0) { _short = false; }
return null;
};
return AbstractMmlEmptyNode;
}(Node_js_1.AbstractEmptyNode));
exports.AbstractMmlEmptyNode = AbstractMmlEmptyNode;
var TextNode = (function (_super) {
__extends(TextNode, _super);
function TextNode() {
var _this = _super !== null && _super.apply(this, arguments) || this;
_this.text = '';
return _this;
}
Object.defineProperty(TextNode.prototype, "kind", {
get: function () {
return 'text';
},
enumerable: false,
configurable: true
});
TextNode.prototype.getText = function () {
return this.text;
};
TextNode.prototype.setText = function (text) {
this.text = text;
return this;
};
TextNode.prototype.copy = function () {
return this.factory.create(this.kind).setText(this.getText());
};
TextNode.prototype.toString = function () {
return this.text;
};
return TextNode;
}(AbstractMmlEmptyNode));
exports.TextNode = TextNode;
var XMLNode = (function (_super) {
__extends(XMLNode, _super);
function XMLNode() {
var _this = _super !== null && _super.apply(this, arguments) || this;
_this.xml = null;
_this.adaptor = null;
return _this;
}
Object.defineProperty(XMLNode.prototype, "kind", {
get: function () {
return 'XML';
},
enumerable: false,
configurable: true
});
XMLNode.prototype.getXML = function () {
return this.xml;
};
XMLNode.prototype.setXML = function (xml, adaptor) {
if (adaptor === void 0) { adaptor = null; }
this.xml = xml;
this.adaptor = adaptor;
return this;
};
XMLNode.prototype.getSerializedXML = function () {
return this.adaptor.serializeXML(this.xml);
};
XMLNode.prototype.copy = function () {
return this.factory.create(this.kind).setXML(this.adaptor.clone(this.xml));
};
XMLNode.prototype.toString = function () {
return 'XML data';
};
return XMLNode;
}(AbstractMmlEmptyNode));
exports.XMLNode = XMLNode;
//# sourceMappingURL=MmlNode.js.map