wikiparser-node 1.3.9 → 1.4.0

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 (85) hide show
  1. package/dist/base.d.ts +3 -1
  2. package/dist/lib/element.d.ts +10 -11
  3. package/dist/lib/element.js +34 -21
  4. package/dist/lib/node.d.ts +2 -3
  5. package/dist/lib/node.js +4 -4
  6. package/dist/lib/range.d.ts +2 -3
  7. package/dist/lib/ranges.d.ts +2 -3
  8. package/dist/lib/text.d.ts +0 -1
  9. package/dist/lib/title.d.ts +0 -1
  10. package/dist/mixin/attributesParent.d.ts +80 -0
  11. package/dist/mixin/fixed.d.ts +31 -0
  12. package/dist/mixin/fixed.js +8 -5
  13. package/dist/mixin/flagsParent.d.ts +61 -0
  14. package/dist/mixin/hidden.d.ts +18 -0
  15. package/dist/mixin/hidden.js +4 -5
  16. package/dist/mixin/magicLinkParent.d.ts +34 -0
  17. package/dist/mixin/singleLine.d.ts +14 -0
  18. package/dist/mixin/sol.d.ts +18 -0
  19. package/dist/mixin/syntax.d.ts +19 -0
  20. package/dist/parser/hrAndDoubleUnderscore.js +3 -3
  21. package/dist/src/arg.d.ts +1 -2
  22. package/dist/src/attribute.d.ts +3 -21
  23. package/dist/src/attribute.js +1 -1
  24. package/dist/src/attributes.d.ts +2 -3
  25. package/dist/src/converter.d.ts +3 -21
  26. package/dist/src/converterFlags.d.ts +2 -3
  27. package/dist/src/converterRule.d.ts +1 -1
  28. package/dist/src/extLink.d.ts +3 -22
  29. package/dist/src/gallery.d.ts +2 -3
  30. package/dist/src/heading.d.ts +6 -33
  31. package/dist/src/heading.js +1 -1
  32. package/dist/src/hidden.d.ts +1 -15
  33. package/dist/src/hidden.js +1 -1
  34. package/dist/src/html.d.ts +6 -35
  35. package/dist/src/html.js +19 -3
  36. package/dist/src/imageParameter.d.ts +2 -3
  37. package/dist/src/imageParameter.js +8 -8
  38. package/dist/src/imagemap.d.ts +2 -2
  39. package/dist/src/imagemapLink.d.ts +5 -32
  40. package/dist/src/imagemapLink.js +1 -1
  41. package/dist/src/index.d.ts +7 -8
  42. package/dist/src/link/base.d.ts +1 -2
  43. package/dist/src/link/base.js +2 -6
  44. package/dist/src/link/file.d.ts +12 -13
  45. package/dist/src/link/file.js +11 -8
  46. package/dist/src/link/galleryImage.d.ts +2 -18
  47. package/dist/src/link/galleryImage.js +1 -1
  48. package/dist/src/link/index.d.ts +4 -2
  49. package/dist/src/link/index.js +11 -0
  50. package/dist/src/magicLink.d.ts +2 -15
  51. package/dist/src/nested.d.ts +1 -2
  52. package/dist/src/nowiki/base.d.ts +3 -20
  53. package/dist/src/nowiki/base.js +1 -1
  54. package/dist/src/nowiki/comment.d.ts +1 -15
  55. package/dist/src/nowiki/comment.js +1 -1
  56. package/dist/src/nowiki/doubleUnderscore.d.ts +6 -27
  57. package/dist/src/nowiki/doubleUnderscore.js +7 -7
  58. package/dist/src/nowiki/hr.d.ts +4 -23
  59. package/dist/src/nowiki/list.d.ts +2 -15
  60. package/dist/src/nowiki/listBase.d.ts +1 -11
  61. package/dist/src/nowiki/noinclude.d.ts +1 -15
  62. package/dist/src/nowiki/noinclude.js +1 -1
  63. package/dist/src/nowiki/quote.d.ts +1 -11
  64. package/dist/src/nowiki/quote.js +9 -1
  65. package/dist/src/paramTag/index.d.ts +1 -1
  66. package/dist/src/parameter.d.ts +3 -20
  67. package/dist/src/parameter.js +1 -1
  68. package/dist/src/pre.d.ts +1 -1
  69. package/dist/src/syntax.d.ts +1 -12
  70. package/dist/src/table/base.d.ts +4 -26
  71. package/dist/src/table/index.d.ts +3 -3
  72. package/dist/src/table/index.js +1 -1
  73. package/dist/src/table/td.d.ts +3 -21
  74. package/dist/src/table/td.js +1 -1
  75. package/dist/src/table/tr.d.ts +1 -2
  76. package/dist/src/table/trBase.d.ts +0 -1
  77. package/dist/src/tagPair/ext.d.ts +3 -21
  78. package/dist/src/tagPair/include.d.ts +2 -19
  79. package/dist/src/tagPair/include.js +1 -1
  80. package/dist/src/tagPair/index.d.ts +3 -18
  81. package/dist/src/tagPair/index.js +1 -1
  82. package/dist/src/transclude.d.ts +8 -9
  83. package/i18n/zh-hans.json +1 -0
  84. package/i18n/zh-hant.json +1 -0
  85. package/package.json +4 -3
@@ -1,32 +1,15 @@
1
1
  import * as Parser from '../index';
2
2
  import { Token } from './index';
3
3
  import type { LintError } from '../base';
4
+ import type { FixedTokenBase } from '../mixin/fixed';
4
5
  import type { AtomToken, SyntaxToken, TranscludeToken } from '../internal';
5
- declare const ParameterToken_base: ((abstract new (...args: any[]) => {
6
+ export declare class ParameterToken extends Token implements FixedTokenBase {
6
7
  removeAt(): never;
7
8
  insertAt(token: string, i?: number | undefined): Parser.AstText;
8
9
  insertAt<T extends Parser.AstNodes>(token: T, i?: number | undefined): T;
9
- readonly length: number;
10
- toString(omit?: Set<string> | undefined, separator?: string | undefined): string;
11
- text(separator?: string | undefined): string;
12
- lint(start?: number | undefined): Parser.LintError[];
13
- afterBuild(): void;
14
- getAttribute<T_1 extends string>(key: T_1): TokenAttributeGetter<T_1>;
15
- setAttribute<T_2 extends string>(key: T_2, value: TokenAttributeSetter<T_2>): void;
16
- addEventListener(events: string | string[], listener: AstListener): void;
17
- replaceChildren(...elements: (string | Parser.AstNodes)[]): void;
18
- constructorError(msg: string): never;
19
- }) & {
20
- readonly fixed: true;
21
- }) & typeof Parser.Token;
22
- /**
23
- * 模板或魔术字参数
24
- * @classdesc `{childNodes: [Token, Token]}`
25
- */
26
- export declare class ParameterToken extends ParameterToken_base {
27
10
  readonly type = "parameter";
28
11
  readonly name: string;
29
- readonly childNodes: [Token, Token];
12
+ readonly childNodes: readonly [Token, Token];
30
13
  abstract get children(): [Token, Token];
31
14
  abstract get firstChild(): Token;
32
15
  abstract get firstElementChild(): Token;
@@ -18,7 +18,7 @@ const getName = (name) => name.toString(new Set(['comment', 'noinclude', 'includ
18
18
  * 模板或魔术字参数
19
19
  * @classdesc `{childNodes: [Token, Token]}`
20
20
  */
21
- class ParameterToken extends (0, fixed_1.fixed)(index_1.Token) {
21
+ class ParameterToken extends (0, fixed_1.fixedToken)(index_1.Token) {
22
22
  type = 'parameter';
23
23
  /** 是否是匿名参数 */
24
24
  get anon() {
package/dist/src/pre.d.ts CHANGED
@@ -9,7 +9,7 @@ import type { AstText, AttributesToken, ExtToken, ConverterToken } from '../inte
9
9
  export declare class PreToken extends Token {
10
10
  readonly type = "ext-inner";
11
11
  readonly name: 'pre';
12
- readonly childNodes: (AstText | NoincludeToken | ConverterToken)[];
12
+ readonly childNodes: readonly (AstText | NoincludeToken | ConverterToken)[];
13
13
  abstract get children(): (NoincludeToken | ConverterToken)[];
14
14
  abstract get firstChild(): AstText | NoincludeToken | ConverterToken | undefined;
15
15
  abstract get firstElementChild(): NoincludeToken | ConverterToken | undefined;
@@ -2,23 +2,12 @@ import * as Parser from '../index';
2
2
  import { Token } from './index';
3
3
  import type { LintError } from '../base';
4
4
  declare type SyntaxTypes = 'plain' | 'heading-trail' | 'magic-word-name' | 'table-syntax';
5
- declare const SyntaxToken_base: (abstract new (...args: any[]) => {
5
+ export declare class SyntaxToken extends Token {
6
6
  "__#10@#pattern": RegExp;
7
7
  afterBuild(): void;
8
8
  getAttribute<T extends string>(key: T): TokenAttributeGetter<T>;
9
9
  setAttribute<T_1 extends string>(key: T_1, value: TokenAttributeSetter<T_1>): void;
10
10
  replaceChildren(...elements: (string | Parser.AstNodes)[]): void;
11
- readonly length: number;
12
- toString(omit?: Set<string> | undefined, separator?: string | undefined): string;
13
- text(separator?: string | undefined): string;
14
- lint(start?: number | undefined): Parser.LintError[];
15
- insertAt(token: unknown, i?: number | undefined): unknown;
16
- addEventListener(events: string | string[], listener: AstListener): void;
17
- /** @override */
18
- constructorError(msg: string): never;
19
- }) & typeof Parser.Token;
20
- /** 满足特定语法格式的plain Token */
21
- export declare class SyntaxToken extends SyntaxToken_base {
22
11
  type: SyntaxTypes;
23
12
  /** @param pattern 语法正则 */
24
13
  constructor(wikitext: string | undefined, pattern: RegExp, type?: SyntaxTypes, config?: Parser.Config, accum?: Token[], acceptable?: Acceptable);
@@ -2,14 +2,9 @@ import * as Parser from '../../index';
2
2
  import { Token } from '../index';
3
3
  import { SyntaxToken } from '../syntax';
4
4
  import { AttributesToken } from '../attributes';
5
- declare const TableBaseToken_base: (abstract new (...args: any[]) => {
6
- readonly childNodes: Parser.AstNodes[];
7
- readonly "__#7@#attributesChild": Parser.AttributesToken;
5
+ import type { AttributesParentBase } from '../../mixin/attributesParent';
6
+ export declare abstract class TableBaseToken extends Token implements AttributesParentBase {
8
7
  attributes: Record<string, string | true>;
9
- /**
10
- * 表格行,含开头的换行,不含结尾的换行
11
- * @classdesc `{childNodes: [SyntaxToken, AttributesToken, ...Token]}`
12
- */
13
8
  className: string;
14
9
  classList: Set<string>;
15
10
  id: string;
@@ -19,27 +14,10 @@ declare const TableBaseToken_base: (abstract new (...args: any[]) => {
19
14
  getAttrs(): Record<string, string | true>;
20
15
  setAttr(key: string, value: string | boolean): void;
21
16
  setAttr(prop: Record<string, string | boolean>): void;
22
- removeAttr(key: string): void;
17
+ removeAttr(key: string): void; /** @private */
23
18
  toggleAttr(key: string, force?: boolean | undefined): void;
24
- readonly length: number;
25
- toString(omit?: Set<string> | undefined, separator?: string | undefined): string;
26
- text(separator?: string | undefined): string;
27
- lint(start?: number | undefined): Parser.LintError[];
28
- insertAt(token: unknown, i?: number | undefined): unknown;
29
- afterBuild(): void;
30
- getAttribute<T extends string>(key: T): TokenAttributeGetter<T>;
31
- setAttribute<T_1 extends string>(key: T_1, value: TokenAttributeSetter<T_1>): void;
32
- addEventListener(events: string | string[], listener: AstListener): void;
33
- replaceChildren(...elements: (string | Parser.AstNodes)[]): void;
34
- constructorError(msg: string): never;
35
- }) & typeof Parser.Token;
36
- /**
37
- * 表格行,含开头的换行,不含结尾的换行
38
- * @classdesc `{childNodes: [SyntaxToken, AttributesToken, ...Token]}`
39
- */
40
- export declare abstract class TableBaseToken extends TableBaseToken_base {
41
19
  type: 'table' | 'tr' | 'td';
42
- readonly childNodes: [SyntaxToken, AttributesToken, ...Token[]];
20
+ readonly childNodes: readonly [SyntaxToken, AttributesToken, ...Token[]];
43
21
  abstract get children(): [SyntaxToken, AttributesToken, ...Token[]];
44
22
  abstract get firstChild(): SyntaxToken;
45
23
  abstract get firstElementChild(): SyntaxToken;
@@ -18,7 +18,7 @@ export interface TableRenderedCoords {
18
18
  */
19
19
  export declare class TableToken extends TrBaseToken {
20
20
  readonly type = "table";
21
- readonly childNodes: [SyntaxToken, AttributesToken, ...(TdToken | TrToken)[], SyntaxToken] | [SyntaxToken, AttributesToken, ...(TdToken | TrToken)[]];
21
+ readonly childNodes: readonly [SyntaxToken, AttributesToken, ...(TdToken | TrToken)[], SyntaxToken] | readonly [SyntaxToken, AttributesToken, ...(TdToken | TrToken)[]];
22
22
  abstract get children(): [SyntaxToken, AttributesToken, ...(TdToken | TrToken)[], SyntaxToken] | [SyntaxToken, AttributesToken, ...(TdToken | TrToken)[]];
23
23
  abstract get lastChild(): AttributesToken | TdToken | TrToken | SyntaxToken;
24
24
  abstract get lastElementChild(): AttributesToken | TdToken | TrToken | SyntaxToken;
@@ -61,7 +61,7 @@ export declare class TableToken extends TrBaseToken {
61
61
  getNthRow(n: number, force?: boolean, insert?: false): TrToken | this | undefined;
62
62
  getNthRow(n: number, force: boolean, insert: true): TrToken | this | SyntaxToken | undefined;
63
63
  /** 获取所有行 */
64
- getAllRows(): readonly (TrToken | this)[];
64
+ getAllRows(): (TrToken | this)[];
65
65
  /**
66
66
  * 获取指定坐标的单元格
67
67
  * @param coords 表格坐标
@@ -200,7 +200,7 @@ export declare class TableToken extends TrBaseToken {
200
200
  * 复制一列并插入该列之前
201
201
  * @param x 列号
202
202
  */
203
- replicateTableCol(x: number): readonly TdToken[];
203
+ replicateTableCol(x: number): TdToken[];
204
204
  /**
205
205
  * 移动表格行
206
206
  * @param y 行号
@@ -23,7 +23,7 @@ class TableToken extends trBase_1.TrBaseToken {
23
23
  /* NOT FOR BROWSER */
24
24
  set closed(closed) {
25
25
  if (closed && !this.closed) {
26
- this.close(this.closest('parameter') ? '\n{{!}}}' : '\n|}');
26
+ this.close(this.closest('parameter-value') ? '\n{{!}}}' : '\n|}');
27
27
  }
28
28
  }
29
29
  /* NOT FOR BROWSER END */
@@ -2,6 +2,7 @@ import * as Parser from '../../index';
2
2
  import { Token } from '../index';
3
3
  import { TableBaseToken } from './base';
4
4
  import type { LintError } from '../../base';
5
+ import type { FixedTokenBase } from '../../mixin/fixed';
5
6
  import type { SyntaxToken, AttributesToken, TrToken, TableToken } from '../../internal';
6
7
  export type TdSubtypes = 'td' | 'th' | 'caption';
7
8
  export interface TdSpanAttrs {
@@ -11,31 +12,12 @@ export interface TdSpanAttrs {
11
12
  declare type TdAttrGetter<T extends string> = T extends keyof TdSpanAttrs ? number : string | true | undefined;
12
13
  declare type TdAttrSetter<T extends string> = T extends keyof TdSpanAttrs ? number : string | boolean;
13
14
  export type TdAttrs = Record<string, string | true> & TdSpanAttrs;
14
- declare const TdToken_base: ((abstract new (...args: any[]) => {
15
+ export declare class TdToken extends TableBaseToken implements FixedTokenBase {
15
16
  removeAt(): never;
16
17
  insertAt(token: string, i?: number | undefined): Parser.AstText;
17
18
  insertAt<T extends Parser.AstNodes>(token: T, i?: number | undefined): T;
18
- readonly length: number;
19
- toString(omit?: Set<string> | undefined, separator?: string | undefined): string;
20
- text(separator?: string | undefined): string;
21
- lint(start?: number | undefined): Parser.LintError[];
22
- afterBuild(): void;
23
- getAttribute<T_1 extends string>(key: T_1): TokenAttributeGetter<T_1>;
24
- setAttribute<T_2 extends string>(key: T_2, value: TokenAttributeSetter<T_2>): void;
25
- addEventListener(events: string | string[], listener: AstListener): void;
26
- replaceChildren(...elements: (string | Parser.AstNodes)[]): void;
27
- constructorError(msg: string): never;
28
- }) & {
29
- readonly fixed: true;
30
- }) & typeof TableBaseToken;
31
- /**
32
- * `<td>`、`<th>`和`<caption>`
33
- * @classdesc `{childNodes: [SyntaxToken, AttributesToken, Token]}`
34
- */
35
- export declare class TdToken extends TdToken_base {
36
- #private;
37
19
  readonly type = "td";
38
- readonly childNodes: [SyntaxToken, AttributesToken, Token];
20
+ readonly childNodes: readonly [SyntaxToken, AttributesToken, Token];
39
21
  abstract get children(): [SyntaxToken, AttributesToken, Token];
40
22
  abstract get parentNode(): TrToken | TableToken | undefined;
41
23
  abstract get parentElement(): TrToken | TableToken | undefined;
@@ -13,7 +13,7 @@ const base_1 = require("./base");
13
13
  * @classdesc `{childNodes: [SyntaxToken, AttributesToken, Token]}`
14
14
  */
15
15
  // @ts-expect-error not implementing all abstract methods
16
- class TdToken extends (0, fixed_1.fixed)(base_1.TableBaseToken) {
16
+ class TdToken extends (0, fixed_1.fixedToken)(base_1.TableBaseToken) {
17
17
  type = 'td';
18
18
  #innerSyntax = '';
19
19
  /** 单元格类型 */
@@ -6,9 +6,8 @@ import type { Token, TdToken, TableToken, SyntaxToken, AttributesToken } from '.
6
6
  * @classdesc `{childNodes: [SyntaxToken, AttributesToken, ?Token, ...TdToken]}`
7
7
  */
8
8
  export declare class TrToken extends TrBaseToken {
9
- #private;
10
9
  readonly type = "tr";
11
- readonly childNodes: [SyntaxToken, AttributesToken, ...TdToken[]];
10
+ readonly childNodes: readonly [SyntaxToken, AttributesToken, ...TdToken[]];
12
11
  abstract get children(): [SyntaxToken, AttributesToken, ...TdToken[]];
13
12
  abstract get lastChild(): AttributesToken | TdToken;
14
13
  abstract get lastElementChild(): AttributesToken | TdToken;
@@ -13,7 +13,6 @@ export interface TableCoords {
13
13
  }
14
14
  /** 表格行或表格 */
15
15
  export declare abstract class TrBaseToken extends TableBaseToken {
16
- #private;
17
16
  type: 'table' | 'tr';
18
17
  /** @override */
19
18
  lint(start?: number): LintError[];
@@ -3,9 +3,8 @@ import { Token } from '../index';
3
3
  import { TagPairToken } from './index';
4
4
  import { AttributesToken } from '../attributes';
5
5
  import type { LintError } from '../../base';
6
- declare const ExtToken_base: (abstract new (...args: any[]) => {
7
- readonly childNodes: Parser.AstNodes[];
8
- readonly "__#7@#attributesChild": Parser.AttributesToken;
6
+ import type { AttributesParentBase } from '../../mixin/attributesParent';
7
+ export declare class ExtToken extends TagPairToken implements AttributesParentBase {
9
8
  attributes: Record<string, string | true>;
10
9
  className: string;
11
10
  classList: Set<string>;
@@ -18,26 +17,9 @@ declare const ExtToken_base: (abstract new (...args: any[]) => {
18
17
  setAttr(prop: Record<string, string | boolean>): void;
19
18
  removeAttr(key: string): void;
20
19
  toggleAttr(key: string, force?: boolean | undefined): void;
21
- readonly length: number;
22
- toString(omit?: Set<string> | undefined, separator?: string | undefined): string;
23
- text(separator?: string | undefined): string;
24
- lint(start?: number | undefined): Parser.LintError[];
25
- insertAt(token: unknown, i?: number | undefined): unknown;
26
- afterBuild(): void;
27
- getAttribute<T extends string>(key: T): TokenAttributeGetter<T>;
28
- setAttribute<T_1 extends string>(key: T_1, value: TokenAttributeSetter<T_1>): void;
29
- addEventListener(events: string | string[], listener: AstListener): void;
30
- replaceChildren(...elements: (string | Parser.AstNodes)[]): void;
31
- constructorError(msg: string): never;
32
- }) & typeof TagPairToken;
33
- /**
34
- * 扩展标签
35
- * @classdesc `{childNodes: [AttributesToken, Token]}`
36
- */
37
- export declare class ExtToken extends ExtToken_base {
38
20
  readonly type = "ext";
39
21
  closed: true;
40
- readonly childNodes: [AttributesToken, Token];
22
+ readonly childNodes: readonly [AttributesToken, Token];
41
23
  abstract get children(): [AttributesToken, Token];
42
24
  abstract get firstChild(): AttributesToken;
43
25
  abstract get firstElementChild(): AttributesToken;
@@ -2,28 +2,11 @@ import * as Parser from '../../index';
2
2
  import { TagPairToken } from './index';
3
3
  import type { LintError } from '../../base';
4
4
  import type { AstText, Token } from '../../internal';
5
- declare const IncludeToken_base: ((abstract new (...args: any[]) => {
5
+ export declare class IncludeToken extends TagPairToken {
6
6
  text(): string;
7
7
  lint(): Parser.LintError[];
8
- readonly length: number;
9
- toString(omit?: Set<string> | undefined, separator?: string | undefined): string;
10
- insertAt(token: unknown, i?: number | undefined): unknown;
11
- afterBuild(): void;
12
- getAttribute<T extends string>(key: T): TokenAttributeGetter<T>;
13
- setAttribute<T_1 extends string>(key: T_1, value: TokenAttributeSetter<T_1>): void;
14
- addEventListener(events: string | string[], listener: AstListener): void;
15
- replaceChildren(...elements: (string | Parser.AstNodes)[]): void;
16
- constructorError(msg: string): never;
17
- }) & {
18
- readonly hidden: true;
19
- }) & typeof TagPairToken;
20
- /**
21
- * `<includeonly>`或`<noinclude>`或`<onlyinclude>`
22
- * @classdesc `{childNodes: [AstText, AstText]}`
23
- */
24
- export declare class IncludeToken extends IncludeToken_base {
25
8
  readonly type = "include";
26
- readonly childNodes: [AstText, AstText];
9
+ readonly childNodes: readonly [AstText, AstText];
27
10
  abstract get children(): [];
28
11
  abstract get firstChild(): AstText;
29
12
  abstract get firstElementChild(): undefined;
@@ -11,7 +11,7 @@ const index_1 = require("./index");
11
11
  * `<includeonly>`或`<noinclude>`或`<onlyinclude>`
12
12
  * @classdesc `{childNodes: [AstText, AstText]}`
13
13
  */
14
- class IncludeToken extends (0, hidden_1.hidden)(index_1.TagPairToken) {
14
+ class IncludeToken extends (0, hidden_1.hiddenToken)(index_1.TagPairToken) {
15
15
  type = 'include';
16
16
  /* NOT FOR BROWSER */
17
17
  /** @override */
@@ -1,31 +1,16 @@
1
1
  import * as Parser from '../../index';
2
2
  import { Token } from '../index';
3
3
  import type { AstNodes } from '../../lib/node';
4
- declare const TagPairToken_base: ((abstract new (...args: any[]) => {
4
+ import type { FixedTokenBase } from '../../mixin/fixed';
5
+ export declare abstract class TagPairToken extends Token implements FixedTokenBase {
5
6
  removeAt(): never;
6
7
  insertAt(token: string, i?: number | undefined): Parser.AstText;
7
8
  insertAt<T extends Parser.AstNodes>(token: T, i?: number | undefined): T;
8
- readonly length: number;
9
- toString(omit?: Set<string> | undefined, separator?: string | undefined): string;
10
- text(separator?: string | undefined): string;
11
- lint(start?: number | undefined): Parser.LintError[];
12
- afterBuild(): void;
13
- getAttribute<T_1 extends string>(key: T_1): TokenAttributeGetter<T_1>;
14
- setAttribute<T_2 extends string>(key: T_2, value: TokenAttributeSetter<T_2>): void;
15
- addEventListener(events: string | string[], listener: AstListener): void;
16
- replaceChildren(...elements: (string | Parser.AstNodes)[]): void;
17
- constructorError(msg: string): never;
18
- }) & {
19
- readonly fixed: true;
20
- }) & typeof Parser.Token;
21
- /** 成对标签 */
22
- export declare abstract class TagPairToken extends TagPairToken_base {
23
- #private;
24
9
  type: 'ext' | 'include';
25
10
  readonly name: string;
26
11
  closed: boolean;
27
12
  selfClosing: boolean;
28
- readonly childNodes: [AstNodes, AstNodes];
13
+ readonly childNodes: readonly [AstNodes, AstNodes];
29
14
  abstract get firstChild(): AstNodes;
30
15
  abstract get lastChild(): AstNodes;
31
16
  /** 内部wikitext */
@@ -6,7 +6,7 @@ const fixed_1 = require("../../mixin/fixed");
6
6
  const Parser = require("../../index");
7
7
  const index_1 = require("../index");
8
8
  /** 成对标签 */
9
- class TagPairToken extends (0, fixed_1.fixed)(index_1.Token) {
9
+ class TagPairToken extends (0, fixed_1.fixedToken)(index_1.Token) {
10
10
  #tags;
11
11
  closed;
12
12
  selfClosing;
@@ -9,11 +9,10 @@ import type { LintError } from '../base';
9
9
  * @classdesc `{childNodes: [AtomToken|SyntaxToken, ...AtomToken, ...ParameterToken]}`
10
10
  */
11
11
  export declare class TranscludeToken extends Token {
12
- #private;
13
12
  type: 'template' | 'magic-word';
14
13
  readonly name: string;
15
14
  readonly modifier: string;
16
- readonly childNodes: [AtomToken | SyntaxToken, ...ParameterToken[]] | [SyntaxToken, AtomToken, AtomToken, ...ParameterToken[]];
15
+ readonly childNodes: readonly [AtomToken | SyntaxToken, ...ParameterToken[]] | readonly [SyntaxToken, AtomToken, AtomToken, ...ParameterToken[]];
17
16
  abstract get children(): [AtomToken | SyntaxToken, ...ParameterToken[]] | [SyntaxToken, AtomToken, AtomToken, ...ParameterToken[]];
18
17
  abstract get firstChild(): AtomToken | SyntaxToken;
19
18
  abstract get firstElementChild(): AtomToken | SyntaxToken;
@@ -46,9 +45,9 @@ export declare class TranscludeToken extends Token {
46
45
  */
47
46
  insertAt<T extends ParameterToken>(token: T, i?: number): T;
48
47
  /** 获取所有参数 */
49
- getAllArgs(): readonly ParameterToken[];
48
+ getAllArgs(): ParameterToken[];
50
49
  /** 获取所有匿名参数 */
51
- getAnonArgs(): readonly ParameterToken[];
50
+ getAnonArgs(): ParameterToken[];
52
51
  /**
53
52
  * 获取指定参数
54
53
  * @param key 参数名
@@ -60,12 +59,12 @@ export declare class TranscludeToken extends Token {
60
59
  * 获取重名参数
61
60
  * @throws `Error` 仅用于模板
62
61
  */
63
- getDuplicatedArgs(): readonly [string, ParameterToken[]][];
62
+ getDuplicatedArgs(): [string, ParameterToken[]][];
64
63
  /**
65
64
  * 对特定魔术字获取可能的取值
66
65
  * @throws `Error` 不是可接受的魔术字
67
66
  */
68
- getPossibleValues(): readonly Token[];
67
+ getPossibleValues(): Token[];
69
68
  /** @override */
70
69
  print(): string;
71
70
  /** @override */
@@ -98,12 +97,12 @@ export declare class TranscludeToken extends Token {
98
97
  */
99
98
  removeArg(key: string | number, exact?: boolean): void;
100
99
  /** 获取所有参数名 */
101
- getKeys(): readonly string[];
100
+ getKeys(): string[];
102
101
  /**
103
102
  * 获取参数值
104
103
  * @param key 参数名
105
104
  */
106
- getValues(key: string | number): readonly string[];
105
+ getValues(key: string | number): string[];
107
106
  /** 获取所有生效的参数值 */
108
107
  getValue(): Record<string, string>;
109
108
  /**
@@ -158,7 +157,7 @@ export declare class TranscludeToken extends Token {
158
157
  * `aggressive = true`时还会尝试处理连续的以数字编号的参数。
159
158
  * @param aggressive 是否使用有更大风险的修复手段
160
159
  */
161
- fixDuplication(aggressive?: boolean): readonly string[];
160
+ fixDuplication(aggressive?: boolean): string[];
162
161
  /**
163
162
  * 转义模板内的表格
164
163
  * @throws `Error` 转义失败
package/i18n/zh-hans.json CHANGED
@@ -5,6 +5,7 @@
5
5
  "additional \"|\" in the link text": "链接文本中多余的\"|\"",
6
6
  "attributes of a closing tag": "位于闭合标签的属性",
7
7
  "bold": "粗体单引号",
8
+ "bold in section header": "段落标题中的粗体",
8
9
  "conflicting image $1 parameter": "冲突的图片$1参数",
9
10
  "containing invalid attribute": "包含无效属性",
10
11
  "content to be moved out from the table": "将被移出表格的内容",
package/i18n/zh-hant.json CHANGED
@@ -5,6 +5,7 @@
5
5
  "additional \"|\" in the link text": "連結文本中多餘的\"|\"",
6
6
  "attributes of a closing tag": "位於閉合標籤的屬性",
7
7
  "bold apostrophes": "粗體撇號",
8
+ "bold in section header": "段落標題中的粗體",
8
9
  "conflicting image $1 parameter": "衝突的圖片$1參數",
9
10
  "containing invalid attribute": "包含無效屬性",
10
11
  "content to be moved out from the table": "將被移出表格的內容",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "wikiparser-node",
3
- "version": "1.3.9",
3
+ "version": "1.4.0",
4
4
  "description": "A Node.js parser for MediaWiki markup with AST",
5
5
  "keywords": [
6
6
  "mediawiki",
@@ -28,8 +28,9 @@
28
28
  },
29
29
  "scripts": {
30
30
  "toc": "node ./dist/bin/toc.js",
31
- "prepublishOnly": "npm run build && rm dist/internal.js dist/base.js dist/[mpu]*/*.d.ts",
32
- "build": "rm -rf dist/; tsc && grep -rl --include='*.d.ts' '@private' dist/ | xargs gsed -i '/@private/,+1d'",
31
+ "declaration": "grep -rl --include='*.d.ts' '@private' dist/ | xargs gsed -i -E '/^\\s+\\/\\*\\* @private/,+1d'; grep -rl --include='*.d.ts' '#private' dist/ | xargs gsed -i '/#private/d'; node ./dist/bin/declaration.js",
32
+ "prepublishOnly": "npm run build && rm dist/internal.js dist/base.js dist/[pu]*/*.d.ts",
33
+ "build": "bash build.sh",
33
34
  "diff": "git diff --ignore-all-space --color-moved",
34
35
  "lint:ts": "tsc --noEmit && eslint --cache .",
35
36
  "lint:json": "ajv -s config/.schema.json -d 'config/*.json' --strict=true --strict-required=false",