mathpix-markdown-it 2.0.38 → 2.0.39

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (82) hide show
  1. package/README.md +1 -0
  2. package/doc/changelog.md +101 -0
  3. package/es5/browser/auto-render.js +1 -1
  4. package/es5/bundle.js +1 -1
  5. package/es5/index.js +4 -4
  6. package/lib/index.d.ts +2 -1
  7. package/lib/index.js +3 -1
  8. package/lib/index.js.map +1 -1
  9. package/lib/markdown/common/consts.d.ts +1 -0
  10. package/lib/markdown/common/consts.js +4 -2
  11. package/lib/markdown/common/consts.js.map +1 -1
  12. package/lib/markdown/common/convert-math-to-html.d.ts +10 -0
  13. package/lib/markdown/common/convert-math-to-html.js +163 -41
  14. package/lib/markdown/common/convert-math-to-html.js.map +1 -1
  15. package/lib/markdown/common/labels.d.ts +9 -1
  16. package/lib/markdown/common/labels.js +82 -37
  17. package/lib/markdown/common/labels.js.map +1 -1
  18. package/lib/markdown/common/reset-mmd-state.d.ts +4 -0
  19. package/lib/markdown/common/reset-mmd-state.js +30 -0
  20. package/lib/markdown/common/reset-mmd-state.js.map +1 -0
  21. package/lib/markdown/common.d.ts +3 -0
  22. package/lib/markdown/common.js +34 -23
  23. package/lib/markdown/common.js.map +1 -1
  24. package/lib/markdown/highlight/highlight-math-token.js +1 -0
  25. package/lib/markdown/highlight/highlight-math-token.js.map +1 -1
  26. package/lib/markdown/index.js +20 -7
  27. package/lib/markdown/index.js.map +1 -1
  28. package/lib/markdown/mathpix-markdown-plugins.js +19 -0
  29. package/lib/markdown/mathpix-markdown-plugins.js.map +1 -1
  30. package/lib/markdown/md-block-rule/begin-tabular/common.js +2 -2
  31. package/lib/markdown/md-block-rule/begin-tabular/common.js.map +1 -1
  32. package/lib/markdown/md-block-rule/begin-tabular/index.js +73 -15
  33. package/lib/markdown/md-block-rule/begin-tabular/index.js.map +1 -1
  34. package/lib/markdown/md-block-rule/begin-tabular/multi-column-row.d.ts +1 -1
  35. package/lib/markdown/md-block-rule/begin-tabular/multi-column-row.js +10 -7
  36. package/lib/markdown/md-block-rule/begin-tabular/multi-column-row.js.map +1 -1
  37. package/lib/markdown/md-block-rule/begin-tabular/parse-tabular.js +126 -49
  38. package/lib/markdown/md-block-rule/begin-tabular/parse-tabular.js.map +1 -1
  39. package/lib/markdown/md-block-rule/begin-tabular/sub-cell.d.ts +1 -0
  40. package/lib/markdown/md-block-rule/begin-tabular/sub-cell.js +11 -23
  41. package/lib/markdown/md-block-rule/begin-tabular/sub-cell.js.map +1 -1
  42. package/lib/markdown/md-block-rule/begin-tabular/sub-code.d.ts +0 -6
  43. package/lib/markdown/md-block-rule/begin-tabular/sub-code.js +10 -21
  44. package/lib/markdown/md-block-rule/begin-tabular/sub-code.js.map +1 -1
  45. package/lib/markdown/md-block-rule/begin-tabular/sub-math.d.ts +13 -5
  46. package/lib/markdown/md-block-rule/begin-tabular/sub-math.js +132 -93
  47. package/lib/markdown/md-block-rule/begin-tabular/sub-math.js.map +1 -1
  48. package/lib/markdown/md-block-rule/begin-tabular/sub-tabular.js +25 -31
  49. package/lib/markdown/md-block-rule/begin-tabular/sub-tabular.js.map +1 -1
  50. package/lib/markdown/md-block-rule/begin-tabular/tabular-td.d.ts +10 -2
  51. package/lib/markdown/md-block-rule/begin-tabular/tabular-td.js +199 -55
  52. package/lib/markdown/md-block-rule/begin-tabular/tabular-td.js.map +1 -1
  53. package/lib/markdown/md-block-rule/mmd-html-block.js +11 -2
  54. package/lib/markdown/md-block-rule/mmd-html-block.js.map +1 -1
  55. package/lib/markdown/md-inline-rule/core-inline.js +41 -9
  56. package/lib/markdown/md-inline-rule/core-inline.js.map +1 -1
  57. package/lib/markdown/md-inline-rule/tabular.js +3 -1
  58. package/lib/markdown/md-inline-rule/tabular.js.map +1 -1
  59. package/lib/markdown/md-latex-lists-env/re-level.js +39 -22
  60. package/lib/markdown/md-latex-lists-env/re-level.js.map +1 -1
  61. package/lib/markdown/md-renderer-rules/render-tabular.js +112 -34
  62. package/lib/markdown/md-renderer-rules/render-tabular.js.map +1 -1
  63. package/lib/markdown/md-svg-to-base64/base64.js +8 -8
  64. package/lib/markdown/md-svg-to-base64/base64.js.map +1 -1
  65. package/lib/markdown/mdPluginRaw.js +24 -3
  66. package/lib/markdown/mdPluginRaw.js.map +1 -1
  67. package/lib/markdown/mdPluginTOC.js +30 -4
  68. package/lib/markdown/mdPluginTOC.js.map +1 -1
  69. package/lib/markdown/mdPluginTableTabular.js +46 -1
  70. package/lib/markdown/mdPluginTableTabular.js.map +1 -1
  71. package/lib/markdown/utils.js +3 -0
  72. package/lib/markdown/utils.js.map +1 -1
  73. package/lib/mathjax/index.js +3 -3
  74. package/lib/mathjax/index.js.map +1 -1
  75. package/lib/mathpix-markdown-model/index.d.ts +2 -0
  76. package/lib/mathpix-markdown-model/index.js.map +1 -1
  77. package/package.json +1 -1
  78. package/pr-specs/2026-04-global-state-cleanup-and-perf.md +212 -0
  79. package/pr-specs/2026-04-optimize-tabular-parsing.md +211 -0
  80. package/lib/markdown/mdPluginSeparateForBlock.d.ts +0 -2
  81. package/lib/markdown/mdPluginSeparateForBlock.js +0 -209
  82. package/lib/markdown/mdPluginSeparateForBlock.js.map +0 -1
@@ -1,9 +1,17 @@
1
- type TSubMath = {
1
+ export declare const ClearSubMathLists: () => void;
2
+ export declare const mathTablePush: (idOrItem: string | {
2
3
  id: string;
3
4
  content: string;
4
- };
5
- export declare const ClearSubMathLists: () => void;
6
- export declare const mathTablePush: (item: TSubMath) => void;
5
+ }, content?: string) => void;
6
+ /** Replace UUID placeholders with original math content.
7
+ * Uses trimmed string for regex matching (consistent with getSubMath),
8
+ * but untrimmed sub for slicing to preserve original whitespace. */
7
9
  export declare const getMathTableContent: (sub: string, i: number) => string;
10
+ /**
11
+ * Extract math expressions from a string, replacing them with placeholders.
12
+ * Iterative single-pass: scans the original string once, collects non-math
13
+ * segments and placeholders into an array, joins at the end.
14
+ *
15
+ * `startPos` is a seek offset applied via `re.lastIndex` before scanning.
16
+ */
8
17
  export declare const getSubMath: (str: string, startPos?: number) => string;
9
- export {};
@@ -6,135 +6,174 @@ var mdPluginRaw_1 = require("../../mdPluginRaw");
6
6
  var utils_1 = require("../../utils");
7
7
  var sub_code_1 = require("./sub-code");
8
8
  var consts_1 = require("../../common/consts");
9
- var mathTable = [];
9
+ var RE_MATH_OPEN = /\\\\\[|\\\[|\\\\\(|\\\(|\$\$|\$|\\begin\{([^}]*)\}|eqref\{([^}]*)\}|ref\{([^}]*)\}/;
10
+ // Shared `/g`-flag scanner reused across calls — getSubMath is not reentrant
11
+ // (no recursion, no callbacks out), so we just reset lastIndex on entry.
12
+ var RE_MATH_OPEN_G = new RegExp(RE_MATH_OPEN.source, 'g');
13
+ var mathTable = new Map();
10
14
  var ClearSubMathLists = function () {
11
- mathTable = [];
15
+ mathTable.clear();
12
16
  };
13
17
  exports.ClearSubMathLists = ClearSubMathLists;
14
- var mathTablePush = function (item) {
15
- mathTable.push(item);
18
+ var mathTablePush = function (idOrItem, content) {
19
+ if (typeof idOrItem === 'string') {
20
+ mathTable.set(idOrItem, content);
21
+ }
22
+ else {
23
+ mathTable.set(idOrItem.id, idOrItem.content);
24
+ }
16
25
  };
17
26
  exports.mathTablePush = mathTablePush;
27
+ /** Replace UUID placeholders with original math content.
28
+ * Uses trimmed string for regex matching (consistent with getSubMath),
29
+ * but untrimmed sub for slicing to preserve original whitespace. */
18
30
  var getMathTableContent = function (sub, i) {
19
- var resContent = sub;
20
- sub = sub.trim();
21
- var cellM = sub.slice(i).match(consts_1.doubleCurlyBracketUuidPattern);
22
- cellM = cellM ? cellM : sub.slice(i).match(consts_1.singleCurlyBracketPattern);
31
+ var tail = sub.trim().slice(i);
32
+ var cellM = tail.match(consts_1.doubleCurlyBracketUuidPattern);
33
+ cellM = cellM ? cellM : tail.match(consts_1.singleCurlyBracketPattern);
23
34
  if (!cellM) {
24
35
  return '';
25
36
  }
26
- var _loop_1 = function (j) {
27
- var content = cellM[j].replace(/\{/g, '').replace(/\}/g, '');
28
- var index = mathTable.findIndex(function (item) { return item.id === content; });
29
- if (index >= 0) {
30
- var iB = resContent.indexOf(cellM[j]);
31
- resContent = resContent.slice(0, iB) + mathTable[index].content + resContent.slice(iB + cellM[j].length);
32
- }
33
- };
37
+ var parts = [];
38
+ var lastIdx = 0;
34
39
  for (var j = 0; j < cellM.length; j++) {
35
- _loop_1(j);
40
+ var id = cellM[j].replace(/\{/g, '').replace(/\}/g, '');
41
+ var mathContent = mathTable.get(id);
42
+ if (mathContent !== undefined) {
43
+ var iB = sub.indexOf(cellM[j], lastIdx);
44
+ if (iB >= 0) {
45
+ parts.push(sub.slice(lastIdx, iB));
46
+ parts.push(mathContent);
47
+ lastIdx = iB + cellM[j].length;
48
+ }
49
+ }
50
+ }
51
+ if (parts.length === 0) {
52
+ return (0, common_1.getContent)(sub);
36
53
  }
37
- resContent = (0, common_1.getContent)(resContent);
38
- return resContent;
54
+ parts.push(sub.slice(lastIdx));
55
+ return (0, common_1.getContent)(parts.join(''));
39
56
  };
40
57
  exports.getMathTableContent = getMathTableContent;
58
+ /**
59
+ * Returns the end marker for a matched opening marker.
60
+ * - string: end marker to search for (e.g. "\\]", "$")
61
+ * - null: self-closing match (eqref/ref) — no end marker needed, content = match itself
62
+ * - undefined: \begin{env} — caller must resolve via balanced tag search
63
+ */
64
+ var getEndMarker = function (matchStr, envGroup, eqrefGroup, refGroup) {
65
+ if (matchStr === "\\\\[")
66
+ return "\\\\]";
67
+ if (matchStr === "\\[")
68
+ return "\\]";
69
+ if (matchStr === "\\\\(")
70
+ return "\\\\)";
71
+ if (matchStr === "\\(")
72
+ return "\\)";
73
+ if (eqrefGroup !== undefined || refGroup !== undefined)
74
+ return null;
75
+ if (matchStr === "$$")
76
+ return "$$";
77
+ if (matchStr === "$")
78
+ return "$";
79
+ return undefined;
80
+ };
81
+ var shouldSkipDollar = function (str, marker, beginMarkerPos, endMarkerPos) {
82
+ var beforeEnd = str.charCodeAt(endMarkerPos - 1);
83
+ if (beforeEnd === 0x5c ||
84
+ (beginMarkerPos > 0 && str.charCodeAt(beginMarkerPos - 1) === 0x5c)) {
85
+ return true;
86
+ }
87
+ if (marker === "$") {
88
+ var afterStart = str.charCodeAt(beginMarkerPos + 1);
89
+ if (beforeEnd === 0x20 || beforeEnd === 0x09 || beforeEnd === 0x0a ||
90
+ afterStart === 0x20 || afterStart === 0x09 || afterStart === 0x0a) {
91
+ return true;
92
+ }
93
+ }
94
+ var suffix = str.charCodeAt(endMarkerPos + 1);
95
+ if (suffix >= 0x30 && suffix < 0x3a) {
96
+ return true;
97
+ }
98
+ return false;
99
+ };
100
+ /**
101
+ * Extract math expressions from a string, replacing them with placeholders.
102
+ * Iterative single-pass: scans the original string once, collects non-math
103
+ * segments and placeholders into an array, joins at the end.
104
+ *
105
+ * `startPos` is a seek offset applied via `re.lastIndex` before scanning.
106
+ */
41
107
  var getSubMath = function (str, startPos) {
42
- var _a, _b;
108
+ var _a;
43
109
  if (startPos === void 0) { startPos = 0; }
44
- var match = str
45
- .slice(startPos)
46
- .match(/(?:\\\\\[|\\\[|\\\\\(|\\\(|\$\$|\$|\\begin\{([^}]*)\}|eqref\{([^}]*)\}|ref\{([^}]*)\})/);
47
- var endMarkerPos = -1;
48
- if (match) {
49
- var beginMarkerPos = startPos + match.index;
110
+ var re = RE_MATH_OPEN_G;
111
+ re.lastIndex = startPos > 0 ? startPos : 0;
112
+ var parts = [];
113
+ var lastCopied = 0;
114
+ var match;
115
+ while ((match = re.exec(str)) !== null) {
116
+ var beginMarkerPos = match.index;
50
117
  var startMathPos = beginMarkerPos + match[0].length;
51
- var endMarker = void 0;
52
- if (match[0] === "\\\\[") {
53
- endMarker = "\\\\]";
118
+ var envGroup = match[1];
119
+ var endMarker = getEndMarker(match[0], envGroup, match[2], match[3]);
120
+ var endMarkerPos = -1;
121
+ if (endMarker === null) {
122
+ endMarkerPos = startMathPos;
123
+ endMarker = '';
54
124
  }
55
- else if (match[0] === "\\[") {
56
- endMarker = "\\]";
57
- }
58
- else if (match[0] === "\\\\(") {
59
- endMarker = "\\\\)";
60
- }
61
- else if (match[0] === "\\(") {
62
- endMarker = "\\)";
63
- }
64
- else if (match[0].includes("eqref")) {
65
- endMarker = "";
66
- }
67
- else if (match[0].includes("ref")) {
68
- endMarker = "";
69
- }
70
- else if (match[1] && match[1] !== 'abstract' && match[1] !== 'tabular') {
71
- var environment = match[1].trim();
72
- var openTag = (0, utils_1.beginTag)(environment, true);
73
- var closeTag = (0, utils_1.endTag)(environment, true);
74
- if (closeTag && openTag) {
75
- var data = (0, utils_1.findOpenCloseTagsMathEnvironment)(str.slice(startPos), openTag, closeTag);
76
- if ((_a = data === null || data === void 0 ? void 0 : data.arrClose) === null || _a === void 0 ? void 0 : _a.length) {
77
- endMarkerPos = startPos + ((_b = data.arrClose[data.arrClose.length - 1]) === null || _b === void 0 ? void 0 : _b.posStart);
125
+ else if (endMarker === undefined) {
126
+ if (envGroup && envGroup !== 'abstract' && envGroup !== 'tabular') {
127
+ var environment = envGroup.trim();
128
+ var openTag = (0, utils_1.beginTag)(environment, true);
129
+ var closeTag = (0, utils_1.endTag)(environment, true);
130
+ if (closeTag && openTag) {
131
+ var data = (0, utils_1.findOpenCloseTagsMathEnvironment)(str.slice(beginMarkerPos), openTag, closeTag);
132
+ var lastClose = ((_a = data === null || data === void 0 ? void 0 : data.arrClose) === null || _a === void 0 ? void 0 : _a.length) ? data.arrClose[data.arrClose.length - 1] : null;
133
+ if (lastClose && typeof lastClose.posStart === 'number') {
134
+ endMarkerPos = beginMarkerPos + lastClose.posStart;
135
+ }
136
+ endMarker = "\\end{".concat(envGroup, "}");
78
137
  }
79
- endMarker = "\\end{".concat(match[1], "}");
138
+ }
139
+ if (endMarker === undefined) {
140
+ continue;
80
141
  }
81
142
  }
82
- else if (match[0] === "$$") {
83
- endMarker = match[0];
84
- }
85
- else if (match[0] === "$") {
86
- endMarker = match[0];
143
+ if (endMarkerPos === -1) {
144
+ endMarkerPos = (0, mdPluginRaw_1.findEndMarkerPos)(str, endMarker, startMathPos);
87
145
  }
88
- endMarkerPos = endMarkerPos !== -1
89
- ? endMarkerPos
90
- : (0, mdPluginRaw_1.findEndMarkerPos)(str, endMarker, startMathPos);
91
146
  if (endMarkerPos === -1) {
92
- /** If the end marker is not found, it is necessary to search further, excluding the current marker. */
93
- str = (0, exports.getSubMath)(str, startMathPos);
94
- return str;
147
+ re.lastIndex = startMathPos;
148
+ continue;
95
149
  }
96
150
  if (match[0] === "$" || match[0] === "$$") {
97
- var beforeEndMarker = str.charCodeAt(endMarkerPos - 1);
98
- if (beforeEndMarker === 0x5c /* \ */ ||
99
- (beginMarkerPos > 0 && str.charCodeAt(beginMarkerPos - 1) === 0x5c /* \ */)) {
100
- /** If the marker is shielded, it is necessary to search further, excluding the current marker. */
101
- str = (0, exports.getSubMath)(str, startMathPos);
102
- return str;
103
- }
104
- if (match[0] === "$") {
105
- var afterStartMarker = str.charCodeAt(beginMarkerPos + 1);
106
- if (beforeEndMarker === 0x20 /* space */ ||
107
- beforeEndMarker === 0x09 /* \t */ ||
108
- beforeEndMarker === 0x0a /* \n */ ||
109
- afterStartMarker === 0x20 /* space */ ||
110
- afterStartMarker === 0x09 /* \t */ ||
111
- afterStartMarker === 0x0a /* \n */) {
112
- str = (0, exports.getSubMath)(str, startMathPos);
113
- return str;
114
- }
115
- }
116
- // Skip if closing $ is succeeded by a digit (eg $5 $10 ...)
117
- var suffix = str.charCodeAt(endMarkerPos + 1);
118
- if (suffix >= 0x30 && suffix < 0x3a) {
119
- str = (0, exports.getSubMath)(str, startMathPos);
120
- return str;
151
+ if (shouldSkipDollar(str, match[0], beginMarkerPos, endMarkerPos)) {
152
+ re.lastIndex = startMathPos;
153
+ continue;
121
154
  }
122
155
  }
123
156
  var nextPos = endMarkerPos + endMarker.length;
124
157
  var content = str.slice(beginMarkerPos, nextPos);
125
158
  var id = (0, common_1.generateUniqueId)();
126
- var isCodeEnv = match[1] && consts_1.LATEX_BLOCK_ENV.has(match[1]);
159
+ var isCodeEnv = !!(envGroup && consts_1.LATEX_BLOCK_ENV.has(envGroup));
127
160
  if (isCodeEnv) {
128
161
  (0, sub_code_1.addExtractedCodeBlock)({ id: id, content: content });
129
162
  }
130
163
  else {
131
- mathTable.push({ id: id, content: content });
164
+ (0, exports.mathTablePush)(id, content);
132
165
  }
133
166
  var placeholder = isCodeEnv ? "<<".concat(id, ">>") : "{".concat(id, "}");
134
- str = str.slice(0, startPos) + str.slice(startPos, beginMarkerPos) + placeholder + str.slice(endMarkerPos + endMarker.length);
135
- str = (0, exports.getSubMath)(str, startPos);
167
+ parts.push(str.slice(lastCopied, beginMarkerPos));
168
+ parts.push(placeholder);
169
+ lastCopied = nextPos;
170
+ re.lastIndex = nextPos;
171
+ }
172
+ if (parts.length === 0) {
173
+ return str;
136
174
  }
137
- return str;
175
+ parts.push(str.slice(lastCopied));
176
+ return parts.join('');
138
177
  };
139
178
  exports.getSubMath = getSubMath;
140
179
  //# sourceMappingURL=sub-math.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sub-math.js","sourceRoot":"","sources":["../../../../src/markdown/md-block-rule/begin-tabular/sub-math.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sub-math.js","sourceRoot":"","sources":["../../../../src/markdown/md-block-rule/begin-tabular/sub-math.ts"],"names":[],"mappings":"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"}
@@ -7,9 +7,11 @@ var consts_1 = require("../../common/consts");
7
7
  var sub_cell_1 = require("./sub-cell");
8
8
  var sub_code_1 = require("./sub-code");
9
9
  var placeholder_utils_1 = require("./placeholder-utils");
10
- var subTabular = [];
10
+ var subTabular = new Map();
11
+ // Guards direct lookup: keys are generateUniqueId() UUIDs, cell text should match exactly.
12
+ var SUB_TABULAR_KEY_RE = new RegExp("^".concat(consts_1.uuidPatternNoCapture, "$"));
11
13
  var ClearSubTableLists = function () {
12
- subTabular = [];
14
+ subTabular.clear();
13
15
  };
14
16
  exports.ClearSubTableLists = ClearSubTableLists;
15
17
  /**
@@ -26,23 +28,19 @@ var extractChildIds = function (content) {
26
28
  var pushSubTabular = function (str, subTabularContent, subRes, posBegin, posEnd, i, level) {
27
29
  var e_1, _a;
28
30
  var _b;
29
- var _c;
30
31
  if (subRes === void 0) { subRes = []; }
31
32
  if (posBegin === void 0) { posBegin = 0; }
32
33
  if (i === void 0) { i = 0; }
33
34
  if (level === void 0) { level = 0; }
34
35
  var id = (0, common_1.generateUniqueId)();
35
36
  var childIds = extractChildIds(subTabularContent);
36
- var _loop_1 = function (childId) {
37
- var cIdx = subTabular.findIndex(function (item) { return item.id === childId; });
38
- if (cIdx >= 0) {
39
- ((_b = (_c = subTabular[cIdx]).parents) !== null && _b !== void 0 ? _b : (_c.parents = [])).push(id);
40
- }
41
- };
42
37
  try {
43
38
  for (var childIds_1 = tslib_1.__values(childIds), childIds_1_1 = childIds_1.next(); !childIds_1_1.done; childIds_1_1 = childIds_1.next()) {
44
39
  var childId = childIds_1_1.value;
45
- _loop_1(childId);
40
+ var child = subTabular.get(childId);
41
+ if (child) {
42
+ ((_b = child.parents) !== null && _b !== void 0 ? _b : (child.parents = [])).push(id);
43
+ }
46
44
  }
47
45
  }
48
46
  catch (e_1_1) { e_1 = { error: e_1_1 }; }
@@ -54,11 +52,10 @@ var pushSubTabular = function (str, subTabularContent, subRes, posBegin, posEnd,
54
52
  }
55
53
  var isBlockLocal = (0, common_1.detectLocalBlock)(subTabularContent);
56
54
  var childBlock = childIds.some(function (cid) {
57
- var cIdx = subTabular.findIndex(function (item) { return item.id === cid; });
58
- return cIdx >= 0 ? !!subTabular[cIdx].isBlock : false;
55
+ var child = subTabular.get(cid);
56
+ return child ? !!child.isBlock : false;
59
57
  });
60
- subTabular.push({
61
- id: id,
58
+ subTabular.set(id, {
62
59
  content: subTabularContent,
63
60
  parsed: subRes,
64
61
  children: childIds,
@@ -87,10 +84,11 @@ var getSubTabular = function (sub, i, isCell, forLatex) {
87
84
  if (isCell) {
88
85
  sub = (0, common_1.getContent)(sub);
89
86
  }
90
- // fast path: exact id matches a cached parsed tabular
91
- var directIndex = subTabular.findIndex(function (item) { return item.id === sub; });
92
- if (directIndex >= 0 && ((_a = subTabular[directIndex].parsed) === null || _a === void 0 ? void 0 : _a.length)) {
93
- return subTabular[directIndex].parsed;
87
+ if (SUB_TABULAR_KEY_RE.test(sub)) {
88
+ var directEntry = subTabular.get(sub);
89
+ if ((_a = directEntry === null || directEntry === void 0 ? void 0 : directEntry.parsed) === null || _a === void 0 ? void 0 : _a.length) {
90
+ return directEntry.parsed;
91
+ }
94
92
  }
95
93
  // find placeholders
96
94
  var cellM = (0, placeholder_utils_1.findPlaceholders)(sub, i);
@@ -100,25 +98,24 @@ var getSubTabular = function (sub, i, isCell, forLatex) {
100
98
  var parents = null;
101
99
  var cursor = 0;
102
100
  var contentFragments = [];
103
- var _loop_2 = function (j) {
101
+ for (var j = 0; j < cellM.length; j++) {
104
102
  var placeholder = cellM[j];
105
103
  var id = (0, placeholder_utils_1.placeholderToId)(placeholder);
106
104
  if (!id) {
107
- return "continue";
105
+ continue;
108
106
  }
109
107
  var start = sub.indexOf(placeholder, cursor);
110
108
  if (start === -1) {
111
- return "continue";
109
+ continue;
112
110
  }
113
111
  var end = start + placeholder.length;
114
112
  // prefix text between placeholders
115
113
  var prefix = sub.slice(cursor, start);
116
114
  // Avoid trimming around list-begin tokens to keep `\begin{itemize}` detectable.
117
- var idx = subTabular.findIndex(function (item) { return item.id === id; });
115
+ var entry = subTabular.get(id);
118
116
  var isBlockRule = false;
119
- if (idx >= 0) {
120
- var content = subTabular[idx].content;
121
- isBlockRule = !!subTabular[idx].isBlock || (0, common_1.detectLocalBlock)(prefix) || (0, common_1.detectLocalBlock)(content);
117
+ if (entry) {
118
+ isBlockRule = !!entry.isBlock || (0, common_1.detectLocalBlock)(prefix) || (0, common_1.detectLocalBlock)(entry.content);
122
119
  if (!isBlockRule || prefix.trim() === "") {
123
120
  prefix = prefix.trim();
124
121
  }
@@ -130,9 +127,9 @@ var getSubTabular = function (sub, i, isCell, forLatex) {
130
127
  }
131
128
  }
132
129
  var injected = "";
133
- if (idx >= 0) {
134
- parents = subTabular[idx].parents;
135
- injected = (_b = subTabular[idx].content) !== null && _b !== void 0 ? _b : "";
130
+ if (entry) {
131
+ parents = entry.parents;
132
+ injected = (_b = entry.content) !== null && _b !== void 0 ? _b : "";
136
133
  }
137
134
  else {
138
135
  injected = (_c = (0, sub_cell_1.findInDiagboxTable)(id)) !== null && _c !== void 0 ? _c : "";
@@ -146,9 +143,6 @@ var getSubTabular = function (sub, i, isCell, forLatex) {
146
143
  var st = prefix + injected;
147
144
  contentFragments.push(st);
148
145
  cursor = end;
149
- };
150
- for (var j = 0; j < cellM.length; j++) {
151
- _loop_2(j);
152
146
  }
153
147
  if (cursor < sub.length) {
154
148
  contentFragments.push(sub.slice(cursor));
@@ -1 +1 @@
1
- {"version":3,"file":"sub-tabular.js","sourceRoot":"","sources":["../../../../src/markdown/md-block-rule/begin-tabular/sub-tabular.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sub-tabular.js","sourceRoot":"","sources":["../../../../src/markdown/md-block-rule/begin-tabular/sub-tabular.ts"],"names":[],"mappings":"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"}
@@ -11,12 +11,20 @@ type TAligns = {
11
11
  v?: string;
12
12
  w?: string;
13
13
  };
14
+ export declare const clearColumnStyleCache: () => void;
15
+ export declare const getSharedTableOpenAttrs: (extraClass?: string, skipVisual?: boolean) => TAttrs[] | undefined;
16
+ export declare const getSharedTbodyOpenAttrs: (numCol: number) => TAttrs[];
17
+ export declare const getSharedTrOpenAttrs: (skipVisual?: boolean) => TAttrs[] | undefined;
18
+ export declare const SHARED_TD_CLOSE: TTokenTabular;
19
+ export declare const SHARED_TR_CLOSE: TTokenTabular;
20
+ export declare const SHARED_TABLE_CLOSE: TTokenTabular;
21
+ export declare const SHARED_TBODY_CLOSE: TTokenTabular;
14
22
  export declare const setColumnLines: (aligns: TAligns | null, lines: TLines) => string[];
15
23
  export declare const addStyle: (attrs: any[], style: string) => Array<TAttrs>;
16
24
  export declare const addHLineIntoStyle: (attrs: any[], line?: string, pos?: string) => Array<TAttrs>;
17
- export declare const AddTd: (content: string, aligns: TAligns | null, lines: TLines, space: string, decimal?: TDecimal | null) => {
25
+ export declare const AddTd: (content: string, aligns: TAligns | null, lines: TLines, space: string, decimal?: TDecimal | null, skipVisual?: boolean) => {
18
26
  res: Array<TTokenTabular>;
19
27
  content: string;
20
28
  };
21
- export declare const AddTdSubTable: (subTable: Array<TTokenTabular>, aligns: TAligns, lines: TLines) => Array<TTokenTabular>;
29
+ export declare const AddTdSubTable: (subTable: Array<TTokenTabular>, aligns: TAligns, lines: TLines, skipVisual?: boolean) => Array<TTokenTabular>;
22
30
  export {};