BussproofsItems.js 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. "use strict";
  2. var __extends = (this && this.__extends) || (function () {
  3. var extendStatics = function (d, b) {
  4. extendStatics = Object.setPrototypeOf ||
  5. ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
  6. function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
  7. return extendStatics(d, b);
  8. };
  9. return function (d, b) {
  10. if (typeof b !== "function" && b !== null)
  11. throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
  12. extendStatics(d, b);
  13. function __() { this.constructor = d; }
  14. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  15. };
  16. })();
  17. var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
  18. if (k2 === undefined) k2 = k;
  19. var desc = Object.getOwnPropertyDescriptor(m, k);
  20. if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
  21. desc = { enumerable: true, get: function() { return m[k]; } };
  22. }
  23. Object.defineProperty(o, k2, desc);
  24. }) : (function(o, m, k, k2) {
  25. if (k2 === undefined) k2 = k;
  26. o[k2] = m[k];
  27. }));
  28. var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
  29. Object.defineProperty(o, "default", { enumerable: true, value: v });
  30. }) : function(o, v) {
  31. o["default"] = v;
  32. });
  33. var __importStar = (this && this.__importStar) || function (mod) {
  34. if (mod && mod.__esModule) return mod;
  35. var result = {};
  36. if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
  37. __setModuleDefault(result, mod);
  38. return result;
  39. };
  40. var __importDefault = (this && this.__importDefault) || function (mod) {
  41. return (mod && mod.__esModule) ? mod : { "default": mod };
  42. };
  43. Object.defineProperty(exports, "__esModule", { value: true });
  44. exports.ProofTreeItem = void 0;
  45. var TexError_js_1 = __importDefault(require("../TexError.js"));
  46. var StackItem_js_1 = require("../StackItem.js");
  47. var Stack_js_1 = __importDefault(require("../Stack.js"));
  48. var BussproofsUtil = __importStar(require("./BussproofsUtil.js"));
  49. var ProofTreeItem = (function (_super) {
  50. __extends(ProofTreeItem, _super);
  51. function ProofTreeItem() {
  52. var _this = _super !== null && _super.apply(this, arguments) || this;
  53. _this.leftLabel = null;
  54. _this.rigthLabel = null;
  55. _this.innerStack = new Stack_js_1.default(_this.factory, {}, true);
  56. return _this;
  57. }
  58. Object.defineProperty(ProofTreeItem.prototype, "kind", {
  59. get: function () {
  60. return 'proofTree';
  61. },
  62. enumerable: false,
  63. configurable: true
  64. });
  65. ProofTreeItem.prototype.checkItem = function (item) {
  66. if (item.isKind('end') && item.getName() === 'prooftree') {
  67. var node = this.toMml();
  68. BussproofsUtil.setProperty(node, 'proof', true);
  69. return [[this.factory.create('mml', node), item], true];
  70. }
  71. if (item.isKind('stop')) {
  72. throw new TexError_js_1.default('EnvMissingEnd', 'Missing \\end{%1}', this.getName());
  73. }
  74. this.innerStack.Push(item);
  75. return StackItem_js_1.BaseItem.fail;
  76. };
  77. ProofTreeItem.prototype.toMml = function () {
  78. var tree = _super.prototype.toMml.call(this);
  79. var start = this.innerStack.Top();
  80. if (start.isKind('start') && !start.Size()) {
  81. return tree;
  82. }
  83. this.innerStack.Push(this.factory.create('stop'));
  84. var prefix = this.innerStack.Top().toMml();
  85. return this.create('node', 'mrow', [prefix, tree], {});
  86. };
  87. return ProofTreeItem;
  88. }(StackItem_js_1.BaseItem));
  89. exports.ProofTreeItem = ProofTreeItem;
  90. //# sourceMappingURL=BussproofsItems.js.map