UNPKG

react-native-mathjax-html-to-svg

Version:

React Native component to display mathematics in html using MathJax. Uses [MathJax](https://github.com/mathjax/)

160 lines (159 loc) 6.2 kB
"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 (b.hasOwnProperty(p)) d[p] = b[p]; }; return extendStatics(d, b); }; return function (d, b) { 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); }; Object.defineProperty(exports, "__esModule", { value: true }); exports.MmlNone = exports.MmlMprescripts = exports.MmlMmultiscripts = void 0; var MmlNode_js_1 = require("../MmlNode.js"); var msubsup_js_1 = require("./msubsup.js"); var MmlMmultiscripts = (function (_super) { __extends(MmlMmultiscripts, _super); function MmlMmultiscripts() { return _super !== null && _super.apply(this, arguments) || this; } Object.defineProperty(MmlMmultiscripts.prototype, "kind", { get: function () { return 'mmultiscripts'; }, enumerable: false, configurable: true }); Object.defineProperty(MmlMmultiscripts.prototype, "arity", { get: function () { return 1; }, enumerable: false, configurable: true }); MmlMmultiscripts.prototype.setChildInheritedAttributes = function (attributes, display, level, prime) { this.childNodes[0].setInheritedAttributes(attributes, display, level, prime); var prescripts = false; for (var i = 1, n = 0; i < this.childNodes.length; i++) { var child = this.childNodes[i]; if (child.isKind('mprescripts')) { if (!prescripts) { prescripts = true; if (i % 2 === 0) { var mrow = this.factory.create('mrow'); this.childNodes.splice(i, 0, mrow); mrow.parent = this; i++; } } } else { var primestyle = prime || (n % 2 === 0); child.setInheritedAttributes(attributes, false, level + 1, primestyle); n++; } } if (this.childNodes.length % 2 === (prescripts ? 1 : 0)) { this.appendChild(this.factory.create('mrow')); this.childNodes[this.childNodes.length - 1].setInheritedAttributes(attributes, false, level + 1, prime); } }; MmlMmultiscripts.prototype.verifyChildren = function (options) { var prescripts = false; var fix = options['fixMmultiscripts']; for (var i = 0; i < this.childNodes.length; i++) { var child = this.childNodes[i]; if (child.isKind('mprescripts')) { if (prescripts) { child.mError(child.kind + ' can only appear once in ' + this.kind, options, true); } else { prescripts = true; if (i % 2 === 0 && !fix) { this.mError('There must be an equal number of prescripts of each type', options); } } } } if (this.childNodes.length % 2 === (prescripts ? 1 : 0) && !fix) { this.mError('There must be an equal number of scripts of each type', options); } _super.prototype.verifyChildren.call(this, options); }; MmlMmultiscripts.defaults = __assign({}, msubsup_js_1.MmlMsubsup.defaults); return MmlMmultiscripts; }(msubsup_js_1.MmlMsubsup)); exports.MmlMmultiscripts = MmlMmultiscripts; var MmlMprescripts = (function (_super) { __extends(MmlMprescripts, _super); function MmlMprescripts() { return _super !== null && _super.apply(this, arguments) || this; } Object.defineProperty(MmlMprescripts.prototype, "kind", { get: function () { return 'mprescripts'; }, enumerable: false, configurable: true }); Object.defineProperty(MmlMprescripts.prototype, "arity", { get: function () { return 0; }, enumerable: false, configurable: true }); MmlMprescripts.prototype.verifyTree = function (options) { _super.prototype.verifyTree.call(this, options); if (this.parent && !this.parent.isKind('mmultiscripts')) { this.mError(this.kind + ' must be a child of mmultiscripts', options, true); } }; MmlMprescripts.defaults = __assign({}, MmlNode_js_1.AbstractMmlNode.defaults); return MmlMprescripts; }(MmlNode_js_1.AbstractMmlNode)); exports.MmlMprescripts = MmlMprescripts; var MmlNone = (function (_super) { __extends(MmlNone, _super); function MmlNone() { return _super !== null && _super.apply(this, arguments) || this; } Object.defineProperty(MmlNone.prototype, "kind", { get: function () { return 'none'; }, enumerable: false, configurable: true }); Object.defineProperty(MmlNone.prototype, "arity", { get: function () { return 0; }, enumerable: false, configurable: true }); MmlNone.prototype.verifyTree = function (options) { _super.prototype.verifyTree.call(this, options); if (this.parent && !this.parent.isKind('mmultiscripts')) { this.mError(this.kind + ' must be a child of mmultiscripts', options, true); } }; MmlNone.defaults = __assign({}, MmlNode_js_1.AbstractMmlNode.defaults); return MmlNone; }(MmlNode_js_1.AbstractMmlNode)); exports.MmlNone = MmlNone;