wikiparser-node 1.0.0-beta.2 → 1.0.0-beta.4

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 (127) hide show
  1. package/config/minimum.json +136 -0
  2. package/dist/index.d.ts +1 -1
  3. package/dist/index.js +4 -4
  4. package/dist/internal.d.ts +1 -1
  5. package/dist/lib/element.d.ts +12 -8
  6. package/dist/lib/element.js +72 -57
  7. package/dist/lib/node.js +4 -5
  8. package/dist/lib/range.js +5 -8
  9. package/dist/lib/ranges.js +2 -2
  10. package/dist/lib/text.d.ts +2 -2
  11. package/dist/lib/text.js +5 -5
  12. package/dist/lib/title.d.ts +3 -2
  13. package/dist/lib/title.js +11 -10
  14. package/dist/mixin/attributesParent.js +2 -2
  15. package/dist/mixin/fixed.js +3 -3
  16. package/dist/mixin/hidden.js +2 -2
  17. package/dist/mixin/singleLine.js +4 -4
  18. package/dist/mixin/sol.js +6 -6
  19. package/dist/parser/braces.js +4 -9
  20. package/dist/parser/commentAndExt.js +24 -18
  21. package/dist/parser/converter.js +8 -7
  22. package/dist/parser/externalLinks.js +3 -4
  23. package/dist/parser/hrAndDoubleUnderscore.js +4 -7
  24. package/dist/parser/html.js +4 -7
  25. package/dist/parser/links.js +4 -5
  26. package/dist/parser/list.js +3 -6
  27. package/dist/parser/magicLinks.js +3 -3
  28. package/dist/parser/quotes.js +4 -5
  29. package/dist/parser/selector.js +4 -7
  30. package/dist/parser/table.js +6 -15
  31. package/dist/src/arg.d.ts +6 -5
  32. package/dist/src/arg.js +31 -27
  33. package/dist/src/atom.d.ts +2 -1
  34. package/dist/src/atom.js +4 -4
  35. package/dist/src/attribute.d.ts +14 -13
  36. package/dist/src/attribute.js +41 -31
  37. package/dist/src/attributes.d.ts +4 -3
  38. package/dist/src/attributes.js +15 -21
  39. package/dist/src/converter.d.ts +4 -3
  40. package/dist/src/converter.js +10 -17
  41. package/dist/src/converterFlags.d.ts +9 -8
  42. package/dist/src/converterFlags.js +14 -15
  43. package/dist/src/converterRule.d.ts +4 -3
  44. package/dist/src/converterRule.js +20 -22
  45. package/dist/src/extLink.d.ts +5 -4
  46. package/dist/src/extLink.js +16 -17
  47. package/dist/src/gallery.d.ts +7 -5
  48. package/dist/src/gallery.js +15 -19
  49. package/dist/src/heading.d.ts +12 -10
  50. package/dist/src/heading.js +17 -18
  51. package/dist/src/hidden.d.ts +4 -3
  52. package/dist/src/hidden.js +4 -4
  53. package/dist/src/html.d.ts +17 -15
  54. package/dist/src/html.js +25 -23
  55. package/dist/src/imageParameter.d.ts +5 -4
  56. package/dist/src/imageParameter.js +22 -23
  57. package/dist/src/imagemap.d.ts +7 -5
  58. package/dist/src/imagemap.js +14 -19
  59. package/dist/src/imagemapLink.d.ts +8 -7
  60. package/dist/src/imagemapLink.js +4 -8
  61. package/dist/src/index.d.ts +2 -1
  62. package/dist/src/index.js +48 -46
  63. package/dist/src/link/base.d.ts +5 -4
  64. package/dist/src/link/base.js +26 -28
  65. package/dist/src/link/category.d.ts +1 -1
  66. package/dist/src/link/category.js +3 -2
  67. package/dist/src/link/file.d.ts +5 -4
  68. package/dist/src/link/file.js +22 -20
  69. package/dist/src/link/galleryImage.d.ts +5 -5
  70. package/dist/src/link/galleryImage.js +11 -10
  71. package/dist/src/link/index.d.ts +1 -1
  72. package/dist/src/link/index.js +8 -6
  73. package/dist/src/magicLink.d.ts +3 -2
  74. package/dist/src/magicLink.js +10 -11
  75. package/dist/src/nested.d.ts +4 -2
  76. package/dist/src/nested.js +5 -9
  77. package/dist/src/nowiki/base.d.ts +6 -5
  78. package/dist/src/nowiki/base.js +4 -4
  79. package/dist/src/nowiki/comment.d.ts +6 -5
  80. package/dist/src/nowiki/comment.js +8 -10
  81. package/dist/src/nowiki/dd.d.ts +1 -1
  82. package/dist/src/nowiki/dd.js +3 -2
  83. package/dist/src/nowiki/doubleUnderscore.d.ts +8 -6
  84. package/dist/src/nowiki/doubleUnderscore.js +13 -13
  85. package/dist/src/nowiki/hr.d.ts +2 -8
  86. package/dist/src/nowiki/hr.js +4 -11
  87. package/dist/src/nowiki/index.d.ts +2 -1
  88. package/dist/src/nowiki/index.js +6 -5
  89. package/dist/src/nowiki/list.d.ts +4 -4
  90. package/dist/src/nowiki/list.js +3 -2
  91. package/dist/src/nowiki/noinclude.d.ts +2 -2
  92. package/dist/src/nowiki/noinclude.js +3 -2
  93. package/dist/src/nowiki/quote.d.ts +1 -8
  94. package/dist/src/nowiki/quote.js +25 -17
  95. package/dist/src/onlyinclude.d.ts +5 -4
  96. package/dist/src/onlyinclude.js +13 -13
  97. package/dist/src/paramTag/index.d.ts +5 -3
  98. package/dist/src/paramTag/index.js +7 -7
  99. package/dist/src/paramTag/inputbox.d.ts +3 -2
  100. package/dist/src/paramTag/inputbox.js +6 -5
  101. package/dist/src/parameter.d.ts +11 -10
  102. package/dist/src/parameter.js +29 -30
  103. package/dist/src/pre.d.ts +4 -2
  104. package/dist/src/pre.js +19 -14
  105. package/dist/src/syntax.d.ts +2 -1
  106. package/dist/src/syntax.js +7 -7
  107. package/dist/src/table/base.d.ts +6 -5
  108. package/dist/src/table/base.js +6 -8
  109. package/dist/src/table/index.d.ts +9 -8
  110. package/dist/src/table/index.js +23 -24
  111. package/dist/src/table/td.d.ts +12 -10
  112. package/dist/src/table/td.js +19 -20
  113. package/dist/src/table/tr.d.ts +3 -2
  114. package/dist/src/table/tr.js +4 -3
  115. package/dist/src/table/trBase.d.ts +3 -3
  116. package/dist/src/table/trBase.js +10 -10
  117. package/dist/src/tagPair/ext.d.ts +7 -6
  118. package/dist/src/tagPair/ext.js +5 -17
  119. package/dist/src/tagPair/include.d.ts +5 -5
  120. package/dist/src/tagPair/include.js +4 -5
  121. package/dist/src/tagPair/index.d.ts +7 -7
  122. package/dist/src/tagPair/index.js +13 -19
  123. package/dist/src/transclude.d.ts +10 -9
  124. package/dist/src/transclude.js +41 -46
  125. package/dist/util/lint.js +14 -4
  126. package/dist/util/string.js +21 -20
  127. package/package.json +11 -9
@@ -1,9 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.DdToken = void 0;
4
- const index_1 = require("../../index");
4
+ const Parser = require("../../index");
5
5
  const base_1 = require("./base");
6
6
  /** `:` */
7
+ // @ts-expect-error not implementing all abstract methods
7
8
  class DdToken extends base_1.NowikiBaseToken {
8
9
  /** @browser */
9
10
  type = 'dd';
@@ -43,4 +44,4 @@ class DdToken extends base_1.NowikiBaseToken {
43
44
  }
44
45
  }
45
46
  exports.DdToken = DdToken;
46
- index_1.default.classes['DdToken'] = __filename;
47
+ Parser.classes['DdToken'] = __filename;
@@ -1,29 +1,31 @@
1
+ import * as Parser from '../../index';
1
2
  import { NowikiBaseToken } from './base';
2
3
  import type { Token } from '..';
3
4
  declare const DoubleUnderscoreToken_base: ((abstract new (...args: any[]) => {
5
+ text(): string;
4
6
  length: number;
5
- toString(selector?: string | undefined, separator?: string | undefined): string;
7
+ toString(omit?: Set<string> | undefined, separator?: string | undefined): string;
6
8
  insertAt(token: unknown, i?: number | undefined): unknown;
7
9
  }) & {
8
10
  readonly hidden: true;
9
11
  }) & typeof NowikiBaseToken;
10
12
  /** 状态开关 */
11
- export declare abstract class DoubleUnderscoreToken extends DoubleUnderscoreToken_base {
13
+ export declare class DoubleUnderscoreToken extends DoubleUnderscoreToken_base {
12
14
  /** @browser */
13
15
  readonly type = "double-underscore";
14
16
  name: string;
17
+ /** @param word 状态开关名 */
18
+ constructor(word: string, config?: Parser.Config, accum?: Token[]);
15
19
  /**
16
20
  * @override
17
21
  * @browser
18
22
  */
19
- print(): string;
23
+ toString(omit?: Set<string>): string;
20
24
  /**
21
25
  * @override
22
26
  * @browser
23
27
  */
24
- toString(selector?: string): string;
25
- /** @param word 状态开关名 */
26
- constructor(word: string, config?: import("../../index").Config, accum?: Token[]);
28
+ print(): string;
27
29
  /** @override */
28
30
  cloneNode(): this;
29
31
  /**
@@ -2,12 +2,18 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.DoubleUnderscoreToken = void 0;
4
4
  const hidden_1 = require("../../mixin/hidden");
5
- const index_1 = require("../../index");
5
+ const Parser = require("../../index");
6
6
  const base_1 = require("./base");
7
7
  /** 状态开关 */
8
+ // @ts-expect-error not implementing all abstract methods
8
9
  class DoubleUnderscoreToken extends (0, hidden_1.hidden)(base_1.NowikiBaseToken) {
9
10
  /** @browser */
10
11
  type = 'double-underscore';
12
+ /** @param word 状态开关名 */
13
+ constructor(word, config = Parser.getConfig(), accum = []) {
14
+ super(word, config, accum);
15
+ this.setAttribute('name', word.toLowerCase());
16
+ }
11
17
  /** @private */
12
18
  getPadding() {
13
19
  return 2;
@@ -16,25 +22,19 @@ class DoubleUnderscoreToken extends (0, hidden_1.hidden)(base_1.NowikiBaseToken)
16
22
  * @override
17
23
  * @browser
18
24
  */
19
- print() {
20
- return super.print({ pre: '__', post: '__' });
25
+ toString(omit) {
26
+ return omit && this.matchesTypes(omit) ? '' : `__${this.firstChild.data}__`;
21
27
  }
22
28
  /**
23
29
  * @override
24
30
  * @browser
25
31
  */
26
- toString(selector) {
27
- return selector && this.matches(selector) ? '' : `__${this.firstChild.data}__`;
28
- }
29
- /** @param word 状态开关名 */
30
- constructor(word, config = index_1.default.getConfig(), accum = []) {
31
- super(word, config, accum);
32
- this.setAttribute('name', word.toLowerCase());
32
+ print() {
33
+ return super.print({ pre: '__', post: '__' });
33
34
  }
34
35
  /** @override */
35
36
  cloneNode() {
36
- // @ts-expect-error abstract class
37
- return index_1.default.run(() => new DoubleUnderscoreToken(this.firstChild.data, this.getAttribute('config')));
37
+ return Parser.run(() => new DoubleUnderscoreToken(this.firstChild.data, this.getAttribute('config')));
38
38
  }
39
39
  /**
40
40
  * @override
@@ -45,4 +45,4 @@ class DoubleUnderscoreToken extends (0, hidden_1.hidden)(base_1.NowikiBaseToken)
45
45
  }
46
46
  }
47
47
  exports.DoubleUnderscoreToken = DoubleUnderscoreToken;
48
- index_1.default.classes['DoubleUnderscoreToken'] = __filename;
48
+ Parser.classes['DoubleUnderscoreToken'] = __filename;
@@ -1,23 +1,17 @@
1
1
  import { NowikiBaseToken } from './base';
2
- import type { Token } from '..';
3
2
  declare const HrToken_base: (abstract new (...args: any[]) => {
4
3
  "__#7@#isRoot"(): boolean;
5
4
  prependNewLine(): string;
6
- toString(selector?: string | undefined): string;
5
+ toString(omit?: Set<string> | undefined): string;
7
6
  getPadding(): number;
8
7
  text(): string;
9
8
  length: number;
10
9
  insertAt(token: unknown, i?: number | undefined): unknown;
11
10
  }) & typeof NowikiBaseToken;
12
11
  /** `<hr>` */
13
- export declare abstract class HrToken extends HrToken_base {
12
+ export declare class HrToken extends HrToken_base {
14
13
  /** @browser */
15
14
  readonly type = "hr";
16
- /**
17
- * @browser
18
- * @param n 字符串长度
19
- */
20
- constructor(n: number, config?: import("../../index").Config, accum?: Token[]);
21
15
  /** @override */
22
16
  cloneNode(): this;
23
17
  /**
@@ -2,23 +2,16 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.HrToken = void 0;
4
4
  const sol_1 = require("../../mixin/sol");
5
- const index_1 = require("../../index");
5
+ const Parser = require("../../index");
6
6
  const base_1 = require("./base");
7
7
  /** `<hr>` */
8
+ // @ts-expect-error not implementing all abstract methods
8
9
  class HrToken extends (0, sol_1.sol)(base_1.NowikiBaseToken) {
9
10
  /** @browser */
10
11
  type = 'hr';
11
- /**
12
- * @browser
13
- * @param n 字符串长度
14
- */
15
- constructor(n, config = index_1.default.getConfig(), accum = []) {
16
- super('-'.repeat(n), config, accum);
17
- }
18
12
  /** @override */
19
13
  cloneNode() {
20
- // @ts-expect-error abstract class
21
- return index_1.default.run(() => new HrToken(this.firstChild.data.length, this.getAttribute('config')));
14
+ return Parser.run(() => new HrToken(this.firstChild.data, this.getAttribute('config')));
22
15
  }
23
16
  /**
24
17
  * @override
@@ -33,4 +26,4 @@ class HrToken extends (0, sol_1.sol)(base_1.NowikiBaseToken) {
33
26
  }
34
27
  }
35
28
  exports.HrToken = HrToken;
36
- index_1.default.classes['HrToken'] = __filename;
29
+ Parser.classes['HrToken'] = __filename;
@@ -2,9 +2,10 @@ import { NowikiBaseToken } from './base';
2
2
  import type { LintError } from '../../index';
3
3
  import type { AttributesToken, ExtToken } from '../../internal';
4
4
  /** 扩展标签内的纯文字Token */
5
- export declare abstract class NowikiToken extends NowikiBaseToken {
5
+ export declare class NowikiToken extends NowikiBaseToken {
6
6
  /** @browser */
7
7
  readonly type = "ext-inner";
8
+ name: string;
8
9
  abstract get nextSibling(): undefined;
9
10
  abstract get nextElementSibling(): undefined;
10
11
  abstract get previousSibling(): AttributesToken;
@@ -2,9 +2,10 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.NowikiToken = void 0;
4
4
  const lint_1 = require("../../util/lint");
5
- const index_1 = require("../../index");
5
+ const Parser = require("../../index");
6
6
  const base_1 = require("./base");
7
7
  /** 扩展标签内的纯文字Token */
8
+ // @ts-expect-error not implementing all abstract methods
8
9
  class NowikiToken extends base_1.NowikiBaseToken {
9
10
  /** @browser */
10
11
  type = 'ext-inner';
@@ -13,11 +14,11 @@ class NowikiToken extends base_1.NowikiBaseToken {
13
14
  * @browser
14
15
  */
15
16
  lint(start = this.getAbsoluteIndex()) {
16
- const { name } = this;
17
- return (name === 'templatestyles' || name === 'section') && this.firstChild.data
18
- ? [(0, lint_1.generateForSelf)(this, { start }, index_1.default.msg('nothing should be in <$1>', name))]
17
+ const { name, firstChild } = this;
18
+ return (name === 'templatestyles' || name === 'section') && firstChild.data
19
+ ? [(0, lint_1.generateForSelf)(this, { start }, Parser.msg('nothing should be in <$1>', name))]
19
20
  : super.lint(start);
20
21
  }
21
22
  }
22
23
  exports.NowikiToken = NowikiToken;
23
- index_1.default.classes['NowikiToken'] = __filename;
24
+ Parser.classes['NowikiToken'] = __filename;
@@ -1,15 +1,15 @@
1
- import { DdToken } from './dd';
1
+ import * as Parser from '../../index';
2
2
  declare const ListToken_base: (abstract new (...args: any[]) => {
3
3
  "__#7@#isRoot"(): boolean;
4
4
  prependNewLine(): string;
5
- toString(selector?: string | undefined): string;
5
+ toString(omit?: Set<string> | undefined): string;
6
6
  getPadding(): number;
7
7
  text(): string;
8
8
  length: number;
9
9
  insertAt(token: unknown, i?: number | undefined): unknown;
10
- }) & typeof DdToken;
10
+ }) & typeof Parser.DdToken;
11
11
  /** 位于行首的`;:*#` */
12
- export declare abstract class ListToken extends ListToken_base {
12
+ export declare class ListToken extends ListToken_base {
13
13
  /** @browser */
14
14
  readonly type = "list";
15
15
  }
@@ -2,12 +2,13 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ListToken = void 0;
4
4
  const sol_1 = require("../../mixin/sol");
5
- const index_1 = require("../../index");
5
+ const Parser = require("../../index");
6
6
  const dd_1 = require("./dd");
7
7
  /** 位于行首的`;:*#` */
8
+ // @ts-expect-error not implementing all abstract methods
8
9
  class ListToken extends (0, sol_1.sol)(dd_1.DdToken) {
9
10
  /** @browser */
10
11
  type = 'list';
11
12
  }
12
13
  exports.ListToken = ListToken;
13
- index_1.default.classes['ListToken'] = __filename;
14
+ Parser.classes['ListToken'] = __filename;
@@ -2,13 +2,13 @@ import { NowikiBaseToken } from './base';
2
2
  declare const NoincludeToken_base: ((abstract new (...args: any[]) => {
3
3
  text(): string;
4
4
  length: number;
5
- toString(selector?: string | undefined, separator?: string | undefined): string;
5
+ toString(omit?: Set<string> | undefined, separator?: string | undefined): string;
6
6
  insertAt(token: unknown, i?: number | undefined): unknown;
7
7
  }) & {
8
8
  readonly hidden: true;
9
9
  }) & typeof NowikiBaseToken;
10
10
  /** `<noinclude>`和`</noinclude>`,不可进行任何更改 */
11
- export declare abstract class NoincludeToken extends NoincludeToken_base {
11
+ export declare class NoincludeToken extends NoincludeToken_base {
12
12
  /** @browser */
13
13
  readonly type = "noinclude";
14
14
  /**
@@ -2,9 +2,10 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.NoincludeToken = void 0;
4
4
  const hidden_1 = require("../../mixin/hidden");
5
- const index_1 = require("../../index");
5
+ const Parser = require("../../index");
6
6
  const base_1 = require("./base");
7
7
  /** `<noinclude>`和`</noinclude>`,不可进行任何更改 */
8
+ // @ts-expect-error not implementing all abstract methods
8
9
  class NoincludeToken extends (0, hidden_1.hidden)(base_1.NowikiBaseToken) {
9
10
  /** @browser */
10
11
  type = 'noinclude';
@@ -21,4 +22,4 @@ class NoincludeToken extends (0, hidden_1.hidden)(base_1.NowikiBaseToken) {
21
22
  }
22
23
  }
23
24
  exports.NoincludeToken = NoincludeToken;
24
- index_1.default.classes['NoincludeToken'] = __filename;
25
+ Parser.classes['NoincludeToken'] = __filename;
@@ -1,16 +1,9 @@
1
1
  import { NowikiBaseToken } from './base';
2
2
  import type { LintError } from '../../index';
3
- import type { Token } from '..';
4
3
  /** `''`和`'''` */
5
- export declare abstract class QuoteToken extends NowikiBaseToken {
4
+ export declare class QuoteToken extends NowikiBaseToken {
6
5
  /** @browser */
7
6
  readonly type = "quote";
8
- name: string;
9
- /**
10
- * @browser
11
- * @param n 字符串长度
12
- */
13
- constructor(n: number, config?: import("../../index").Config, accum?: Token[]);
14
7
  /**
15
8
  * @override
16
9
  * @browser
@@ -2,45 +2,53 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.QuoteToken = void 0;
4
4
  const lint_1 = require("../../util/lint");
5
- const index_1 = require("../../index");
5
+ const Parser = require("../../index");
6
6
  const base_1 = require("./base");
7
7
  /** `''`和`'''` */
8
+ // @ts-expect-error not implementing all abstract methods
8
9
  class QuoteToken extends base_1.NowikiBaseToken {
9
10
  /** @browser */
10
11
  type = 'quote';
11
- /**
12
- * @browser
13
- * @param n 字符串长度
14
- */
15
- constructor(n, config = index_1.default.getConfig(), accum = []) {
16
- super(`'`.repeat(n), config, accum);
17
- this.setAttribute('name', String(n));
18
- }
19
12
  /**
20
13
  * @override
21
14
  * @browser
22
15
  */
23
16
  lint(start = this.getAbsoluteIndex()) {
24
- const { previousSibling, nextSibling } = this, message = index_1.default.msg('lonely "$1"', `'`), errors = [];
17
+ const { previousSibling, nextSibling } = this, message = Parser.msg('lonely "$1"', `'`), errors = [];
25
18
  let refError, wikitext;
26
19
  if (previousSibling?.type === 'text' && previousSibling.data.endsWith(`'`)) {
27
20
  refError = (0, lint_1.generateForSelf)(this, { start }, message);
28
21
  wikitext = String(this.getRootNode());
29
- const { startIndex: endIndex, startLine: endLine, startCol: endCol } = refError, [{ length }] = previousSibling.data.match(/(?<!')'+$/u), startIndex = start - length, excerpt = wikitext.slice(startIndex, startIndex + 50);
30
- errors.push({ ...refError, startIndex, endIndex, startCol: endCol - length, endLine, endCol, excerpt });
22
+ const { startIndex: endIndex, startLine: endLine, startCol: endCol } = refError, [{ length }] = previousSibling.data.match(/(?<!')'+$/u), startIndex = start - length;
23
+ errors.push({
24
+ ...refError,
25
+ startIndex,
26
+ endIndex,
27
+ startCol: endCol - length,
28
+ endLine,
29
+ endCol,
30
+ excerpt: wikitext.slice(startIndex, startIndex + 50),
31
+ });
31
32
  }
32
33
  if (nextSibling?.type === 'text' && nextSibling.data.startsWith(`'`)) {
33
34
  refError ??= (0, lint_1.generateForSelf)(this, { start }, message);
34
35
  wikitext ??= String(this.getRootNode());
35
- const { endIndex: startIndex, endLine: startLine, endCol: startCol } = refError, [{ length }] = nextSibling.data.match(/^'+/u), endIndex = startIndex + length, excerpt = wikitext.slice(Math.max(0, endIndex - 50), endIndex);
36
- errors.push({ ...refError, startIndex, endIndex, startLine, startCol, endCol: startCol + length, excerpt });
36
+ const { endIndex: startIndex, endLine: startLine, endCol: startCol } = refError, [{ length }] = nextSibling.data.match(/^'+/u), endIndex = startIndex + length;
37
+ errors.push({
38
+ ...refError,
39
+ startIndex,
40
+ endIndex,
41
+ startLine,
42
+ startCol,
43
+ endCol: startCol + length,
44
+ excerpt: wikitext.slice(Math.max(0, endIndex - 50), endIndex),
45
+ });
37
46
  }
38
47
  return errors;
39
48
  }
40
49
  /** @override */
41
50
  cloneNode() {
42
- // @ts-expect-error abstract class
43
- return index_1.default.run(() => new QuoteToken(Number(this.name), this.getAttribute('config')));
51
+ return Parser.run(() => new QuoteToken(this.firstChild.data, this.getAttribute('config')));
44
52
  }
45
53
  /**
46
54
  * @override
@@ -55,4 +63,4 @@ class QuoteToken extends base_1.NowikiBaseToken {
55
63
  }
56
64
  }
57
65
  exports.QuoteToken = QuoteToken;
58
- index_1.default.classes['QuoteToken'] = __filename;
66
+ Parser.classes['QuoteToken'] = __filename;
@@ -1,3 +1,4 @@
1
+ import * as Parser from '../index';
1
2
  import { Token } from '.';
2
3
  /**
3
4
  * 嵌入时的`<onlyinclude>`
@@ -12,12 +13,12 @@ export declare class OnlyincludeToken extends Token {
12
13
  * @browser
13
14
  * @param inner 标签内部wikitext
14
15
  */
15
- constructor(inner?: string, config?: import("../index").Config, accum?: Token[]);
16
+ constructor(inner?: string, config?: Parser.Config, accum?: Token[]);
16
17
  /**
17
18
  * @override
18
19
  * @browser
19
20
  */
20
- toString(selector?: string): string;
21
+ toString(omit?: Set<string>): string;
21
22
  /**
22
23
  * @override
23
24
  * @browser
@@ -27,12 +28,12 @@ export declare class OnlyincludeToken extends Token {
27
28
  * @override
28
29
  * @browser
29
30
  */
30
- print(): string;
31
+ isPlain(): boolean;
31
32
  /**
32
33
  * @override
33
34
  * @browser
34
35
  */
35
- isPlain(): boolean;
36
+ print(): string;
36
37
  /** @override */
37
38
  cloneNode(): this;
38
39
  }
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.OnlyincludeToken = void 0;
4
- const index_1 = require("../index");
4
+ const Parser = require("../index");
5
5
  const _1 = require(".");
6
6
  /**
7
7
  * 嵌入时的`<onlyinclude>`
@@ -18,15 +18,15 @@ class OnlyincludeToken extends _1.Token {
18
18
  * @browser
19
19
  * @param inner 标签内部wikitext
20
20
  */
21
- constructor(inner, config = index_1.default.getConfig(), accum = []) {
21
+ constructor(inner, config = Parser.getConfig(), accum = []) {
22
22
  super(inner, config, true, accum);
23
23
  }
24
24
  /**
25
25
  * @override
26
26
  * @browser
27
27
  */
28
- toString(selector) {
29
- return selector && this.matches(selector) ? '' : `<onlyinclude>${super.toString(selector)}</onlyinclude>`;
28
+ toString(omit) {
29
+ return omit && this.matchesTypes(omit) ? '' : `<onlyinclude>${super.toString(omit)}</onlyinclude>`;
30
30
  }
31
31
  /**
32
32
  * @override
@@ -39,23 +39,23 @@ class OnlyincludeToken extends _1.Token {
39
39
  * @override
40
40
  * @browser
41
41
  */
42
- print() {
43
- return super.print({
44
- pre: '<span class="wpb-ext">&lt;onlyinclude&gt;</span>',
45
- post: '<span class="wpb-ext">&lt;/onlyinclude&gt;</span>',
46
- });
42
+ isPlain() {
43
+ return true;
47
44
  }
48
45
  /**
49
46
  * @override
50
47
  * @browser
51
48
  */
52
- isPlain() {
53
- return true;
49
+ print() {
50
+ return super.print({
51
+ pre: '<span class="wpb-ext">&lt;onlyinclude&gt;</span>',
52
+ post: '<span class="wpb-ext">&lt;/onlyinclude&gt;</span>',
53
+ });
54
54
  }
55
55
  /** @override */
56
56
  cloneNode() {
57
57
  const cloned = this.cloneChildNodes();
58
- return index_1.default.run(() => {
58
+ return Parser.run(() => {
59
59
  const token = new OnlyincludeToken(undefined, this.getAttribute('config'));
60
60
  token.append(...cloned);
61
61
  return token;
@@ -63,4 +63,4 @@ class OnlyincludeToken extends _1.Token {
63
63
  }
64
64
  }
65
65
  exports.OnlyincludeToken = OnlyincludeToken;
66
- index_1.default.classes['OnlyincludeToken'] = __filename;
66
+ Parser.classes['OnlyincludeToken'] = __filename;
@@ -1,3 +1,4 @@
1
+ import * as Parser from '../../index';
1
2
  import { Token } from '..';
2
3
  import { AtomToken } from '../atom';
3
4
  import type { LintError } from '../../index';
@@ -6,9 +7,10 @@ import type { AttributesToken, ExtToken } from '../../internal';
6
7
  * `<dynamicpagelist>`
7
8
  * @classdesc `{childNodes: ...AtomToken}`
8
9
  */
9
- export declare abstract class ParamTagToken extends Token {
10
+ export declare class ParamTagToken extends Token {
10
11
  /** @browser */
11
12
  readonly type = "ext-inner";
13
+ name: string;
12
14
  childNodes: AtomToken[];
13
15
  abstract get children(): AtomToken[];
14
16
  abstract get firstChild(): AtomToken | undefined;
@@ -22,12 +24,12 @@ export declare abstract class ParamTagToken extends Token {
22
24
  abstract get parentNode(): ExtToken | undefined;
23
25
  abstract get parentElement(): ExtToken | undefined;
24
26
  /** @browser */
25
- constructor(wikitext?: string, config?: import("../../index").Config, accum?: Token[], acceptable?: Acceptable);
27
+ constructor(wikitext?: string, config?: Parser.Config, accum?: Token[], acceptable?: Acceptable);
26
28
  /**
27
29
  * @override
28
30
  * @browser
29
31
  */
30
- toString(selector?: string): string;
32
+ toString(omit?: Set<string>): string;
31
33
  /**
32
34
  * @override
33
35
  * @browser
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ParamTagToken = void 0;
4
4
  const lint_1 = require("../../util/lint");
5
5
  const singleLine_1 = require("../../mixin/singleLine");
6
- const index_1 = require("../../index");
6
+ const Parser = require("../../index");
7
7
  const __1 = require("..");
8
8
  const atom_1 = require("../atom");
9
9
  /**
@@ -14,7 +14,7 @@ class ParamTagToken extends __1.Token {
14
14
  /** @browser */
15
15
  type = 'ext-inner';
16
16
  /** @browser */
17
- constructor(wikitext, config = index_1.default.getConfig(), accum = [], acceptable = {}) {
17
+ constructor(wikitext, config = Parser.getConfig(), accum = [], acceptable = {}) {
18
18
  super(undefined, config, true, accum, {
19
19
  SingleLineAtomToken: ':',
20
20
  });
@@ -29,8 +29,8 @@ class ParamTagToken extends __1.Token {
29
29
  * @override
30
30
  * @browser
31
31
  */
32
- toString(selector) {
33
- return super.toString(selector, '\n');
32
+ toString(omit) {
33
+ return super.toString(omit, '\n');
34
34
  }
35
35
  /**
36
36
  * @override
@@ -61,13 +61,13 @@ class ParamTagToken extends __1.Token {
61
61
  return str && !(i >= 0 ? /^[a-z]+(?:\[\])?\s*(?:=|$)/iu : /^[a-z]+(?:\[\])?\s*=/iu).test(str);
62
62
  }).map(child => {
63
63
  rect ??= { start, ...this.getRootNode().posFromIndex(start) };
64
- return (0, lint_1.generateForChild)(child, rect, index_1.default.msg('invalid parameter of $1', this.name));
64
+ return (0, lint_1.generateForChild)(child, rect, Parser.msg('invalid parameter of $1', this.name));
65
65
  });
66
66
  }
67
67
  /** @override */
68
68
  cloneNode() {
69
69
  const cloned = this.cloneChildNodes();
70
- return index_1.default.run(() => {
70
+ return Parser.run(() => {
71
71
  const token = new this.constructor(undefined, this.getAttribute('config'));
72
72
  token.append(...cloned);
73
73
  return token;
@@ -75,4 +75,4 @@ class ParamTagToken extends __1.Token {
75
75
  }
76
76
  }
77
77
  exports.ParamTagToken = ParamTagToken;
78
- index_1.default.classes['ParamTagToken'] = __filename;
78
+ Parser.classes['ParamTagToken'] = __filename;
@@ -1,7 +1,8 @@
1
+ import * as Parser from '../../index';
1
2
  import { ParamTagToken } from '.';
2
3
  import type { Token } from '..';
3
4
  /** `<inputbox>` */
4
- export declare abstract class InputboxToken extends ParamTagToken {
5
+ export declare class InputboxToken extends ParamTagToken {
5
6
  /** @browser */
6
- constructor(wikitext?: string, config?: import("../../index").Config, accum?: Token[]);
7
+ constructor(wikitext?: string, config?: Parser.Config, accum?: Token[]);
7
8
  }
@@ -2,20 +2,21 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.InputboxToken = void 0;
4
4
  const braces_1 = require("../../parser/braces");
5
- const index_1 = require("../../index");
5
+ const Parser = require("../../index");
6
6
  const _1 = require(".");
7
7
  /** `<inputbox>` */
8
+ // @ts-expect-error not implementing all abstract methods
8
9
  class InputboxToken extends _1.ParamTagToken {
9
10
  /** @browser */
10
- constructor(wikitext, config = index_1.default.getConfig(), accum = []) {
11
+ constructor(wikitext, config = Parser.getConfig(), accum = []) {
11
12
  const placeholder = Symbol('InputboxToken');
12
13
  accum.push(placeholder);
13
- const text = wikitext && (0, braces_1.parseBraces)(wikitext, config, accum);
14
+ wikitext &&= (0, braces_1.parseBraces)(wikitext, config, accum);
14
15
  accum.splice(accum.indexOf(placeholder), 1);
15
- super(text, config, accum, {
16
+ super(wikitext, config, accum, {
16
17
  ArgToken: ':', TranscludeToken: ':',
17
18
  });
18
19
  }
19
20
  }
20
21
  exports.InputboxToken = InputboxToken;
21
- index_1.default.classes['InputboxToken'] = __filename;
22
+ Parser.classes['InputboxToken'] = __filename;