wikiparser-node 1.5.6 → 1.5.7

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.
@@ -69,7 +69,7 @@ class GalleryToken extends index_2.Token {
69
69
  errors.push({
70
70
  rule: 'no-ignored',
71
71
  message: index_1.default.msg('invalid content in <$1>', 'gallery'),
72
- severity: 'error',
72
+ severity: trimmed.startsWith('|') ? 'warning' : 'error',
73
73
  startIndex: start,
74
74
  endIndex: start + length,
75
75
  startLine,
@@ -46,9 +46,24 @@ class TableToken extends trBase_1.TrBaseToken {
46
46
  /* NOT FOR BROWSER */
47
47
  const layout = this.getLayout(), { length } = layout;
48
48
  if (length > 1) {
49
- const j = new Array(length - 1).fill(undefined)
50
- .findIndex((_, i) => layout[i].length !== layout[i + 1].length) + 1;
51
- if (j) {
49
+ let low = 1, high = Infinity, j = 0;
50
+ for (; j < length; j++) {
51
+ const row = layout[j], max = row.length;
52
+ if (max < low) {
53
+ break;
54
+ }
55
+ else if (max < high) {
56
+ high = max;
57
+ }
58
+ const { colspan } = this.getNthCell(row[row.length - 1]), min = max - colspan + 1;
59
+ if (min > high) {
60
+ break;
61
+ }
62
+ else if (min > low) {
63
+ low = min;
64
+ }
65
+ }
66
+ if (j < length) {
52
67
  errors.push((0, lint_1.generateForChild)(this.getNthRow(j), { start }, 'table-layout', 'inconsistent table layout', 'warning'));
53
68
  }
54
69
  }
@@ -46,12 +46,12 @@ export declare abstract class TdToken extends TableBaseToken {
46
46
  text(): string;
47
47
  /** @override */
48
48
  lint(start?: number, re?: RegExp): LintError[];
49
+ /** 是否位于行首 */
50
+ isIndependent(): boolean;
49
51
  /** @override */
50
52
  print(): string;
51
53
  /** @override */
52
54
  json(): AST;
53
- /** 是否位于行首 */
54
- isIndependent(): boolean;
55
55
  /** @override */
56
56
  cloneNode(): this;
57
57
  /** 改为独占一行 */
@@ -136,12 +136,15 @@ let TdToken = (() => {
136
136
  correction: false,
137
137
  };
138
138
  }
139
- /* NOT FOR BROWSER */
140
139
  const { previousSibling } = this;
140
+ /* NOT FOR BROWSER */
141
141
  if (!(previousSibling instanceof TdToken)) {
142
142
  return { subtype, escape: esc, correction: true };
143
143
  }
144
- const result = previousSibling.#getSyntax(), str = String(previousSibling.lastChild);
144
+ /* NOT FOR BROWSER END */
145
+ const result = previousSibling.#getSyntax();
146
+ /* NOT FOR BROWSER */
147
+ const str = String(previousSibling.lastChild);
145
148
  result.escape ||= esc;
146
149
  result.correction = str.includes('\n') && debug_1.Shadow.run(() => {
147
150
  const config = this.getAttribute('config'), include = this.getAttribute('include');
@@ -216,6 +219,10 @@ let TdToken = (() => {
216
219
  }
217
220
  return errors;
218
221
  }
222
+ /** 是否位于行首 */
223
+ isIndependent() {
224
+ return this.firstChild.text().startsWith('\n');
225
+ }
219
226
  /** @override */
220
227
  print() {
221
228
  const { childNodes: [syntax, attr, inner] } = this;
@@ -228,10 +235,6 @@ let TdToken = (() => {
228
235
  return json;
229
236
  }
230
237
  /* NOT FOR BROWSER */
231
- /** 是否位于行首 */
232
- isIndependent() {
233
- return this.firstChild.text().startsWith('\n');
234
- }
235
238
  /** @override */
236
239
  cloneNode() {
237
240
  const token = super.cloneNode();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "wikiparser-node",
3
- "version": "1.5.6",
3
+ "version": "1.5.7",
4
4
  "description": "A Node.js parser for MediaWiki markup with AST",
5
5
  "keywords": [
6
6
  "mediawiki",