wikiparser-node 1.9.2 → 1.9.3

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 (110) hide show
  1. package/dist/base.d.ts +9 -3
  2. package/dist/index.js +0 -1
  3. package/dist/lib/element.d.ts +1 -0
  4. package/dist/lib/element.js +23 -249
  5. package/dist/lib/node.d.ts +3 -1
  6. package/dist/lib/range.js +12 -12
  7. package/dist/lib/text.d.ts +2 -1
  8. package/dist/lib/text.js +8 -2
  9. package/dist/mixin/hidden.js +5 -0
  10. package/dist/mixin/syntax.js +2 -1
  11. package/dist/parser/selector.js +223 -20
  12. package/dist/parser/table.js +3 -3
  13. package/dist/src/arg.d.ts +1 -2
  14. package/dist/src/arg.js +3 -2
  15. package/dist/src/atom.d.ts +5 -3
  16. package/dist/src/atom.js +28 -2
  17. package/dist/src/attribute.d.ts +1 -2
  18. package/dist/src/attribute.js +5 -2
  19. package/dist/src/attributes.d.ts +1 -2
  20. package/dist/src/attributes.js +7 -2
  21. package/dist/src/converter.d.ts +1 -2
  22. package/dist/src/converter.js +5 -2
  23. package/dist/src/converterFlags.d.ts +1 -2
  24. package/dist/src/converterFlags.js +5 -2
  25. package/dist/src/converterRule.d.ts +1 -3
  26. package/dist/src/converterRule.js +5 -3
  27. package/dist/src/extLink.d.ts +1 -2
  28. package/dist/src/extLink.js +5 -2
  29. package/dist/src/gallery.d.ts +1 -2
  30. package/dist/src/gallery.js +7 -4
  31. package/dist/src/heading.d.ts +1 -2
  32. package/dist/src/heading.js +3 -2
  33. package/dist/src/hidden.d.ts +1 -2
  34. package/dist/src/hidden.js +3 -2
  35. package/dist/src/html.d.ts +1 -2
  36. package/dist/src/html.js +3 -2
  37. package/dist/src/imageParameter.d.ts +1 -2
  38. package/dist/src/imageParameter.js +3 -2
  39. package/dist/src/imagemap.d.ts +1 -2
  40. package/dist/src/imagemap.js +3 -2
  41. package/dist/src/imagemapLink.d.ts +1 -1
  42. package/dist/src/imagemapLink.js +5 -1
  43. package/dist/src/index.d.ts +2 -1
  44. package/dist/src/index.js +26 -1
  45. package/dist/src/link/base.d.ts +1 -2
  46. package/dist/src/link/base.js +5 -3
  47. package/dist/src/link/category.d.ts +1 -1
  48. package/dist/src/link/category.js +5 -1
  49. package/dist/src/link/file.d.ts +1 -1
  50. package/dist/src/link/file.js +3 -1
  51. package/dist/src/link/galleryImage.d.ts +1 -2
  52. package/dist/src/link/galleryImage.js +7 -33
  53. package/dist/src/link/index.d.ts +1 -2
  54. package/dist/src/link/index.js +5 -2
  55. package/dist/src/link/redirectTarget.d.ts +1 -2
  56. package/dist/src/link/redirectTarget.js +5 -2
  57. package/dist/src/magicLink.d.ts +2 -2
  58. package/dist/src/magicLink.js +8 -5
  59. package/dist/src/nested.d.ts +1 -2
  60. package/dist/src/nested.js +3 -2
  61. package/dist/src/nowiki/base.d.ts +1 -2
  62. package/dist/src/nowiki/base.js +1 -3
  63. package/dist/src/nowiki/comment.d.ts +1 -2
  64. package/dist/src/nowiki/comment.js +3 -2
  65. package/dist/src/nowiki/dd.d.ts +1 -1
  66. package/dist/src/nowiki/dd.js +3 -1
  67. package/dist/src/nowiki/doubleUnderscore.d.ts +1 -2
  68. package/dist/src/nowiki/doubleUnderscore.js +3 -2
  69. package/dist/src/nowiki/hr.d.ts +1 -1
  70. package/dist/src/nowiki/hr.js +3 -1
  71. package/dist/src/nowiki/index.d.ts +1 -1
  72. package/dist/src/nowiki/index.js +3 -1
  73. package/dist/src/nowiki/list.d.ts +1 -1
  74. package/dist/src/nowiki/list.js +3 -1
  75. package/dist/src/nowiki/listBase.d.ts +1 -1
  76. package/dist/src/nowiki/noinclude.d.ts +1 -5
  77. package/dist/src/nowiki/noinclude.js +3 -5
  78. package/dist/src/nowiki/quote.d.ts +1 -4
  79. package/dist/src/nowiki/quote.js +3 -4
  80. package/dist/src/onlyinclude.d.ts +1 -2
  81. package/dist/src/onlyinclude.js +3 -2
  82. package/dist/src/paramTag/index.d.ts +1 -2
  83. package/dist/src/paramTag/index.js +3 -2
  84. package/dist/src/parameter.d.ts +1 -7
  85. package/dist/src/parameter.js +3 -7
  86. package/dist/src/pre.d.ts +1 -2
  87. package/dist/src/pre.js +3 -2
  88. package/dist/src/redirect.d.ts +1 -2
  89. package/dist/src/redirect.js +3 -2
  90. package/dist/src/syntax.d.ts +4 -4
  91. package/dist/src/syntax.js +6 -3
  92. package/dist/src/table/base.d.ts +1 -2
  93. package/dist/src/table/base.js +0 -1
  94. package/dist/src/table/index.d.ts +1 -10
  95. package/dist/src/table/index.js +3 -10
  96. package/dist/src/table/td.d.ts +1 -7
  97. package/dist/src/table/td.js +3 -7
  98. package/dist/src/table/tr.d.ts +1 -1
  99. package/dist/src/table/tr.js +3 -1
  100. package/dist/src/table/trBase.d.ts +1 -1
  101. package/dist/src/tagPair/ext.d.ts +1 -2
  102. package/dist/src/tagPair/ext.js +7 -4
  103. package/dist/src/tagPair/include.d.ts +1 -3
  104. package/dist/src/tagPair/include.js +5 -3
  105. package/dist/src/tagPair/index.d.ts +1 -1
  106. package/dist/src/transclude.d.ts +1 -2
  107. package/dist/src/transclude.js +8 -5
  108. package/dist/util/constants.js +2 -2
  109. package/dist/util/debug.js +0 -2
  110. package/package.json +1 -1
@@ -9,7 +9,11 @@ const base_1 = require("./base");
9
9
  * @classdesc `{childNodes: [AtomToken, ?Token]}`
10
10
  */
11
11
  class LinkToken extends base_1.LinkBaseToken {
12
- type = 'link';
12
+ /* NOT FOR BROWSER END */
13
+ get type() {
14
+ return 'link';
15
+ }
16
+ /* NOT FOR BROWSER */
13
17
  /** 链接显示文字 */
14
18
  get innerText() {
15
19
  return this.length > 1 ? this.lastChild.text() : this.firstChild.text().replace(/^\s*:?/u, '');
@@ -27,7 +31,6 @@ class LinkToken extends base_1.LinkBaseToken {
27
31
  this.asSelfLink();
28
32
  }
29
33
  }
30
- /** @override */
31
34
  get fragment() {
32
35
  return super.fragment;
33
36
  }
@@ -9,14 +9,13 @@ import type { Token, AtomToken } from '../../internal';
9
9
  * @classdesc `{childNodes: [AtomToken, ?Token]}`
10
10
  */
11
11
  export declare abstract class RedirectTargetToken extends LinkBaseToken {
12
- readonly type = "redirect-target";
13
12
  readonly childNodes: readonly [AtomToken] | readonly [AtomToken, NoincludeToken];
14
13
  abstract get lastChild(): AtomToken | NoincludeToken;
15
14
  abstract get children(): [AtomToken] | [AtomToken, NoincludeToken];
16
15
  abstract get lastElementChild(): AtomToken | NoincludeToken;
17
16
  abstract get link(): Title;
18
17
  abstract set link(link: string);
19
- /** @override */
18
+ get type(): 'redirect-target';
20
19
  get fragment(): string | undefined;
21
20
  set fragment(fragment: string | undefined);
22
21
  /** interwiki */
@@ -11,8 +11,11 @@ const noinclude_1 = require("../nowiki/noinclude");
11
11
  * @classdesc `{childNodes: [AtomToken, ?Token]}`
12
12
  */
13
13
  class RedirectTargetToken extends base_1.LinkBaseToken {
14
- type = 'redirect-target';
15
- /** @override */
14
+ /* NOT FOR BROWSER END */
15
+ get type() {
16
+ return 'redirect-target';
17
+ }
18
+ /* NOT FOR BROWSER */
16
19
  get fragment() {
17
20
  return super.fragment;
18
21
  }
@@ -13,13 +13,14 @@ export interface MagicLinkToken extends SyntaxBase {
13
13
  * @classdesc `{childNodes: ...AstText|CommentToken|IncludeToken|NoincludeToken}`
14
14
  */
15
15
  export declare abstract class MagicLinkToken extends Token {
16
- type: ExtLinkTypes;
16
+ #private;
17
17
  readonly childNodes: readonly (AstText | CommentToken | IncludeToken | NoincludeToken | TranscludeToken)[];
18
18
  abstract get firstChild(): AstText | TranscludeToken;
19
19
  abstract get lastChild(): AstText | CommentToken | IncludeToken | NoincludeToken | TranscludeToken;
20
20
  abstract get children(): (CommentToken | IncludeToken | NoincludeToken | TranscludeToken)[];
21
21
  abstract get firstElementChild(): CommentToken | IncludeToken | NoincludeToken | TranscludeToken | undefined;
22
22
  abstract get lastElementChild(): CommentToken | IncludeToken | NoincludeToken | TranscludeToken | undefined;
23
+ get type(): ExtLinkTypes;
23
24
  /** 和内链保持一致 */
24
25
  get link(): string;
25
26
  set link(url: string);
@@ -32,7 +33,6 @@ export declare abstract class MagicLinkToken extends Token {
32
33
  * @param type 类型
33
34
  */
34
35
  constructor(url?: string, type?: ExtLinkTypes, config?: Parser.Config, accum?: Token[]);
35
- /** @override */
36
36
  cloneNode(): this;
37
37
  /**
38
38
  * @override
@@ -71,7 +71,11 @@ let MagicLinkToken = (() => {
71
71
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
72
72
  __runInitializers(_classThis, _classExtraInitializers);
73
73
  }
74
+ #type;
74
75
  /* NOT FOR BROWSER END */
76
+ get type() {
77
+ return this.#type;
78
+ }
75
79
  /** 和内链保持一致 */
76
80
  get link() {
77
81
  const map = { '!': '|', '=': '=' };
@@ -112,7 +116,7 @@ let MagicLinkToken = (() => {
112
116
  super(url, config, accum, {
113
117
  'Stage-1': '1:', '!ExtToken': '', AstText: ':', TranscludeToken: ':',
114
118
  });
115
- this.type = type;
119
+ this.#type = type;
116
120
  /* NOT FOR BROWSER */
117
121
  let pattern;
118
122
  if (type === 'magic-link') {
@@ -142,8 +146,8 @@ let MagicLinkToken = (() => {
142
146
  return errors;
143
147
  }
144
148
  // eslint-disable-next-line @typescript-eslint/no-unused-expressions
145
- /[,;。:!?()]+|\|+/gu;
146
- const source = `[,;。:!?()]+${this.type === 'ext-link-url' ? String.raw `|\|+` : ''}`, regex = new RegExp(source, 'u'), regexGlobal = new RegExp(source, 'gu');
149
+ /[,;。:!?()]+/gu;
150
+ const pipe = this.type === 'ext-link-url', source = pipe ? String.raw `\|+` : '[,;。:!?()]+', regex = new RegExp(source, 'u'), regexGlobal = new RegExp(source, 'gu');
147
151
  for (const child of this.childNodes) {
148
152
  const { type, data } = child;
149
153
  if (type !== 'text' || !regex.test(data)) {
@@ -152,7 +156,7 @@ let MagicLinkToken = (() => {
152
156
  const refError = (0, lint_1.generateForChild)(child, rect, 'unterminated-url', '', 'warning');
153
157
  regexGlobal.lastIndex = 0;
154
158
  for (let mt = regexGlobal.exec(data); mt; mt = regexGlobal.exec(data)) {
155
- const { index, 0: s } = mt, lines = data.slice(0, index).split('\n'), top = lines.length, left = lines[top - 1].length, startIndex = refError.startIndex + index, startLine = refError.startLine + top - 1, startCol = top === 1 ? refError.startCol + left : left, pipe = s.startsWith('|');
159
+ const { index, 0: s } = mt, lines = data.slice(0, index).split('\n'), top = lines.length, left = lines[top - 1].length, startIndex = refError.startIndex + index, startLine = refError.startLine + top - 1, startCol = top === 1 ? refError.startCol + left : left;
156
160
  const e = {
157
161
  ...refError,
158
162
  message: index_1.default.msg('$1 in URL', pipe ? '"|"' : 'full-width punctuation'),
@@ -192,7 +196,6 @@ let MagicLinkToken = (() => {
192
196
  return errors;
193
197
  }
194
198
  /* NOT FOR BROWSER */
195
- /** @override */
196
199
  cloneNode() {
197
200
  const cloned = this.cloneChildNodes();
198
201
  return debug_1.Shadow.run(() => {
@@ -11,7 +11,6 @@ import type { AttributesToken } from './attributes';
11
11
  */
12
12
  export declare abstract class NestedToken extends Token {
13
13
  #private;
14
- readonly type = "ext-inner";
15
14
  readonly name: string;
16
15
  readonly childNodes: readonly (ExtToken | NoincludeToken | CommentToken)[];
17
16
  abstract get firstChild(): ExtToken | NoincludeToken | CommentToken | undefined;
@@ -25,6 +24,7 @@ export declare abstract class NestedToken extends Token {
25
24
  abstract get previousElementSibling(): AttributesToken;
26
25
  abstract get nextElementSibling(): undefined;
27
26
  abstract get parentElement(): ExtToken | undefined;
27
+ get type(): 'ext-inner';
28
28
  /**
29
29
  * @param regex 内层正则
30
30
  * @param tags 内层标签名
@@ -36,6 +36,5 @@ export declare abstract class NestedToken extends Token {
36
36
  * @param i 插入位置
37
37
  */
38
38
  insertAt<T extends Token>(token: T, i?: number): T;
39
- /** @override */
40
39
  cloneNode(): this;
41
40
  }
@@ -15,11 +15,13 @@ const comment_1 = require("./nowiki/comment");
15
15
  * @classdesc `{childNodes: ...ExtToken|NoincludeToken|CommentToken}`
16
16
  */
17
17
  class NestedToken extends index_2.Token {
18
- type = 'ext-inner';
19
18
  /* NOT FOR BROWSER */
20
19
  #tags;
21
20
  #regex;
22
21
  /* NOT FOR BROWSER END */
22
+ get type() {
23
+ return 'ext-inner';
24
+ }
23
25
  /**
24
26
  * @param regex 内层正则
25
27
  * @param tags 内层标签名
@@ -90,7 +92,6 @@ class NestedToken extends index_2.Token {
90
92
  }
91
93
  return super.insertAt(token, i);
92
94
  }
93
- /** @override */
94
95
  cloneNode() {
95
96
  const cloned = this.cloneChildNodes(), config = this.getAttribute('config');
96
97
  return debug_1.Shadow.run(() => {
@@ -7,7 +7,7 @@ declare type NowikiTypes = 'ext-inner' | 'comment' | 'dd' | 'double-underscore'
7
7
  * @classdesc `{childNodes: [AstText]}`
8
8
  */
9
9
  export declare abstract class NowikiBaseToken extends Token {
10
- type: NowikiTypes;
10
+ abstract get type(): NowikiTypes;
11
11
  readonly childNodes: readonly [AstText];
12
12
  abstract get firstChild(): AstText;
13
13
  abstract get lastChild(): AstText;
@@ -18,7 +18,6 @@ export declare abstract class NowikiBaseToken extends Token {
18
18
  get innerText(): string;
19
19
  /** @param wikitext default: `''` */
20
20
  constructor(wikitext?: string, config?: Config, accum?: Token[]);
21
- /** @override */
22
21
  cloneNode(this: this & {
23
22
  constructor: new (...args: any[]) => unknown;
24
23
  }): this;
@@ -68,12 +68,10 @@ let NowikiBaseToken = (() => {
68
68
  super(wikitext, config, accum);
69
69
  }
70
70
  /* NOT FOR BROWSER */
71
- /** @override */
72
71
  cloneNode() {
73
- const { constructor, firstChild: { data }, type } = this;
72
+ const { constructor, firstChild: { data } } = this;
74
73
  return debug_1.Shadow.run(() => {
75
74
  const token = new constructor(data, this.getAttribute('config'));
76
- token.type = type;
77
75
  return token;
78
76
  });
79
77
  }
@@ -3,13 +3,12 @@ import type { LintError, Config } from '../../base';
3
3
  import type { Token } from '../index';
4
4
  /** HTML注释,不可见 */
5
5
  export declare abstract class CommentToken extends NowikiBaseToken {
6
- readonly type = "comment";
7
6
  closed: boolean;
7
+ get type(): 'comment';
8
8
  /** 内部文本 */
9
9
  get innerText(): string;
10
10
  set innerText(text: string);
11
11
  /** @param closed 是否闭合 */
12
12
  constructor(wikitext: string, closed?: boolean, config?: Config, accum?: Token[]);
13
- /** @override */
14
13
  cloneNode(): this;
15
14
  }
@@ -57,8 +57,10 @@ let CommentToken = (() => {
57
57
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
58
58
  __runInitializers(_classThis, _classExtraInitializers);
59
59
  }
60
- type = 'comment';
61
60
  closed;
61
+ get type() {
62
+ return 'comment';
63
+ }
62
64
  /* NOT FOR BROWSER */
63
65
  /** 内部文本 */
64
66
  get innerText() {
@@ -104,7 +106,6 @@ let CommentToken = (() => {
104
106
  return super.print({ pre: '&lt;!--', post: this.closed ? '--&gt;' : '' });
105
107
  }
106
108
  /* NOT FOR BROWSER */
107
- /** @override */
108
109
  cloneNode() {
109
110
  // @ts-expect-error abstract class
110
111
  return debug_1.Shadow.run(() => new CommentToken(this.innerText, this.closed, this.getAttribute('config')));
@@ -1,7 +1,7 @@
1
1
  import { ListBaseToken } from './listBase';
2
2
  /** `:` */
3
3
  export declare abstract class DdToken extends ListBaseToken {
4
- readonly type = "dd";
4
+ get type(): 'dd';
5
5
  /** 缩进数 */
6
6
  get indent(): number;
7
7
  set indent(indent: number);
@@ -5,7 +5,9 @@ const constants_1 = require("../../util/constants");
5
5
  const listBase_1 = require("./listBase");
6
6
  /** `:` */
7
7
  class DdToken extends listBase_1.ListBaseToken {
8
- type = 'dd';
8
+ get type() {
9
+ return 'dd';
10
+ }
9
11
  /* NOT FOR BROWSER */
10
12
  /** 缩进数 */
11
13
  get indent() {
@@ -4,13 +4,12 @@ import type { Token } from '../index';
4
4
  /** 状态开关 */
5
5
  export declare abstract class DoubleUnderscoreToken extends NowikiBaseToken {
6
6
  #private;
7
- readonly type = "double-underscore";
8
7
  readonly name: string;
8
+ get type(): 'double-underscore';
9
9
  /**
10
10
  * @param word 状态开关名
11
11
  * @param sensitive 是否固定大小写
12
12
  */
13
13
  constructor(word: string, sensitive: boolean, config?: Config, accum?: Token[]);
14
- /** @override */
15
14
  cloneNode(): this;
16
15
  }
@@ -56,9 +56,11 @@ let DoubleUnderscoreToken = (() => {
56
56
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
57
57
  __runInitializers(_classThis, _classExtraInitializers);
58
58
  }
59
- type = 'double-underscore';
60
59
  #sensitive;
61
60
  /* NOT FOR BROWSER END */
61
+ get type() {
62
+ return 'double-underscore';
63
+ }
62
64
  /**
63
65
  * @param word 状态开关名
64
66
  * @param sensitive 是否固定大小写
@@ -83,7 +85,6 @@ let DoubleUnderscoreToken = (() => {
83
85
  return super.print({ pre: '__', post: '__' });
84
86
  }
85
87
  /* NOT FOR BROWSER */
86
- /** @override */
87
88
  cloneNode() {
88
89
  const config = this.getAttribute('config');
89
90
  // @ts-expect-error abstract class
@@ -1,5 +1,5 @@
1
1
  import { NowikiBaseToken } from './base';
2
2
  /** `<hr>` */
3
3
  export declare abstract class HrToken extends NowikiBaseToken {
4
- readonly type = "hr";
4
+ get type(): 'hr';
5
5
  }
@@ -55,7 +55,9 @@ let HrToken = (() => {
55
55
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
56
56
  __runInitializers(_classThis, _classExtraInitializers);
57
57
  }
58
- type = 'hr';
58
+ get type() {
59
+ return 'hr';
60
+ }
59
61
  };
60
62
  return HrToken = _classThis;
61
63
  })();
@@ -3,7 +3,6 @@ import type { LintError } from '../../base';
3
3
  import type { AttributesToken, ExtToken } from '../../internal';
4
4
  /** 扩展标签内的纯文字Token */
5
5
  export declare abstract class NowikiToken extends NowikiBaseToken {
6
- readonly type = "ext-inner";
7
6
  readonly name: string;
8
7
  abstract get nextSibling(): undefined;
9
8
  abstract get previousSibling(): AttributesToken;
@@ -11,4 +10,5 @@ export declare abstract class NowikiToken extends NowikiBaseToken {
11
10
  abstract get nextElementSibling(): undefined;
12
11
  abstract get previousElementSibling(): AttributesToken;
13
12
  abstract get parentElement(): ExtToken | undefined;
13
+ get type(): 'ext-inner';
14
14
  }
@@ -7,8 +7,10 @@ const index_1 = require("../../index");
7
7
  const base_1 = require("./base");
8
8
  /** 扩展标签内的纯文字Token */
9
9
  class NowikiToken extends base_1.NowikiBaseToken {
10
- type = 'ext-inner';
11
10
  /* NOT FOR BROWSER END */
11
+ get type() {
12
+ return 'ext-inner';
13
+ }
12
14
  /** @private */
13
15
  lint(start = this.getAbsoluteIndex()) {
14
16
  const { name, firstChild: { data } } = this;
@@ -2,7 +2,7 @@ import { ListBaseToken } from './listBase';
2
2
  import type { AstRange } from '../../lib/range';
3
3
  /** 位于行首的`;:*#` */
4
4
  export declare abstract class ListToken extends ListBaseToken {
5
- readonly type = "list";
5
+ get type(): 'list';
6
6
  /** 是否包含`:` */
7
7
  get dd(): boolean;
8
8
  /** 是否包含`;` */
@@ -54,7 +54,9 @@ let ListToken = (() => {
54
54
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
55
55
  __runInitializers(_classThis, _classExtraInitializers);
56
56
  }
57
- type = 'list';
57
+ get type() {
58
+ return 'list';
59
+ }
58
60
  /* NOT FOR BROWSER */
59
61
  /** 是否包含`:` */
60
62
  get dd() {
@@ -1,5 +1,5 @@
1
1
  import { NowikiBaseToken } from './base';
2
2
  /** `;:*#` */
3
3
  export declare abstract class ListBaseToken extends NowikiBaseToken {
4
- type: 'dd' | 'list';
4
+ abstract get type(): 'dd' | 'list';
5
5
  }
@@ -1,10 +1,6 @@
1
1
  import { NowikiBaseToken } from './base';
2
2
  /** `<noinclude>`和`</noinclude>`,不可进行任何更改 */
3
3
  export declare abstract class NoincludeToken extends NowikiBaseToken {
4
- readonly type = "noinclude";
5
- /**
6
- * @override
7
- * @param str 新文本
8
- */
4
+ get type(): 'noinclude';
9
5
  setText(str: string): string;
10
6
  }
@@ -54,12 +54,10 @@ let NoincludeToken = (() => {
54
54
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
55
55
  __runInitializers(_classThis, _classExtraInitializers);
56
56
  }
57
- type = 'noinclude';
57
+ get type() {
58
+ return 'noinclude';
59
+ }
58
60
  /* NOT FOR BROWSER */
59
- /**
60
- * @override
61
- * @param str 新文本
62
- */
63
61
  setText(str) {
64
62
  if (/^<\/?(?:(?:no|only)include|includeonly)(?:\s[^>]*)?\/?>$/iu.test(this.innerText)) {
65
63
  this.constructorError('cannot change the text content');
@@ -2,12 +2,9 @@ import { NowikiBaseToken } from './base';
2
2
  import type { LintError, AST } from '../../base';
3
3
  /** `''`和`'''` */
4
4
  export declare abstract class QuoteToken extends NowikiBaseToken {
5
- readonly type = "quote";
6
- /** @override */
5
+ get type(): 'quote';
7
6
  get bold(): boolean;
8
- /** @override */
9
7
  get italic(): boolean;
10
- /** @override */
11
8
  get font(): {
12
9
  bold: boolean;
13
10
  italic: boolean;
@@ -57,17 +57,16 @@ let QuoteToken = (() => {
57
57
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
58
58
  __runInitializers(_classThis, _classExtraInitializers);
59
59
  }
60
- type = 'quote';
61
- /** @override */
60
+ get type() {
61
+ return 'quote';
62
+ }
62
63
  get bold() {
63
64
  return this.innerText.length !== 2;
64
65
  }
65
- /** @override */
66
66
  get italic() {
67
67
  return this.innerText.length !== 3;
68
68
  }
69
69
  /* NOT FOR BROWSER */
70
- /** @override */
71
70
  get font() {
72
71
  return { bold: this.bold, italic: this.italic };
73
72
  }
@@ -4,11 +4,10 @@ import { Token } from './index';
4
4
  * @classdesc `{childNodes: ...AstText|Token}`
5
5
  */
6
6
  export declare class OnlyincludeToken extends Token {
7
- readonly type = "onlyinclude";
7
+ get type(): 'onlyinclude';
8
8
  /** 内部wikitext */
9
9
  get innerText(): string;
10
10
  /** @throws `RangeError` 不允许包含`</onlyinclude>` */
11
11
  set innerText(text: string);
12
- /** @override */
13
12
  cloneNode(): this;
14
13
  }
@@ -10,7 +10,9 @@ const index_2 = require("./index");
10
10
  * @classdesc `{childNodes: ...AstText|Token}`
11
11
  */
12
12
  class OnlyincludeToken extends index_2.Token {
13
- type = 'onlyinclude';
13
+ get type() {
14
+ return 'onlyinclude';
15
+ }
14
16
  /* NOT FOR BROWSER */
15
17
  /** 内部wikitext */
16
18
  get innerText() {
@@ -43,7 +45,6 @@ class OnlyincludeToken extends index_2.Token {
43
45
  });
44
46
  }
45
47
  /* NOT FOR BROWSER */
46
- /** @override */
47
48
  cloneNode() {
48
49
  const cloned = this.cloneChildNodes();
49
50
  return debug_1.Shadow.run(() => {
@@ -8,7 +8,6 @@ import type { AttributesToken, ExtToken } from '../../internal';
8
8
  * @classdesc `{childNodes: ...AtomToken}`
9
9
  */
10
10
  export declare abstract class ParamTagToken extends Token {
11
- readonly type = "ext-inner";
12
11
  readonly name: string;
13
12
  readonly childNodes: readonly AtomToken[];
14
13
  abstract get firstChild(): AtomToken | undefined;
@@ -22,9 +21,9 @@ export declare abstract class ParamTagToken extends Token {
22
21
  abstract get nextElementSibling(): undefined;
23
22
  abstract get previousElementSibling(): AttributesToken;
24
23
  abstract get parentElement(): ExtToken | undefined;
24
+ get type(): 'ext-inner';
25
25
  /** @class */
26
26
  constructor(wikitext?: string, config?: Parser.Config, accum?: Token[], acceptable?: Acceptable);
27
- /** @override */
28
27
  cloneNode(this: this & {
29
28
  constructor: new (...args: any[]) => unknown;
30
29
  }): this;
@@ -14,8 +14,10 @@ const atom_1 = require("../atom");
14
14
  * @classdesc `{childNodes: ...AtomToken}`
15
15
  */
16
16
  class ParamTagToken extends index_2.Token {
17
- type = 'ext-inner';
18
17
  /* NOT FOR BROWSER END */
18
+ get type() {
19
+ return 'ext-inner';
20
+ }
19
21
  /** @class */
20
22
  constructor(wikitext, config = index_1.default.getConfig(), accum = [], acceptable = {}) {
21
23
  super(undefined, config, accum, {
@@ -63,7 +65,6 @@ class ParamTagToken extends index_2.Token {
63
65
  return super.print({ sep: '\n' });
64
66
  }
65
67
  /* NOT FOR BROWSER */
66
- /** @override */
67
68
  cloneNode() {
68
69
  const cloned = this.cloneChildNodes();
69
70
  return debug_1.Shadow.run(() => {
@@ -7,7 +7,6 @@ import type { AtomToken, SyntaxToken, TranscludeToken } from '../internal';
7
7
  * @classdesc `{childNodes: [Token, Token]}`
8
8
  */
9
9
  export declare abstract class ParameterToken extends Token {
10
- readonly type = "parameter";
11
10
  readonly name: string;
12
11
  readonly childNodes: readonly [Token, Token];
13
12
  abstract get firstChild(): Token;
@@ -21,6 +20,7 @@ export declare abstract class ParameterToken extends Token {
21
20
  abstract get parentElement(): TranscludeToken | undefined;
22
21
  abstract get nextElementSibling(): this | undefined;
23
22
  abstract get previousElementSibling(): AtomToken | SyntaxToken | this;
23
+ get type(): 'parameter';
24
24
  /** 是否是匿名参数 */
25
25
  get anon(): boolean;
26
26
  set anon(value: boolean);
@@ -35,16 +35,10 @@ export declare abstract class ParameterToken extends Token {
35
35
  * @param value 参数值
36
36
  */
37
37
  constructor(key?: string | number, value?: string, config?: Parser.Config, accum?: Token[]);
38
- /** @override */
39
38
  text(): string;
40
39
  /** @override */
41
40
  json(): AST;
42
- /** @override */
43
41
  cloneNode(): this;
44
- /**
45
- * @override
46
- * @param token 待替换的节点
47
- */
48
42
  safeReplaceWith(token: this): void;
49
43
  /** 获取参数值 */
50
44
  getValue(): string;
@@ -69,8 +69,10 @@ let ParameterToken = (() => {
69
69
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
70
70
  __runInitializers(_classThis, _classExtraInitializers);
71
71
  }
72
- type = 'parameter';
73
72
  /* NOT FOR BROWSER END */
73
+ get type() {
74
+ return 'parameter';
75
+ }
74
76
  /** 是否是匿名参数 */
75
77
  get anon() {
76
78
  return this.firstChild.length === 0;
@@ -148,7 +150,6 @@ let ParameterToken = (() => {
148
150
  toString() {
149
151
  return this.anon ? this.lastChild.toString() : super.toString('=');
150
152
  }
151
- /** @override */
152
153
  text() {
153
154
  return this.anon ? this.lastChild.text() : super.text('=');
154
155
  }
@@ -185,7 +186,6 @@ let ParameterToken = (() => {
185
186
  return json;
186
187
  }
187
188
  /* NOT FOR BROWSER */
188
- /** @override */
189
189
  cloneNode() {
190
190
  const [key, value] = this.cloneChildNodes(), config = this.getAttribute('config');
191
191
  return debug_1.Shadow.run(() => {
@@ -199,10 +199,6 @@ let ParameterToken = (() => {
199
199
  return token;
200
200
  });
201
201
  }
202
- /**
203
- * @override
204
- * @param token 待替换的节点
205
- */
206
202
  safeReplaceWith(token) {
207
203
  index_1.default.warn(`${this.constructor.name}.safeReplaceWith regress to AstNode.replaceWith.`);
208
204
  this.replaceWith(token);
package/dist/src/pre.d.ts CHANGED
@@ -8,7 +8,6 @@ import type { AstText, AttributesToken, ExtToken, ConverterToken } from '../inte
8
8
  * @classdesc `{childNodes: [...AstText|NoincludeToken|ConverterToken]}`
9
9
  */
10
10
  export declare abstract class PreToken extends Token {
11
- readonly type = "ext-inner";
12
11
  readonly name: 'pre';
13
12
  readonly childNodes: readonly (AstText | NoincludeToken | ConverterToken)[];
14
13
  abstract get firstChild(): AstText | NoincludeToken | ConverterToken | undefined;
@@ -22,8 +21,8 @@ export declare abstract class PreToken extends Token {
22
21
  abstract get previousElementSibling(): AttributesToken;
23
22
  abstract get nextElementSibling(): undefined;
24
23
  abstract get parentElement(): ExtToken | undefined;
24
+ get type(): 'ext-inner';
25
25
  /** @class */
26
26
  constructor(wikitext?: string, config?: Parser.Config, accum?: Token[]);
27
- /** @override */
28
27
  cloneNode(): this;
29
28
  }
package/dist/src/pre.js CHANGED
@@ -11,8 +11,10 @@ const noinclude_1 = require("./nowiki/noinclude");
11
11
  * @classdesc `{childNodes: [...AstText|NoincludeToken|ConverterToken]}`
12
12
  */
13
13
  class PreToken extends index_2.Token {
14
- type = 'ext-inner';
15
14
  /* NOT FOR BROWSER END */
15
+ get type() {
16
+ return 'ext-inner';
17
+ }
16
18
  /** @class */
17
19
  constructor(wikitext, config = index_1.default.getConfig(), accum = []) {
18
20
  if (wikitext) {
@@ -44,7 +46,6 @@ class PreToken extends index_2.Token {
44
46
  return super.lint(start, /<\s*\/\s*(pre)\b/giu);
45
47
  }
46
48
  /* NOT FOR BROWSER */
47
- /** @override */
48
49
  cloneNode() {
49
50
  const cloned = this.cloneChildNodes();
50
51
  return debug_1.Shadow.run(() => {