1 |
- {"ast":null,"code":"\"use strict\";\n\nvar __extends = this && this.__extends || function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf || {\n __proto__: []\n } instanceof Array && function (d, b) {\n d.__proto__ = b;\n } || function (d, b) {\n for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p];\n };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null) throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() {\n this.constructor = d;\n }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n}();\nvar __read = this && this.__read || function (o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o),\n r,\n ar = [],\n e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n } catch (error) {\n e = {\n error: error\n };\n } finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n } finally {\n if (e) throw e.error;\n }\n }\n return ar;\n};\nvar __spreadArray = this && this.__spreadArray || function (to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n};\nvar __importDefault = this && this.__importDefault || function (mod) {\n return mod && mod.__esModule ? mod : {\n \"default\": mod\n };\n};\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.EquationItem = exports.EqnArrayItem = exports.ArrayItem = exports.DotsItem = exports.NonscriptItem = exports.NotItem = exports.FnItem = exports.MmlItem = exports.CellItem = exports.PositionItem = exports.StyleItem = exports.EndItem = exports.BeginItem = exports.RightItem = exports.Middle = exports.LeftItem = exports.OverItem = exports.SubsupItem = exports.PrimeItem = exports.CloseItem = exports.OpenItem = exports.StopItem = exports.StartItem = void 0;\nvar MapHandler_js_1 = require(\"../MapHandler.js\");\nvar Entities_js_1 = require(\"../../../util/Entities.js\");\nvar MmlNode_js_1 = require(\"../../../core/MmlTree/MmlNode.js\");\nvar TexError_js_1 = __importDefault(require(\"../TexError.js\"));\nvar ParseUtil_js_1 = __importDefault(require(\"../ParseUtil.js\"));\nvar NodeUtil_js_1 = __importDefault(require(\"../NodeUtil.js\"));\nvar StackItem_js_1 = require(\"../StackItem.js\");\nvar StartItem = function (_super) {\n __extends(StartItem, _super);\n function StartItem(factory, global) {\n var _this = _super.call(this, factory) || this;\n _this.global = global;\n return _this;\n }\n Object.defineProperty(StartItem.prototype, \"kind\", {\n get: function () {\n return 'start';\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(StartItem.prototype, \"isOpen\", {\n get: function () {\n return true;\n },\n enumerable: false,\n configurable: true\n });\n StartItem.prototype.checkItem = function (item) {\n if (item.isKind('stop')) {\n var node = this.toMml();\n if (!this.global.isInner) {\n node = this.factory.configuration.tags.finalize(node, this.env);\n }\n return [[this.factory.create('mml', node)], true];\n }\n return _super.prototype.checkItem.call(this, item);\n };\n return StartItem;\n}(StackItem_js_1.BaseItem);\nexports.StartItem = StartItem;\nvar StopItem = function (_super) {\n __extends(StopItem, _super);\n function StopItem() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Object.defineProperty(StopItem.prototype, \"kind\", {\n get: function () {\n return 'stop';\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(StopItem.prototype, \"isClose\", {\n get: function () {\n return true;\n },\n enumerable: false,\n configurable: true\n });\n return StopItem;\n}(StackItem_js_1.BaseItem);\nexports.StopItem = StopItem;\nvar OpenItem = function (_super) {\n __extends(OpenItem, _super);\n function OpenItem() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Object.defineProperty(OpenItem.prototype, \"kind\", {\n get: function () {\n return 'open';\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(OpenItem.prototype, \"isOpen\", {\n get: function () {\n return true;\n },\n enumerable: false,\n configurable: true\n });\n OpenItem.prototype.checkItem = function (item) {\n if (item.isKind('close')) {\n var mml = this.toMml();\n var node = this.create('node', 'TeXAtom', [mml]);\n return [[this.factory.create('mml', node)], true];\n }\n return _super.prototype.checkItem.call(this, item);\n };\n OpenItem.errors = Object.assign(Object.create(StackItem_js_1.BaseItem.errors), {\n 'stop': ['ExtraOpenMissingClose', 'Extra open brace or missing close brace']\n });\n return OpenItem;\n}(StackItem_js_1.BaseItem);\nexports.OpenItem = OpenItem;\nvar CloseItem = function (_super) {\n __extends(CloseItem, _super);\n function CloseItem() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Object.defineProperty(CloseItem.prototype, \"kind\", {\n get: function () {\n return 'close';\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(CloseItem.prototype, \"isClose\", {\n get: function () {\n return true;\n },\n enumerable: false,\n configurable: true\n });\n return CloseItem;\n}(StackItem_js_1.BaseItem);\nexports.CloseItem = CloseItem;\nvar PrimeItem = function (_super) {\n __extends(PrimeItem, _super);\n function PrimeItem() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Object.defineProperty(PrimeItem.prototype, \"kind\", {\n get: function () {\n return 'prime';\n },\n enumerable: false,\n configurable: true\n });\n PrimeItem.prototype.checkItem = function (item) {\n var _a = __read(this.Peek(2), 2),\n top0 = _a[0],\n top1 = _a[1];\n if (!NodeUtil_js_1.default.isType(top0, 'msubsup') || NodeUtil_js_1.default.isType(top0, 'msup')) {\n var node = this.create('node', 'msup', [top0, top1]);\n return [[node, item], true];\n }\n NodeUtil_js_1.default.setChild(top0, top0.sup, top1);\n return [[top0, item], true];\n };\n return PrimeItem;\n}(StackItem_js_1.BaseItem);\nexports.PrimeItem = PrimeItem;\nvar SubsupItem = function (_super) {\n __extends(SubsupItem, _super);\n function SubsupItem() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Object.defineProperty(SubsupItem.prototype, \"kind\", {\n get: function () {\n return 'subsup';\n },\n enumerable: false,\n configurable: true\n });\n SubsupItem.prototype.checkItem = function (item) {\n if (item.isKind('open') || item.isKind('left')) {\n return StackItem_js_1.BaseItem.success;\n }\n var top = this.First;\n var position = this.getProperty('position');\n if (item.isKind('mml')) {\n if (this.getProperty('primes')) {\n if (position !== 2) {\n NodeUtil_js_1.default.setChild(top, 2, this.getProperty('primes'));\n } else {\n NodeUtil_js_1.default.setProperty(this.getProperty('primes'), 'variantForm', true);\n var node = this.create('node', 'mrow', [this.getProperty('primes'), item.First]);\n item.First = node;\n }\n }\n NodeUtil_js_1.default.setChild(top, position, item.First);\n if (this.getProperty('movesupsub') != null) {\n NodeUtil_js_1.default.setProperty(top, 'movesupsub', this.getProperty('movesupsub'));\n }\n var result = this.factory.create('mml', top);\n return [[result], true];\n }\n if (_super.prototype.checkItem.call(this, item)[1]) {\n var error = this.getErrors(['', 'sub', 'sup'][position]);\n throw new (TexError_js_1.default.bind.apply(TexError_js_1.default, __spreadArray([void 0, error[0], error[1]], __read(error.splice(2)), false)))();\n }\n return null;\n };\n SubsupItem.errors = Object.assign(Object.create(StackItem_js_1.BaseItem.errors), {\n 'stop': ['MissingScript', 'Missing superscript or subscript argument'],\n 'sup': ['MissingOpenForSup', 'Missing open brace for superscript'],\n 'sub': ['MissingOpenForSub', 'Missing open brace for subscript']\n });\n return SubsupItem;\n}(StackItem_js_1.BaseItem);\nexports.SubsupItem = SubsupItem;\nvar OverItem = function (_super) {\n __extends(OverItem, _super);\n function OverItem(factory) {\n var _this = _super.call(this, factory) || this;\n _this.setProperty('name', '\\\\over');\n return _this;\n }\n Object.defineProperty(OverItem.prototype, \"kind\", {\n get: function () {\n return 'over';\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(OverItem.prototype, \"isClose\", {\n get: function () {\n return true;\n },\n enumerable: false,\n configurable: true\n });\n OverItem.prototype.checkItem = function (item) {\n if (item.isKind('over')) {\n throw new TexError_js_1.default('AmbiguousUseOf', 'Ambiguous use of %1', item.getName());\n }\n if (item.isClose) {\n var mml = this.create('node', 'mfrac', [this.getProperty('num'), this.toMml(false)]);\n if (this.getProperty('thickness') != null) {\n NodeUtil_js_1.default.setAttribute(mml, 'linethickness', this.getProperty('thickness'));\n }\n if (this.getProperty('open') || this.getProperty('close')) {\n NodeUtil_js_1.default.setProperty(mml, 'withDelims', true);\n mml = ParseUtil_js_1.default.fixedFence(this.factory.configuration, this.getProperty('open'), mml, this.getProperty('close'));\n }\n return [[this.factory.create('mml', mml), item], true];\n }\n return _super.prototype.checkItem.call(this, item);\n };\n OverItem.prototype.toString = function () {\n return 'over[' + this.getProperty('num') + ' / ' + this.nodes.join('; ') + ']';\n };\n return OverItem;\n}(StackItem_js_1.BaseItem);\nexports.OverItem = OverItem;\nvar LeftItem = function (_super) {\n __extends(LeftItem, _super);\n function LeftItem(factory, delim) {\n var _this = _super.call(this, factory) || this;\n _this.setProperty('delim', delim);\n return _this;\n }\n Object.defineProperty(LeftItem.prototype, \"kind\", {\n get: function () {\n return 'left';\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(LeftItem.prototype, \"isOpen\", {\n get: function () {\n return true;\n },\n enumerable: false,\n configurable: true\n });\n LeftItem.prototype.checkItem = function (item) {\n if (item.isKind('right')) {\n return [[this.factory.create('mml', ParseUtil_js_1.default.fenced(this.factory.configuration, this.getProperty('delim'), this.toMml(), item.getProperty('delim'), '', item.getProperty('color')))], true];\n }\n if (item.isKind('middle')) {\n var def = {\n stretchy: true\n };\n if (item.getProperty('color')) {\n def.mathcolor = item.getProperty('color');\n }\n this.Push(this.create('node', 'TeXAtom', [], {\n texClass: MmlNode_js_1.TEXCLASS.CLOSE\n }), this.create('token', 'mo', def, item.getProperty('delim')), this.create('node', 'TeXAtom', [], {\n texClass: MmlNode_js_1.TEXCLASS.OPEN\n }));\n this.env = {};\n return [[this], true];\n }\n return _super.prototype.checkItem.call(this, item);\n };\n LeftItem.errors = Object.assign(Object.create(StackItem_js_1.BaseItem.errors), {\n 'stop': ['ExtraLeftMissingRight', 'Extra \\\\left or missing \\\\right']\n });\n return LeftItem;\n}(StackItem_js_1.BaseItem);\nexports.LeftItem = LeftItem;\nvar Middle = function (_super) {\n __extends(Middle, _super);\n function Middle(factory, delim, color) {\n var _this = _super.call(this, factory) || this;\n _this.setProperty('delim', delim);\n color && _this.setProperty('color', color);\n return _this;\n }\n Object.defineProperty(Middle.prototype, \"kind\", {\n get: function () {\n return 'middle';\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Middle.prototype, \"isClose\", {\n get: function () {\n return true;\n },\n enumerable: false,\n configurable: true\n });\n return Middle;\n}(StackItem_js_1.BaseItem);\nexports.Middle = Middle;\nvar RightItem = function (_super) {\n __extends(RightItem, _super);\n function RightItem(factory, delim, color) {\n var _this = _super.call(this, factory) || this;\n _this.setProperty('delim', delim);\n color && _this.setProperty('color', color);\n return _this;\n }\n Object.defineProperty(RightItem.prototype, \"kind\", {\n get: function () {\n return 'right';\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(RightItem.prototype, \"isClose\", {\n get: function () {\n return true;\n },\n enumerable: false,\n configurable: true\n });\n return RightItem;\n}(StackItem_js_1.BaseItem);\nexports.RightItem = RightItem;\nvar BeginItem = function (_super) {\n __extends(BeginItem, _super);\n function BeginItem() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Object.defineProperty(BeginItem.prototype, \"kind\", {\n get: function () {\n return 'begin';\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(BeginItem.prototype, \"isOpen\", {\n get: function () {\n return true;\n },\n enumerable: false,\n configurable: true\n });\n BeginItem.prototype.checkItem = function (item) {\n if (item.isKind('end')) {\n if (item.getName() !== this.getName()) {\n throw new TexError_js_1.default('EnvBadEnd', '\\\\begin{%1} ended with \\\\end{%2}', this.getName(), item.getName());\n }\n if (!this.getProperty('end')) {\n return [[this.factory.create('mml', this.toMml())], true];\n }\n return StackItem_js_1.BaseItem.fail;\n }\n if (item.isKind('stop')) {\n throw new TexError_js_1.default('EnvMissingEnd', 'Missing \\\\end{%1}', this.getName());\n }\n return _super.prototype.checkItem.call(this, item);\n };\n return BeginItem;\n}(StackItem_js_1.BaseItem);\nexports.BeginItem = BeginItem;\nvar EndItem = function (_super) {\n __extends(EndItem, _super);\n function EndItem() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Object.defineProperty(EndItem.prototype, \"kind\", {\n get: function () {\n return 'end';\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(EndItem.prototype, \"isClose\", {\n get: function () {\n return true;\n },\n enumerable: false,\n configurable: true\n });\n return EndItem;\n}(StackItem_js_1.BaseItem);\nexports.EndItem = EndItem;\nvar StyleItem = function (_super) {\n __extends(StyleItem, _super);\n function StyleItem() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Object.defineProperty(StyleItem.prototype, \"kind\", {\n get: function () {\n return 'style';\n },\n enumerable: false,\n configurable: true\n });\n StyleItem.prototype.checkItem = function (item) {\n if (!item.isClose) {\n return _super.prototype.checkItem.call(this, item);\n }\n var mml = this.create('node', 'mstyle', this.nodes, this.getProperty('styles'));\n return [[this.factory.create('mml', mml), item], true];\n };\n return StyleItem;\n}(StackItem_js_1.BaseItem);\nexports.StyleItem = StyleItem;\nvar PositionItem = function (_super) {\n __extends(PositionItem, _super);\n function PositionItem() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Object.defineProperty(PositionItem.prototype, \"kind\", {\n get: function () {\n return 'position';\n },\n enumerable: false,\n configurable: true\n });\n PositionItem.prototype.checkItem = function (item) {\n if (item.isClose) {\n throw new TexError_js_1.default('MissingBoxFor', 'Missing box for %1', this.getName());\n }\n if (item.isFinal) {\n var mml = item.toMml();\n switch (this.getProperty('move')) {\n case 'vertical':\n mml = this.create('node', 'mpadded', [mml], {\n height: this.getProperty('dh'),\n depth: this.getProperty('dd'),\n voffset: this.getProperty('dh')\n });\n return [[this.factory.create('mml', mml)], true];\n case 'horizontal':\n return [[this.factory.create('mml', this.getProperty('left')), item, this.factory.create('mml', this.getProperty('right'))], true];\n }\n }\n return _super.prototype.checkItem.call(this, item);\n };\n return PositionItem;\n}(StackItem_js_1.BaseItem);\nexports.PositionItem = PositionItem;\nvar CellItem = function (_super) {\n __extends(CellItem, _super);\n function CellItem() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Object.defineProperty(CellItem.prototype, \"kind\", {\n get: function () {\n return 'cell';\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(CellItem.prototype, \"isClose\", {\n get: function () {\n return true;\n },\n enumerable: false,\n configurable: true\n });\n return CellItem;\n}(StackItem_js_1.BaseItem);\nexports.CellItem = CellItem;\nvar MmlItem = function (_super) {\n __extends(MmlItem, _super);\n function MmlItem() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Object.defineProperty(MmlItem.prototype, \"isFinal\", {\n get: function () {\n return true;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(MmlItem.prototype, \"kind\", {\n get: function () {\n return 'mml';\n },\n enumerable: false,\n configurable: true\n });\n return MmlItem;\n}(StackItem_js_1.BaseItem);\nexports.MmlItem = MmlItem;\nvar FnItem = function (_super) {\n __extends(FnItem, _super);\n function FnItem() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Object.defineProperty(FnItem.prototype, \"kind\", {\n get: function () {\n return 'fn';\n },\n enumerable: false,\n configurable: true\n });\n FnItem.prototype.checkItem = function (item) {\n var top = this.First;\n if (top) {\n if (item.isOpen) {\n return StackItem_js_1.BaseItem.success;\n }\n if (!item.isKind('fn')) {\n var mml = item.First;\n if (!item.isKind('mml') || !mml) {\n return [[top, item], true];\n }\n if (NodeUtil_js_1.default.isType(mml, 'mstyle') && mml.childNodes.length && NodeUtil_js_1.default.isType(mml.childNodes[0].childNodes[0], 'mspace') || NodeUtil_js_1.default.isType(mml, 'mspace')) {\n return [[top, item], true];\n }\n if (NodeUtil_js_1.default.isEmbellished(mml)) {\n mml = NodeUtil_js_1.default.getCoreMO(mml);\n }\n var form = NodeUtil_js_1.default.getForm(mml);\n if (form != null && [0, 0, 1, 1, 0, 1, 1, 0, 0, 0][form[2]]) {\n return [[top, item], true];\n }\n }\n var node = this.create('token', 'mo', {\n texClass: MmlNode_js_1.TEXCLASS.NONE\n }, Entities_js_1.entities.ApplyFunction);\n return [[top, node, item], true];\n }\n return _super.prototype.checkItem.apply(this, arguments);\n };\n return FnItem;\n}(StackItem_js_1.BaseItem);\nexports.FnItem = FnItem;\nvar NotItem = function (_super) {\n __extends(NotItem, _super);\n function NotItem() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.remap = MapHandler_js_1.MapHandler.getMap('not_remap');\n return _this;\n }\n Object.defineProperty(NotItem.prototype, \"kind\", {\n get: function () {\n return 'not';\n },\n enumerable: false,\n configurable: true\n });\n NotItem.prototype.checkItem = function (item) {\n var mml;\n var c;\n var textNode;\n if (item.isKind('open') || item.isKind('left')) {\n return StackItem_js_1.BaseItem.success;\n }\n if (item.isKind('mml') && (NodeUtil_js_1.default.isType(item.First, 'mo') || NodeUtil_js_1.default.isType(item.First, 'mi') || NodeUtil_js_1.default.isType(item.First, 'mtext'))) {\n mml = item.First;\n c = NodeUtil_js_1.default.getText(mml);\n if (c.length === 1 && !NodeUtil_js_1.default.getProperty(mml, 'movesupsub') && NodeUtil_js_1.default.getChildren(mml).length === 1) {\n if (this.remap.contains(c)) {\n textNode = this.create('text', this.remap.lookup(c).char);\n NodeUtil_js_1.default.setChild(mml, 0, textNode);\n } else {\n textNode = this.create('text', '\\u0338');\n NodeUtil_js_1.default.appendChildren(mml, [textNode]);\n }\n return [[item], true];\n }\n }\n textNode = this.create('text', '\\u29F8');\n var mtextNode = this.create('node', 'mtext', [], {}, textNode);\n var paddedNode = this.create('node', 'mpadded', [mtextNode], {\n width: 0\n });\n mml = this.create('node', 'TeXAtom', [paddedNode], {\n texClass: MmlNode_js_1.TEXCLASS.REL\n });\n return [[mml, item], true];\n };\n return NotItem;\n}(StackItem_js_1.BaseItem);\nexports.NotItem = NotItem;\nvar NonscriptItem = function (_super) {\n __extends(NonscriptItem, _super);\n function NonscriptItem() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Object.defineProperty(NonscriptItem.prototype, \"kind\", {\n get: function () {\n return 'nonscript';\n },\n enumerable: false,\n configurable: true\n });\n NonscriptItem.prototype.checkItem = function (item) {\n if (item.isKind('mml') && item.Size() === 1) {\n var mml = item.First;\n if (mml.isKind('mstyle') && mml.notParent) {\n mml = NodeUtil_js_1.default.getChildren(NodeUtil_js_1.default.getChildren(mml)[0])[0];\n }\n if (mml.isKind('mspace')) {\n if (mml !== item.First) {\n var mrow = this.create('node', 'mrow', [item.Pop()]);\n item.Push(mrow);\n }\n this.factory.configuration.addNode('nonscript', item.First);\n }\n }\n return [[item], true];\n };\n return NonscriptItem;\n}(StackItem_js_1.BaseItem);\nexports.NonscriptItem = NonscriptItem;\nvar DotsItem = function (_super) {\n __extends(DotsItem, _super);\n function DotsItem() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Object.defineProperty(DotsItem.prototype, \"kind\", {\n get: function () {\n return 'dots';\n },\n enumerable: false,\n configurable: true\n });\n DotsItem.prototype.checkItem = function (item) {\n if (item.isKind('open') || item.isKind('left')) {\n return StackItem_js_1.BaseItem.success;\n }\n var dots = this.getProperty('ldots');\n var top = item.First;\n if (item.isKind('mml') && NodeUtil_js_1.default.isEmbellished(top)) {\n var tclass = NodeUtil_js_1.default.getTexClass(NodeUtil_js_1.default.getCoreMO(top));\n if (tclass === MmlNode_js_1.TEXCLASS.BIN || tclass === MmlNode_js_1.TEXCLASS.REL) {\n dots = this.getProperty('cdots');\n }\n }\n return [[dots, item], true];\n };\n return DotsItem;\n}(StackItem_js_1.BaseItem);\nexports.DotsItem = DotsItem;\nvar ArrayItem = function (_super) {\n __extends(ArrayItem, _super);\n function ArrayItem() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.table = [];\n _this.row = [];\n _this.frame = [];\n _this.hfill = [];\n _this.arraydef = {};\n _this.dashed = false;\n return _this;\n }\n Object.defineProperty(ArrayItem.prototype, \"kind\", {\n get: function () {\n return 'array';\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ArrayItem.prototype, \"isOpen\", {\n get: function () {\n return true;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ArrayItem.prototype, \"copyEnv\", {\n get: function () {\n return false;\n },\n enumerable: false,\n configurable: true\n });\n ArrayItem.prototype.checkItem = function (item) {\n if (item.isClose && !item.isKind('over')) {\n if (item.getProperty('isEntry')) {\n this.EndEntry();\n this.clearEnv();\n return StackItem_js_1.BaseItem.fail;\n }\n if (item.getProperty('isCR')) {\n this.EndEntry();\n this.EndRow();\n this.clearEnv();\n return StackItem_js_1.BaseItem.fail;\n }\n this.EndTable();\n this.clearEnv();\n var newItem = this.factory.create('mml', this.createMml());\n if (this.getProperty('requireClose')) {\n if (item.isKind('close')) {\n return [[newItem], true];\n }\n throw new TexError_js_1.default('MissingCloseBrace', 'Missing close brace');\n }\n return [[newItem, item], true];\n }\n return _super.prototype.checkItem.call(this, item);\n };\n ArrayItem.prototype.createMml = function () {\n var scriptlevel = this.arraydef['scriptlevel'];\n delete this.arraydef['scriptlevel'];\n var mml = this.create('node', 'mtable', this.table, this.arraydef);\n if (scriptlevel) {\n mml.setProperty('scriptlevel', scriptlevel);\n }\n if (this.frame.length === 4) {\n NodeUtil_js_1.default.setAttribute(mml, 'frame', this.dashed ? 'dashed' : 'solid');\n } else if (this.frame.length) {\n if (this.arraydef['rowlines']) {\n this.arraydef['rowlines'] = this.arraydef['rowlines'].replace(/none( none)+$/, 'none');\n }\n NodeUtil_js_1.default.setAttribute(mml, 'frame', '');\n mml = this.create('node', 'menclose', [mml], {\n notation: this.frame.join(' ')\n });\n if ((this.arraydef['columnlines'] || 'none') !== 'none' || (this.arraydef['rowlines'] || 'none') !== 'none') {\n NodeUtil_js_1.default.setAttribute(mml, 'data-padding', 0);\n }\n }\n if (this.getProperty('open') || this.getProperty('close')) {\n mml = ParseUtil_js_1.default.fenced(this.factory.configuration, this.getProperty('open'), mml, this.getProperty('close'));\n }\n return mml;\n };\n ArrayItem.prototype.EndEntry = function () {\n var mtd = this.create('node', 'mtd', this.nodes);\n if (this.hfill.length) {\n if (this.hfill[0] === 0) {\n NodeUtil_js_1.default.setAttribute(mtd, 'columnalign', 'right');\n }\n if (this.hfill[this.hfill.length - 1] === this.Size()) {\n NodeUtil_js_1.default.setAttribute(mtd, 'columnalign', NodeUtil_js_1.default.getAttribute(mtd, 'columnalign') ? 'center' : 'left');\n }\n }\n this.row.push(mtd);\n this.Clear();\n this.hfill = [];\n };\n ArrayItem.prototype.EndRow = function () {\n var node;\n if (this.getProperty('isNumbered') && this.row.length === 3) {\n this.row.unshift(this.row.pop());\n node = this.create('node', 'mlabeledtr', this.row);\n } else {\n node = this.create('node', 'mtr', this.row);\n }\n this.table.push(node);\n this.row = [];\n };\n ArrayItem.prototype.EndTable = function () {\n if (this.Size() || this.row.length) {\n this.EndEntry();\n this.EndRow();\n }\n this.checkLines();\n };\n ArrayItem.prototype.checkLines = function () {\n if (this.arraydef['rowlines']) {\n var lines = this.arraydef['rowlines'].split(/ /);\n if (lines.length === this.table.length) {\n this.frame.push('bottom');\n lines.pop();\n this.arraydef['rowlines'] = lines.join(' ');\n } else if (lines.length < this.table.length - 1) {\n this.arraydef['rowlines'] += ' none';\n }\n }\n if (this.getProperty('rowspacing')) {\n var rows = this.arraydef['rowspacing'].split(/ /);\n while (rows.length < this.table.length) {\n rows.push(this.getProperty('rowspacing') + 'em');\n }\n this.arraydef['rowspacing'] = rows.join(' ');\n }\n };\n ArrayItem.prototype.addRowSpacing = function (spacing) {\n if (this.arraydef['rowspacing']) {\n var rows = this.arraydef['rowspacing'].split(/ /);\n if (!this.getProperty('rowspacing')) {\n var dimem = ParseUtil_js_1.default.dimen2em(rows[0]);\n this.setProperty('rowspacing', dimem);\n }\n var rowspacing = this.getProperty('rowspacing');\n while (rows.length < this.table.length) {\n rows.push(ParseUtil_js_1.default.Em(rowspacing));\n }\n rows[this.table.length - 1] = ParseUtil_js_1.default.Em(Math.max(0, rowspacing + ParseUtil_js_1.default.dimen2em(spacing)));\n this.arraydef['rowspacing'] = rows.join(' ');\n }\n };\n return ArrayItem;\n}(StackItem_js_1.BaseItem);\nexports.ArrayItem = ArrayItem;\nvar EqnArrayItem = function (_super) {\n __extends(EqnArrayItem, _super);\n function EqnArrayItem(factory) {\n var args = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n var _this = _super.call(this, factory) || this;\n _this.maxrow = 0;\n _this.factory.configuration.tags.start(args[0], args[2], args[1]);\n return _this;\n }\n Object.defineProperty(EqnArrayItem.prototype, \"kind\", {\n get: function () {\n return 'eqnarray';\n },\n enumerable: false,\n configurable: true\n });\n EqnArrayItem.prototype.EndEntry = function () {\n if (this.row.length) {\n ParseUtil_js_1.default.fixInitialMO(this.factory.configuration, this.nodes);\n }\n var node = this.create('node', 'mtd', this.nodes);\n this.row.push(node);\n this.Clear();\n };\n EqnArrayItem.prototype.EndRow = function () {\n if (this.row.length > this.maxrow) {\n this.maxrow = this.row.length;\n }\n var mtr = 'mtr';\n var tag = this.factory.configuration.tags.getTag();\n if (tag) {\n this.row = [tag].concat(this.row);\n mtr = 'mlabeledtr';\n }\n this.factory.configuration.tags.clearTag();\n var node = this.create('node', mtr, this.row);\n this.table.push(node);\n this.row = [];\n };\n EqnArrayItem.prototype.EndTable = function () {\n _super.prototype.EndTable.call(this);\n this.factory.configuration.tags.end();\n this.extendArray('columnalign', this.maxrow);\n this.extendArray('columnwidth', this.maxrow);\n this.extendArray('columnspacing', this.maxrow - 1);\n };\n EqnArrayItem.prototype.extendArray = function (name, max) {\n if (!this.arraydef[name]) return;\n var repeat = this.arraydef[name].split(/ /);\n var columns = __spreadArray([], __read(repeat), false);\n if (columns.length > 1) {\n while (columns.length < max) {\n columns.push.apply(columns, __spreadArray([], __read(repeat), false));\n }\n this.arraydef[name] = columns.slice(0, max).join(' ');\n }\n };\n return EqnArrayItem;\n}(ArrayItem);\nexports.EqnArrayItem = EqnArrayItem;\nvar EquationItem = function (_super) {\n __extends(EquationItem, _super);\n function EquationItem(factory) {\n var args = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n var _this = _super.call(this, factory) || this;\n _this.factory.configuration.tags.start('equation', true, args[0]);\n return _this;\n }\n Object.defineProperty(EquationItem.prototype, \"kind\", {\n get: function () {\n return 'equation';\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(EquationItem.prototype, \"isOpen\", {\n get: function () {\n return true;\n },\n enumerable: false,\n configurable: true\n });\n EquationItem.prototype.checkItem = function (item) {\n if (item.isKind('end')) {\n var mml = this.toMml();\n var tag = this.factory.configuration.tags.getTag();\n this.factory.configuration.tags.end();\n return [[tag ? this.factory.configuration.tags.enTag(mml, tag) : mml, item], true];\n }\n if (item.isKind('stop')) {\n throw new TexError_js_1.default('EnvMissingEnd', 'Missing \\\\end{%1}', this.getName());\n }\n return _super.prototype.checkItem.call(this, item);\n };\n return EquationItem;\n}(StackItem_js_1.BaseItem);\nexports.EquationItem = EquationItem;","map":{"version":3,"names":["__extends","extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","prototype","hasOwnProperty","call","TypeError","String","__","constructor","create","__read","o","n","m","Symbol","iterator","i","r","ar","e","next","done","push","value","error","__spreadArray","to","from","pack","arguments","length","l","slice","concat","__importDefault","mod","__esModule","defineProperty","exports","EquationItem","EqnArrayItem","ArrayItem","DotsItem","NonscriptItem","NotItem","FnItem","MmlItem","CellItem","PositionItem","StyleItem","EndItem","BeginItem","RightItem","Middle","LeftItem","OverItem","SubsupItem","PrimeItem","CloseItem","OpenItem","StopItem","StartItem","MapHandler_js_1","require","Entities_js_1","MmlNode_js_1","TexError_js_1","ParseUtil_js_1","NodeUtil_js_1","StackItem_js_1","_super","factory","global","_this","get","enumerable","configurable","checkItem","item","isKind","node","toMml","isInner","configuration","tags","finalize","env","BaseItem","apply","mml","errors","assign","_a","Peek","top0","top1","default","isType","setChild","sup","success","top","First","position","getProperty","setProperty","result","getErrors","bind","splice","getName","isClose","setAttribute","fixedFence","toString","nodes","join","delim","fenced","def","stretchy","mathcolor","Push","texClass","TEXCLASS","CLOSE","OPEN","color","fail","isFinal","height","depth","voffset","isOpen","childNodes","isEmbellished","getCoreMO","form","getForm","NONE","entities","ApplyFunction","remap","MapHandler","getMap","c","textNode","getText","getChildren","contains","lookup","char","appendChildren","mtextNode","paddedNode","width","REL","Size","notParent","mrow","Pop","addNode","dots","tclass","getTexClass","BIN","table","row","frame","hfill","arraydef","dashed","EndEntry","clearEnv","EndRow","EndTable","newItem","createMml","scriptlevel","replace","notation","mtd","getAttribute","Clear","unshift","pop","checkLines","lines","split","rows","addRowSpacing","spacing","dimem","dimen2em","rowspacing","Em","Math","max","args","_i","maxrow","start","fixInitialMO","mtr","tag","getTag","clearTag","end","extendArray","name","repeat","columns","enTag"],"sources":["F:/workspace/202226701027/huinongbao-app/node_modules/mathjax-full/js/input/tex/base/BaseItems.js"],"sourcesContent":["\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __read = (this && this.__read) || function (o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n};\nvar __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EquationItem = exports.EqnArrayItem = exports.ArrayItem = exports.DotsItem = exports.NonscriptItem = exports.NotItem = exports.FnItem = exports.MmlItem = exports.CellItem = exports.PositionItem = exports.StyleItem = exports.EndItem = exports.BeginItem = exports.RightItem = exports.Middle = exports.LeftItem = exports.OverItem = exports.SubsupItem = exports.PrimeItem = exports.CloseItem = exports.OpenItem = exports.StopItem = exports.StartItem = void 0;\nvar MapHandler_js_1 = require(\"../MapHandler.js\");\nvar Entities_js_1 = require(\"../../../util/Entities.js\");\nvar MmlNode_js_1 = require(\"../../../core/MmlTree/MmlNode.js\");\nvar TexError_js_1 = __importDefault(require(\"../TexError.js\"));\nvar ParseUtil_js_1 = __importDefault(require(\"../ParseUtil.js\"));\nvar NodeUtil_js_1 = __importDefault(require(\"../NodeUtil.js\"));\nvar StackItem_js_1 = require(\"../StackItem.js\");\nvar StartItem = (function (_super) {\n __extends(StartItem, _super);\n function StartItem(factory, global) {\n var _this = _super.call(this, factory) || this;\n _this.global = global;\n return _this;\n }\n Object.defineProperty(StartItem.prototype, \"kind\", {\n get: function () {\n return 'start';\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(StartItem.prototype, \"isOpen\", {\n get: function () {\n return true;\n },\n enumerable: false,\n configurable: true\n });\n StartItem.prototype.checkItem = function (item) {\n if (item.isKind('stop')) {\n var node = this.toMml();\n if (!this.global.isInner) {\n node = this.factory.configuration.tags.finalize(node, this.env);\n }\n return [[this.factory.create('mml', node)], true];\n }\n return _super.prototype.checkItem.call(this, item);\n };\n return StartItem;\n}(StackItem_js_1.BaseItem));\nexports.StartItem = StartItem;\nvar StopItem = (function (_super) {\n __extends(StopItem, _super);\n function StopItem() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Object.defineProperty(StopItem.prototype, \"kind\", {\n get: function () {\n return 'stop';\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(StopItem.prototype, \"isClose\", {\n get: function () {\n return true;\n },\n enumerable: false,\n configurable: true\n });\n return StopItem;\n}(StackItem_js_1.BaseItem));\nexports.StopItem = StopItem;\nvar OpenItem = (function (_super) {\n __extends(OpenItem, _super);\n function OpenItem() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Object.defineProperty(OpenItem.prototype, \"kind\", {\n get: function () {\n return 'open';\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(OpenItem.prototype, \"isOpen\", {\n get: function () {\n return true;\n },\n enumerable: false,\n configurable: true\n });\n OpenItem.prototype.checkItem = function (item) {\n if (item.isKind('close')) {\n var mml = this.toMml();\n var node = this.create('node', 'TeXAtom', [mml]);\n return [[this.factory.create('mml', node)], true];\n }\n return _super.prototype.checkItem.call(this, item);\n };\n OpenItem.errors = Object.assign(Object.create(StackItem_js_1.BaseItem.errors), {\n 'stop': ['ExtraOpenMissingClose',\n 'Extra open brace or missing close brace']\n });\n return OpenItem;\n}(StackItem_js_1.BaseItem));\nexports.OpenItem = OpenItem;\nvar CloseItem = (function (_super) {\n __extends(CloseItem, _super);\n function CloseItem() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Object.defineProperty(CloseItem.prototype, \"kind\", {\n get: function () {\n return 'close';\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(CloseItem.prototype, \"isClose\", {\n get: function () {\n return true;\n },\n enumerable: false,\n configurable: true\n });\n return CloseItem;\n}(StackItem_js_1.BaseItem));\nexports.CloseItem = CloseItem;\nvar PrimeItem = (function (_super) {\n __extends(PrimeItem, _super);\n function PrimeItem() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Object.defineProperty(PrimeItem.prototype, \"kind\", {\n get: function () {\n return 'prime';\n },\n enumerable: false,\n configurable: true\n });\n PrimeItem.prototype.checkItem = function (item) {\n var _a = __read(this.Peek(2), 2), top0 = _a[0], top1 = _a[1];\n if (!NodeUtil_js_1.default.isType(top0, 'msubsup') || NodeUtil_js_1.default.isType(top0, 'msup')) {\n var node = this.create('node', 'msup', [top0, top1]);\n return [[node, item], true];\n }\n NodeUtil_js_1.default.setChild(top0, top0.sup, top1);\n return [[top0, item], true];\n };\n return PrimeItem;\n}(StackItem_js_1.BaseItem));\nexports.PrimeItem = PrimeItem;\nvar SubsupItem = (function (_super) {\n __extends(SubsupItem, _super);\n function SubsupItem() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Object.defineProperty(SubsupItem.prototype, \"kind\", {\n get: function () {\n return 'subsup';\n },\n enumerable: false,\n configurable: true\n });\n SubsupItem.prototype.checkItem = function (item) {\n if (item.isKind('open') || item.isKind('left')) {\n return StackItem_js_1.BaseItem.success;\n }\n var top = this.First;\n var position = this.getProperty('position');\n if (item.isKind('mml')) {\n if (this.getProperty('primes')) {\n if (position !== 2) {\n NodeUtil_js_1.default.setChild(top, 2, this.getProperty('primes'));\n }\n else {\n NodeUtil_js_1.default.setProperty(this.getProperty('primes'), 'variantForm', true);\n var node = this.create('node', 'mrow', [this.getProperty('primes'), item.First]);\n item.First = node;\n }\n }\n NodeUtil_js_1.default.setChild(top, position, item.First);\n if (this.getProperty('movesupsub') != null) {\n NodeUtil_js_1.default.setProperty(top, 'movesupsub', this.getProperty('movesupsub'));\n }\n var result = this.factory.create('mml', top);\n return [[result], true];\n }\n if (_super.prototype.checkItem.call(this, item)[1]) {\n var error = this.getErrors(['', 'sub', 'sup'][position]);\n throw new (TexError_js_1.default.bind.apply(TexError_js_1.default, __spreadArray([void 0, error[0], error[1]], __read(error.splice(2)), false)))();\n }\n return null;\n };\n SubsupItem.errors = Object.assign(Object.create(StackItem_js_1.BaseItem.errors), {\n 'stop': ['MissingScript',\n 'Missing superscript or subscript argument'],\n 'sup': ['MissingOpenForSup',\n 'Missing open brace for superscript'],\n 'sub': ['MissingOpenForSub',\n 'Missing open brace for subscript']\n });\n return SubsupItem;\n}(StackItem_js_1.BaseItem));\nexports.SubsupItem = SubsupItem;\nvar OverItem = (function (_super) {\n __extends(OverItem, _super);\n function OverItem(factory) {\n var _this = _super.call(this, factory) || this;\n _this.setProperty('name', '\\\\over');\n return _this;\n }\n Object.defineProperty(OverItem.prototype, \"kind\", {\n get: function () {\n return 'over';\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(OverItem.prototype, \"isClose\", {\n get: function () {\n return true;\n },\n enumerable: false,\n configurable: true\n });\n OverItem.prototype.checkItem = function (item) {\n if (item.isKind('over')) {\n throw new TexError_js_1.default('AmbiguousUseOf', 'Ambiguous use of %1', item.getName());\n }\n if (item.isClose) {\n var mml = this.create('node', 'mfrac', [this.getProperty('num'), this.toMml(false)]);\n if (this.getProperty('thickness') != null) {\n NodeUtil_js_1.default.setAttribute(mml, 'linethickness', this.getProperty('thickness'));\n }\n if (this.getProperty('open') || this.getProperty('close')) {\n NodeUtil_js_1.default.setProperty(mml, 'withDelims', true);\n mml = ParseUtil_js_1.default.fixedFence(this.factory.configuration, this.getProperty('open'), mml, this.getProperty('close'));\n }\n return [[this.factory.create('mml', mml), item], true];\n }\n return _super.prototype.checkItem.call(this, item);\n };\n OverItem.prototype.toString = function () {\n return 'over[' + this.getProperty('num') +\n ' / ' + this.nodes.join('; ') + ']';\n };\n return OverItem;\n}(StackItem_js_1.BaseItem));\nexports.OverItem = OverItem;\nvar LeftItem = (function (_super) {\n __extends(LeftItem, _super);\n function LeftItem(factory, delim) {\n var _this = _super.call(this, factory) || this;\n _this.setProperty('delim', delim);\n return _this;\n }\n Object.defineProperty(LeftItem.prototype, \"kind\", {\n get: function () {\n return 'left';\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(LeftItem.prototype, \"isOpen\", {\n get: function () {\n return true;\n },\n enumerable: false,\n configurable: true\n });\n LeftItem.prototype.checkItem = function (item) {\n if (item.isKind('right')) {\n return [[this.factory.create('mml', ParseUtil_js_1.default.fenced(this.factory.configuration, this.getProperty('delim'), this.toMml(), item.getProperty('delim'), '', item.getProperty('color')))], true];\n }\n if (item.isKind('middle')) {\n var def = { stretchy: true };\n if (item.getProperty('color')) {\n def.mathcolor = item.getProperty('color');\n }\n this.Push(this.create('node', 'TeXAtom', [], { texClass: MmlNode_js_1.TEXCLASS.CLOSE }), this.create('token', 'mo', def, item.getProperty('delim')), this.create('node', 'TeXAtom', [], { texClass: MmlNode_js_1.TEXCLASS.OPEN }));\n this.env = {};\n return [[this], true];\n }\n return _super.prototype.checkItem.call(this, item);\n };\n LeftItem.errors = Object.assign(Object.create(StackItem_js_1.BaseItem.errors), {\n 'stop': ['ExtraLeftMissingRight',\n 'Extra \\\\left or missing \\\\right']\n });\n return LeftItem;\n}(StackItem_js_1.BaseItem));\nexports.LeftItem = LeftItem;\nvar Middle = (function (_super) {\n __extends(Middle, _super);\n function Middle(factory, delim, color) {\n var _this = _super.call(this, factory) || this;\n _this.setProperty('delim', delim);\n color && _this.setProperty('color', color);\n return _this;\n }\n Object.defineProperty(Middle.prototype, \"kind\", {\n get: function () {\n return 'middle';\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Middle.prototype, \"isClose\", {\n get: function () {\n return true;\n },\n enumerable: false,\n configurable: true\n });\n return Middle;\n}(StackItem_js_1.BaseItem));\nexports.Middle = Middle;\nvar RightItem = (function (_super) {\n __extends(RightItem, _super);\n function RightItem(factory, delim, color) {\n var _this = _super.call(this, factory) || this;\n _this.setProperty('delim', delim);\n color && _this.setProperty('color', color);\n return _this;\n }\n Object.defineProperty(RightItem.prototype, \"kind\", {\n get: function () {\n return 'right';\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(RightItem.prototype, \"isClose\", {\n get: function () {\n return true;\n },\n enumerable: false,\n configurable: true\n });\n return RightItem;\n}(StackItem_js_1.BaseItem));\nexports.RightItem = RightItem;\nvar BeginItem = (function (_super) {\n __extends(BeginItem, _super);\n function BeginItem() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Object.defineProperty(BeginItem.prototype, \"kind\", {\n get: function () {\n return 'begin';\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(BeginItem.prototype, \"isOpen\", {\n get: function () {\n return true;\n },\n enumerable: false,\n configurable: true\n });\n BeginItem.prototype.checkItem = function (item) {\n if (item.isKind('end')) {\n if (item.getName() !== this.getName()) {\n throw new TexError_js_1.default('EnvBadEnd', '\\\\begin{%1} ended with \\\\end{%2}', this.getName(), item.getName());\n }\n if (!this.getProperty('end')) {\n return [[this.factory.create('mml', this.toMml())], true];\n }\n return StackItem_js_1.BaseItem.fail;\n }\n if (item.isKind('stop')) {\n throw new TexError_js_1.default('EnvMissingEnd', 'Missing \\\\end{%1}', this.getName());\n }\n return _super.prototype.checkItem.call(this, item);\n };\n return BeginItem;\n}(StackItem_js_1.BaseItem));\nexports.BeginItem = BeginItem;\nvar EndItem = (function (_super) {\n __extends(EndItem, _super);\n function EndItem() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Object.defineProperty(EndItem.prototype, \"kind\", {\n get: function () {\n return 'end';\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(EndItem.prototype, \"isClose\", {\n get: function () {\n return true;\n },\n enumerable: false,\n configurable: true\n });\n return EndItem;\n}(StackItem_js_1.BaseItem));\nexports.EndItem = EndItem;\nvar StyleItem = (function (_super) {\n __extends(StyleItem, _super);\n function StyleItem() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Object.defineProperty(StyleItem.prototype, \"kind\", {\n get: function () {\n return 'style';\n },\n enumerable: false,\n configurable: true\n });\n StyleItem.prototype.checkItem = function (item) {\n if (!item.isClose) {\n return _super.prototype.checkItem.call(this, item);\n }\n var mml = this.create('node', 'mstyle', this.nodes, this.getProperty('styles'));\n return [[this.factory.create('mml', mml), item], true];\n };\n return StyleItem;\n}(StackItem_js_1.BaseItem));\nexports.StyleItem = StyleItem;\nvar PositionItem = (function (_super) {\n __extends(PositionItem, _super);\n function PositionItem() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Object.defineProperty(PositionItem.prototype, \"kind\", {\n get: function () {\n return 'position';\n },\n enumerable: false,\n configurable: true\n });\n PositionItem.prototype.checkItem = function (item) {\n if (item.isClose) {\n throw new TexError_js_1.default('MissingBoxFor', 'Missing box for %1', this.getName());\n }\n if (item.isFinal) {\n var mml = item.toMml();\n switch (this.getProperty('move')) {\n case 'vertical':\n mml = this.create('node', 'mpadded', [mml], { height: this.getProperty('dh'),\n depth: this.getProperty('dd'),\n voffset: this.getProperty('dh') });\n return [[this.factory.create('mml', mml)], true];\n case 'horizontal':\n return [[this.factory.create('mml', this.getProperty('left')), item,\n this.factory.create('mml', this.getProperty('right'))], true];\n }\n }\n return _super.prototype.checkItem.call(this, item);\n };\n return PositionItem;\n}(StackItem_js_1.BaseItem));\nexports.PositionItem = PositionItem;\nvar CellItem = (function (_super) {\n __extends(CellItem, _super);\n function CellItem() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Object.defineProperty(CellItem.prototype, \"kind\", {\n get: function () {\n return 'cell';\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(CellItem.prototype, \"isClose\", {\n get: function () {\n return true;\n },\n enumerable: false,\n configurable: true\n });\n return CellItem;\n}(StackItem_js_1.BaseItem));\nexports.CellItem = CellItem;\nvar MmlItem = (function (_super) {\n __extends(MmlItem, _super);\n function MmlItem() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Object.defineProperty(MmlItem.prototype, \"isFinal\", {\n get: function () {\n return true;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(MmlItem.prototype, \"kind\", {\n get: function () {\n return 'mml';\n },\n enumerable: false,\n configurable: true\n });\n return MmlItem;\n}(StackItem_js_1.BaseItem));\nexports.MmlItem = MmlItem;\nvar FnItem = (function (_super) {\n __extends(FnItem, _super);\n function FnItem() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Object.defineProperty(FnItem.prototype, \"kind\", {\n get: function () {\n return 'fn';\n },\n enumerable: false,\n configurable: true\n });\n FnItem.prototype.checkItem = function (item) {\n var top = this.First;\n if (top) {\n if (item.isOpen) {\n return StackItem_js_1.BaseItem.success;\n }\n if (!item.isKind('fn')) {\n var mml = item.First;\n if (!item.isKind('mml') || !mml) {\n return [[top, item], true];\n }\n if ((NodeUtil_js_1.default.isType(mml, 'mstyle') && mml.childNodes.length &&\n NodeUtil_js_1.default.isType(mml.childNodes[0].childNodes[0], 'mspace')) ||\n NodeUtil_js_1.default.isType(mml, 'mspace')) {\n return [[top, item], true];\n }\n if (NodeUtil_js_1.default.isEmbellished(mml)) {\n mml = NodeUtil_js_1.default.getCoreMO(mml);\n }\n var form = NodeUtil_js_1.default.getForm(mml);\n if (form != null && [0, 0, 1, 1, 0, 1, 1, 0, 0, 0][form[2]]) {\n return [[top, item], true];\n }\n }\n var node = this.create('token', 'mo', { texClass: MmlNode_js_1.TEXCLASS.NONE }, Entities_js_1.entities.ApplyFunction);\n return [[top, node, item], true];\n }\n return _super.prototype.checkItem.apply(this, arguments);\n };\n return FnItem;\n}(StackItem_js_1.BaseItem));\nexports.FnItem = FnItem;\nvar NotItem = (function (_super) {\n __extends(NotItem, _super);\n function NotItem() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.remap = MapHandler_js_1.MapHandler.getMap('not_remap');\n return _this;\n }\n Object.defineProperty(NotItem.prototype, \"kind\", {\n get: function () {\n return 'not';\n },\n enumerable: false,\n configurable: true\n });\n NotItem.prototype.checkItem = function (item) {\n var mml;\n var c;\n var textNode;\n if (item.isKind('open') || item.isKind('left')) {\n return StackItem_js_1.BaseItem.success;\n }\n if (item.isKind('mml') &&\n (NodeUtil_js_1.default.isType(item.First, 'mo') || NodeUtil_js_1.default.isType(item.First, 'mi') ||\n NodeUtil_js_1.default.isType(item.First, 'mtext'))) {\n mml = item.First;\n c = NodeUtil_js_1.default.getText(mml);\n if (c.length === 1 && !NodeUtil_js_1.default.getProperty(mml, 'movesupsub') &&\n NodeUtil_js_1.default.getChildren(mml).length === 1) {\n if (this.remap.contains(c)) {\n textNode = this.create('text', this.remap.lookup(c).char);\n NodeUtil_js_1.default.setChild(mml, 0, textNode);\n }\n else {\n textNode = this.create('text', '\\u0338');\n NodeUtil_js_1.default.appendChildren(mml, [textNode]);\n }\n return [[item], true];\n }\n }\n textNode = this.create('text', '\\u29F8');\n var mtextNode = this.create('node', 'mtext', [], {}, textNode);\n var paddedNode = this.create('node', 'mpadded', [mtextNode], { width: 0 });\n mml = this.create('node', 'TeXAtom', [paddedNode], { texClass: MmlNode_js_1.TEXCLASS.REL });\n return [[mml, item], true];\n };\n return NotItem;\n}(StackItem_js_1.BaseItem));\nexports.NotItem = NotItem;\nvar NonscriptItem = (function (_super) {\n __extends(NonscriptItem, _super);\n function NonscriptItem() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Object.defineProperty(NonscriptItem.prototype, \"kind\", {\n get: function () {\n return 'nonscript';\n },\n enumerable: false,\n configurable: true\n });\n NonscriptItem.prototype.checkItem = function (item) {\n if (item.isKind('mml') && item.Size() === 1) {\n var mml = item.First;\n if (mml.isKind('mstyle') && mml.notParent) {\n mml = NodeUtil_js_1.default.getChildren(NodeUtil_js_1.default.getChildren(mml)[0])[0];\n }\n if (mml.isKind('mspace')) {\n if (mml !== item.First) {\n var mrow = this.create('node', 'mrow', [item.Pop()]);\n item.Push(mrow);\n }\n this.factory.configuration.addNode('nonscript', item.First);\n }\n }\n return [[item], true];\n };\n return NonscriptItem;\n}(StackItem_js_1.BaseItem));\nexports.NonscriptItem = NonscriptItem;\nvar DotsItem = (function (_super) {\n __extends(DotsItem, _super);\n function DotsItem() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Object.defineProperty(DotsItem.prototype, \"kind\", {\n get: function () {\n return 'dots';\n },\n enumerable: false,\n configurable: true\n });\n DotsItem.prototype.checkItem = function (item) {\n if (item.isKind('open') || item.isKind('left')) {\n return StackItem_js_1.BaseItem.success;\n }\n var dots = this.getProperty('ldots');\n var top = item.First;\n if (item.isKind('mml') && NodeUtil_js_1.default.isEmbellished(top)) {\n var tclass = NodeUtil_js_1.default.getTexClass(NodeUtil_js_1.default.getCoreMO(top));\n if (tclass === MmlNode_js_1.TEXCLASS.BIN || tclass === MmlNode_js_1.TEXCLASS.REL) {\n dots = this.getProperty('cdots');\n }\n }\n return [[dots, item], true];\n };\n return DotsItem;\n}(StackItem_js_1.BaseItem));\nexports.DotsItem = DotsItem;\nvar ArrayItem = (function (_super) {\n __extends(ArrayItem, _super);\n function ArrayItem() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.table = [];\n _this.row = [];\n _this.frame = [];\n _this.hfill = [];\n _this.arraydef = {};\n _this.dashed = false;\n return _this;\n }\n Object.defineProperty(ArrayItem.prototype, \"kind\", {\n get: function () {\n return 'array';\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ArrayItem.prototype, \"isOpen\", {\n get: function () {\n return true;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ArrayItem.prototype, \"copyEnv\", {\n get: function () {\n return false;\n },\n enumerable: false,\n configurable: true\n });\n ArrayItem.prototype.checkItem = function (item) {\n if (item.isClose && !item.isKind('over')) {\n if (item.getProperty('isEntry')) {\n this.EndEntry();\n this.clearEnv();\n return StackItem_js_1.BaseItem.fail;\n }\n if (item.getProperty('isCR')) {\n this.EndEntry();\n this.EndRow();\n this.clearEnv();\n return StackItem_js_1.BaseItem.fail;\n }\n this.EndTable();\n this.clearEnv();\n var newItem = this.factory.create('mml', this.createMml());\n if (this.getProperty('requireClose')) {\n if (item.isKind('close')) {\n return [[newItem], true];\n }\n throw new TexError_js_1.default('MissingCloseBrace', 'Missing close brace');\n }\n return [[newItem, item], true];\n }\n return _super.prototype.checkItem.call(this, item);\n };\n ArrayItem.prototype.createMml = function () {\n var scriptlevel = this.arraydef['scriptlevel'];\n delete this.arraydef['scriptlevel'];\n var mml = this.create('node', 'mtable', this.table, this.arraydef);\n if (scriptlevel) {\n mml.setProperty('scriptlevel', scriptlevel);\n }\n if (this.frame.length === 4) {\n NodeUtil_js_1.default.setAttribute(mml, 'frame', this.dashed ? 'dashed' : 'solid');\n }\n else if (this.frame.length) {\n if (this.arraydef['rowlines']) {\n this.arraydef['rowlines'] =\n this.arraydef['rowlines'].replace(/none( none)+$/, 'none');\n }\n NodeUtil_js_1.default.setAttribute(mml, 'frame', '');\n mml = this.create('node', 'menclose', [mml], { notation: this.frame.join(' ') });\n if ((this.arraydef['columnlines'] || 'none') !== 'none' ||\n (this.arraydef['rowlines'] || 'none') !== 'none') {\n NodeUtil_js_1.default.setAttribute(mml, 'data-padding', 0);\n }\n }\n if (this.getProperty('open') || this.getProperty('close')) {\n mml = ParseUtil_js_1.default.fenced(this.factory.configuration, this.getProperty('open'), mml, this.getProperty('close'));\n }\n return mml;\n };\n ArrayItem.prototype.EndEntry = function () {\n var mtd = this.create('node', 'mtd', this.nodes);\n if (this.hfill.length) {\n if (this.hfill[0] === 0) {\n NodeUtil_js_1.default.setAttribute(mtd, 'columnalign', 'right');\n }\n if (this.hfill[this.hfill.length - 1] === this.Size()) {\n NodeUtil_js_1.default.setAttribute(mtd, 'columnalign', NodeUtil_js_1.default.getAttribute(mtd, 'columnalign') ? 'center' : 'left');\n }\n }\n this.row.push(mtd);\n this.Clear();\n this.hfill = [];\n };\n ArrayItem.prototype.EndRow = function () {\n var node;\n if (this.getProperty('isNumbered') && this.row.length === 3) {\n this.row.unshift(this.row.pop());\n node = this.create('node', 'mlabeledtr', this.row);\n }\n else {\n node = this.create('node', 'mtr', this.row);\n }\n this.table.push(node);\n this.row = [];\n };\n ArrayItem.prototype.EndTable = function () {\n if (this.Size() || this.row.length) {\n this.EndEntry();\n this.EndRow();\n }\n this.checkLines();\n };\n ArrayItem.prototype.checkLines = function () {\n if (this.arraydef['rowlines']) {\n var lines = this.arraydef['rowlines'].split(/ /);\n if (lines.length === this.table.length) {\n this.frame.push('bottom');\n lines.pop();\n this.arraydef['rowlines'] = lines.join(' ');\n }\n else if (lines.length < this.table.length - 1) {\n this.arraydef['rowlines'] += ' none';\n }\n }\n if (this.getProperty('rowspacing')) {\n var rows = this.arraydef['rowspacing'].split(/ /);\n while (rows.length < this.table.length) {\n rows.push(this.getProperty('rowspacing') + 'em');\n }\n this.arraydef['rowspacing'] = rows.join(' ');\n }\n };\n ArrayItem.prototype.addRowSpacing = function (spacing) {\n if (this.arraydef['rowspacing']) {\n var rows = this.arraydef['rowspacing'].split(/ /);\n if (!this.getProperty('rowspacing')) {\n var dimem = ParseUtil_js_1.default.dimen2em(rows[0]);\n this.setProperty('rowspacing', dimem);\n }\n var rowspacing = this.getProperty('rowspacing');\n while (rows.length < this.table.length) {\n rows.push(ParseUtil_js_1.default.Em(rowspacing));\n }\n rows[this.table.length - 1] = ParseUtil_js_1.default.Em(Math.max(0, rowspacing + ParseUtil_js_1.default.dimen2em(spacing)));\n this.arraydef['rowspacing'] = rows.join(' ');\n }\n };\n return ArrayItem;\n}(StackItem_js_1.BaseItem));\nexports.ArrayItem = ArrayItem;\nvar EqnArrayItem = (function (_super) {\n __extends(EqnArrayItem, _super);\n function EqnArrayItem(factory) {\n var args = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n var _this = _super.call(this, factory) || this;\n _this.maxrow = 0;\n _this.factory.configuration.tags.start(args[0], args[2], args[1]);\n return _this;\n }\n Object.defineProperty(EqnArrayItem.prototype, \"kind\", {\n get: function () {\n return 'eqnarray';\n },\n enumerable: false,\n configurable: true\n });\n EqnArrayItem.prototype.EndEntry = function () {\n if (this.row.length) {\n ParseUtil_js_1.default.fixInitialMO(this.factory.configuration, this.nodes);\n }\n var node = this.create('node', 'mtd', this.nodes);\n this.row.push(node);\n this.Clear();\n };\n EqnArrayItem.prototype.EndRow = function () {\n if (this.row.length > this.maxrow) {\n this.maxrow = this.row.length;\n }\n var mtr = 'mtr';\n var tag = this.factory.configuration.tags.getTag();\n if (tag) {\n this.row = [tag].concat(this.row);\n mtr = 'mlabeledtr';\n }\n this.factory.configuration.tags.clearTag();\n var node = this.create('node', mtr, this.row);\n this.table.push(node);\n this.row = [];\n };\n EqnArrayItem.prototype.EndTable = function () {\n _super.prototype.EndTable.call(this);\n this.factory.configuration.tags.end();\n this.extendArray('columnalign', this.maxrow);\n this.extendArray('columnwidth', this.maxrow);\n this.extendArray('columnspacing', this.maxrow - 1);\n };\n EqnArrayItem.prototype.extendArray = function (name, max) {\n if (!this.arraydef[name])\n return;\n var repeat = this.arraydef[name].split(/ /);\n var columns = __spreadArray([], __read(repeat), false);\n if (columns.length > 1) {\n while (columns.length < max) {\n columns.push.apply(columns, __spreadArray([], __read(repeat), false));\n }\n this.arraydef[name] = columns.slice(0, max).join(' ');\n }\n };\n return EqnArrayItem;\n}(ArrayItem));\nexports.EqnArrayItem = EqnArrayItem;\nvar EquationItem = (function (_super) {\n __extends(EquationItem, _super);\n function EquationItem(factory) {\n var args = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n var _this = _super.call(this, factory) || this;\n _this.factory.configuration.tags.start('equation', true, args[0]);\n return _this;\n }\n Object.defineProperty(EquationItem.prototype, \"kind\", {\n get: function () {\n return 'equation';\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(EquationItem.prototype, \"isOpen\", {\n get: function () {\n return true;\n },\n enumerable: false,\n configurable: true\n });\n EquationItem.prototype.checkItem = function (item) {\n if (item.isKind('end')) {\n var mml = this.toMml();\n var tag = this.factory.configuration.tags.getTag();\n this.factory.configuration.tags.end();\n return [[tag ? this.factory.configuration.tags.enTag(mml, tag) : mml, item], true];\n }\n if (item.isKind('stop')) {\n throw new TexError_js_1.default('EnvMissingEnd', 'Missing \\\\end{%1}', this.getName());\n }\n return _super.prototype.checkItem.call(this, item);\n };\n return EquationItem;\n}(StackItem_js_1.BaseItem));\nexports.EquationItem = EquationItem;\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"script","externalDependencies":[]}
|