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.
- package/dist/base.d.ts +3 -1
- package/dist/lib/element.d.ts +10 -11
- package/dist/lib/element.js +34 -21
- package/dist/lib/node.d.ts +2 -3
- package/dist/lib/node.js +4 -4
- package/dist/lib/range.d.ts +2 -3
- package/dist/lib/ranges.d.ts +2 -3
- package/dist/lib/text.d.ts +0 -1
- package/dist/lib/title.d.ts +0 -1
- package/dist/mixin/attributesParent.d.ts +80 -0
- package/dist/mixin/fixed.d.ts +31 -0
- package/dist/mixin/fixed.js +8 -5
- package/dist/mixin/flagsParent.d.ts +61 -0
- package/dist/mixin/hidden.d.ts +18 -0
- package/dist/mixin/hidden.js +4 -5
- package/dist/mixin/magicLinkParent.d.ts +34 -0
- package/dist/mixin/singleLine.d.ts +14 -0
- package/dist/mixin/sol.d.ts +18 -0
- package/dist/mixin/syntax.d.ts +19 -0
- package/dist/parser/hrAndDoubleUnderscore.js +3 -3
- package/dist/src/arg.d.ts +1 -2
- package/dist/src/attribute.d.ts +3 -21
- package/dist/src/attribute.js +1 -1
- package/dist/src/attributes.d.ts +2 -3
- package/dist/src/converter.d.ts +3 -21
- package/dist/src/converterFlags.d.ts +2 -3
- package/dist/src/converterRule.d.ts +1 -1
- package/dist/src/extLink.d.ts +3 -22
- package/dist/src/gallery.d.ts +2 -3
- package/dist/src/heading.d.ts +6 -33
- package/dist/src/heading.js +1 -1
- package/dist/src/hidden.d.ts +1 -15
- package/dist/src/hidden.js +1 -1
- package/dist/src/html.d.ts +6 -35
- package/dist/src/html.js +19 -3
- package/dist/src/imageParameter.d.ts +2 -3
- package/dist/src/imageParameter.js +8 -8
- package/dist/src/imagemap.d.ts +2 -2
- package/dist/src/imagemapLink.d.ts +5 -32
- package/dist/src/imagemapLink.js +1 -1
- package/dist/src/index.d.ts +7 -8
- package/dist/src/link/base.d.ts +1 -2
- package/dist/src/link/base.js +2 -6
- package/dist/src/link/file.d.ts +12 -13
- package/dist/src/link/file.js +11 -8
- package/dist/src/link/galleryImage.d.ts +2 -18
- package/dist/src/link/galleryImage.js +1 -1
- package/dist/src/link/index.d.ts +4 -2
- package/dist/src/link/index.js +11 -0
- package/dist/src/magicLink.d.ts +2 -15
- package/dist/src/nested.d.ts +1 -2
- package/dist/src/nowiki/base.d.ts +3 -20
- package/dist/src/nowiki/base.js +1 -1
- package/dist/src/nowiki/comment.d.ts +1 -15
- package/dist/src/nowiki/comment.js +1 -1
- package/dist/src/nowiki/doubleUnderscore.d.ts +6 -27
- package/dist/src/nowiki/doubleUnderscore.js +7 -7
- package/dist/src/nowiki/hr.d.ts +4 -23
- package/dist/src/nowiki/list.d.ts +2 -15
- package/dist/src/nowiki/listBase.d.ts +1 -11
- package/dist/src/nowiki/noinclude.d.ts +1 -15
- package/dist/src/nowiki/noinclude.js +1 -1
- package/dist/src/nowiki/quote.d.ts +1 -11
- package/dist/src/nowiki/quote.js +9 -1
- package/dist/src/paramTag/index.d.ts +1 -1
- package/dist/src/parameter.d.ts +3 -20
- package/dist/src/parameter.js +1 -1
- package/dist/src/pre.d.ts +1 -1
- package/dist/src/syntax.d.ts +1 -12
- package/dist/src/table/base.d.ts +4 -26
- package/dist/src/table/index.d.ts +3 -3
- package/dist/src/table/index.js +1 -1
- package/dist/src/table/td.d.ts +3 -21
- package/dist/src/table/td.js +1 -1
- package/dist/src/table/tr.d.ts +1 -2
- package/dist/src/table/trBase.d.ts +0 -1
- package/dist/src/tagPair/ext.d.ts +3 -21
- package/dist/src/tagPair/include.d.ts +2 -19
- package/dist/src/tagPair/include.js +1 -1
- package/dist/src/tagPair/index.d.ts +3 -18
- package/dist/src/tagPair/index.js +1 -1
- package/dist/src/transclude.d.ts +8 -9
- package/i18n/zh-hans.json +1 -0
- package/i18n/zh-hant.json +1 -0
- package/package.json +4 -3
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { AstNodes } from '../lib/node';
|
|
2
|
+
/**
|
|
3
|
+
* 满足特定语法格式的Token
|
|
4
|
+
* @param constructor 基类
|
|
5
|
+
* @param pattern 语法正则
|
|
6
|
+
*/
|
|
7
|
+
export declare const syntax: <S extends AstConstructor>(constructor: S, pattern?: RegExp) => (abstract new (...args: any[]) => {
|
|
8
|
+
"__#10@#pattern": RegExp;
|
|
9
|
+
/**
|
|
10
|
+
* @override
|
|
11
|
+
* @param elements 待替换的子节点
|
|
12
|
+
*/
|
|
13
|
+
replaceChildren(...elements: (AstNodes | string)[]): void;
|
|
14
|
+
toString(omit?: Set<string> | undefined, separator?: string | undefined): string;
|
|
15
|
+
text(separator?: string | undefined): string;
|
|
16
|
+
insertAt(token: unknown, i?: number | undefined): unknown; /** @private */
|
|
17
|
+
addEventListener(events: string | string[], listener: AstListener): void;
|
|
18
|
+
constructorError(msg: string): never;
|
|
19
|
+
}) & S;
|
|
@@ -21,9 +21,9 @@ const parseHrAndDoubleUnderscore = ({ firstChild: { data }, type, name }, config
|
|
|
21
21
|
new hr_1.HrToken(m, config, accum);
|
|
22
22
|
return `${lead}\0${accum.length - 1}r\x7F`;
|
|
23
23
|
}).replace(new RegExp(`__(${doubleUnderscore.flat().join('|')})__`, 'giu'), (m, p1) => {
|
|
24
|
-
const
|
|
25
|
-
if (
|
|
26
|
-
new doubleUnderscore_1.DoubleUnderscoreToken(p1,
|
|
24
|
+
const caseSensitive = sensitive.has(p1);
|
|
25
|
+
if (caseSensitive || insensitive.has(p1.toLowerCase())) {
|
|
26
|
+
new doubleUnderscore_1.DoubleUnderscoreToken(p1, caseSensitive, config, accum);
|
|
27
27
|
return `\0${accum.length - 1}u\x7F`;
|
|
28
28
|
}
|
|
29
29
|
return m;
|
package/dist/src/arg.d.ts
CHANGED
|
@@ -8,10 +8,9 @@ import type { LintError } from '../base';
|
|
|
8
8
|
* @classdesc `{childNodes: [AtomToken, ?Token, ...HiddenToken]}`
|
|
9
9
|
*/
|
|
10
10
|
export declare class ArgToken extends Token {
|
|
11
|
-
#private;
|
|
12
11
|
readonly type = "arg";
|
|
13
12
|
readonly name: string;
|
|
14
|
-
readonly childNodes: [AtomToken] | [AtomToken, Token, ...HiddenToken[]];
|
|
13
|
+
readonly childNodes: readonly [AtomToken] | readonly [AtomToken, Token, ...HiddenToken[]];
|
|
15
14
|
abstract get children(): [AtomToken] | [AtomToken, Token, ...HiddenToken[]];
|
|
16
15
|
abstract get firstChild(): AtomToken;
|
|
17
16
|
abstract get firstElementChild(): AtomToken;
|
package/dist/src/attribute.d.ts
CHANGED
|
@@ -2,35 +2,17 @@ import * as Parser from '../index';
|
|
|
2
2
|
import { Token } from './index';
|
|
3
3
|
import { AtomToken } from './atom';
|
|
4
4
|
import type { LintError } from '../base';
|
|
5
|
+
import type { FixedTokenBase } from '../mixin/fixed';
|
|
5
6
|
import type { AttributesToken } from '../internal';
|
|
6
7
|
export type AttributeTypes = 'ext-attr' | 'html-attr' | 'table-attr';
|
|
7
|
-
declare
|
|
8
|
+
export declare class AttributeToken extends Token implements FixedTokenBase {
|
|
8
9
|
removeAt(): never;
|
|
9
10
|
insertAt(token: string, i?: number | undefined): Parser.AstText;
|
|
10
11
|
insertAt<T extends Parser.AstNodes>(token: T, i?: number | undefined): T;
|
|
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
|
-
afterBuild(): void;
|
|
16
|
-
getAttribute<T_1 extends string>(key: T_1): TokenAttributeGetter<T_1>;
|
|
17
|
-
setAttribute<T_2 extends string>(key: T_2, value: TokenAttributeSetter<T_2>): void;
|
|
18
|
-
addEventListener(events: string | string[], listener: AstListener): void;
|
|
19
|
-
replaceChildren(...elements: (string | Parser.AstNodes)[]): void;
|
|
20
|
-
constructorError(msg: string): never;
|
|
21
|
-
}) & {
|
|
22
|
-
readonly fixed: true;
|
|
23
|
-
}) & typeof Parser.Token;
|
|
24
|
-
/**
|
|
25
|
-
* 扩展和HTML标签属性
|
|
26
|
-
* @classdesc `{childNodes: [AtomToken, Token|AtomToken]}`
|
|
27
|
-
*/
|
|
28
|
-
export declare class AttributeToken extends AttributeToken_base {
|
|
29
|
-
#private;
|
|
30
12
|
type: AttributeTypes;
|
|
31
13
|
readonly name: string;
|
|
32
14
|
readonly tag: string;
|
|
33
|
-
readonly childNodes: [AtomToken, Token];
|
|
15
|
+
readonly childNodes: readonly [AtomToken, Token];
|
|
34
16
|
abstract get children(): [AtomToken, Token];
|
|
35
17
|
abstract get firstChild(): AtomToken;
|
|
36
18
|
abstract get firstElementChild(): AtomToken;
|
package/dist/src/attribute.js
CHANGED
|
@@ -176,7 +176,7 @@ const commonHtmlAttrs = new Set([
|
|
|
176
176
|
* 扩展和HTML标签属性
|
|
177
177
|
* @classdesc `{childNodes: [AtomToken, Token|AtomToken]}`
|
|
178
178
|
*/
|
|
179
|
-
class AttributeToken extends (0, fixed_1.
|
|
179
|
+
class AttributeToken extends (0, fixed_1.fixedToken)(index_1.Token) {
|
|
180
180
|
tag;
|
|
181
181
|
#equal;
|
|
182
182
|
#quotes;
|
package/dist/src/attributes.d.ts
CHANGED
|
@@ -11,10 +11,9 @@ declare type AttributesTypes = `${AttributeTypes}s`;
|
|
|
11
11
|
* @classdesc `{childNodes: ...AtomToken|AttributeToken}`
|
|
12
12
|
*/
|
|
13
13
|
export declare class AttributesToken extends Token {
|
|
14
|
-
#private;
|
|
15
14
|
type: AttributesTypes;
|
|
16
15
|
readonly name: string;
|
|
17
|
-
readonly childNodes: (AtomToken | AttributeToken)[];
|
|
16
|
+
readonly childNodes: readonly (AtomToken | AttributeToken)[];
|
|
18
17
|
abstract get children(): (AtomToken | AttributeToken)[];
|
|
19
18
|
abstract get firstChild(): AtomToken | AttributeToken | undefined;
|
|
20
19
|
abstract get firstElementChild(): AtomToken | AttributeToken | undefined;
|
|
@@ -47,7 +46,7 @@ export declare class AttributesToken extends Token {
|
|
|
47
46
|
* 所有指定属性名的AttributeToken
|
|
48
47
|
* @param key 属性名
|
|
49
48
|
*/
|
|
50
|
-
getAttrTokens(key?: string):
|
|
49
|
+
getAttrTokens(key?: string): AttributeToken[];
|
|
51
50
|
/**
|
|
52
51
|
* 指定属性名的最后一个AttributeToken
|
|
53
52
|
* @param key 属性名
|
package/dist/src/converter.d.ts
CHANGED
|
@@ -2,9 +2,8 @@ import * as Parser from '../index';
|
|
|
2
2
|
import { Token } from './index';
|
|
3
3
|
import { ConverterFlagsToken } from './converterFlags';
|
|
4
4
|
import { ConverterRuleToken } from './converterRule';
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
readonly firstElementChild: Parser.ConverterFlagsToken;
|
|
5
|
+
import type { FlagsParentBase } from '../mixin/flagsParent';
|
|
6
|
+
export declare class ConverterToken extends Token implements FlagsParentBase {
|
|
8
7
|
flags: Set<string>;
|
|
9
8
|
getAllFlags(): Set<string>;
|
|
10
9
|
getEffectiveFlags(): Set<string>;
|
|
@@ -14,25 +13,8 @@ declare const ConverterToken_base: (abstract new (...args: any[]) => {
|
|
|
14
13
|
removeFlag(flag: string): void;
|
|
15
14
|
setFlag(flag: string): void;
|
|
16
15
|
toggleFlag(flag: string): void;
|
|
17
|
-
readonly length: number;
|
|
18
|
-
toString(omit?: Set<string> | undefined, separator?: string | undefined): string;
|
|
19
|
-
text(separator?: string | undefined): string;
|
|
20
|
-
lint(start?: number | undefined): Parser.LintError[];
|
|
21
|
-
insertAt(token: unknown, i?: number | undefined): unknown;
|
|
22
|
-
afterBuild(): void;
|
|
23
|
-
getAttribute<T extends string>(key: T): TokenAttributeGetter<T>;
|
|
24
|
-
setAttribute<T_1 extends string>(key: T_1, value: TokenAttributeSetter<T_1>): void;
|
|
25
|
-
addEventListener(events: string | string[], listener: AstListener): void;
|
|
26
|
-
replaceChildren(...elements: (string | Parser.AstNodes)[]): void;
|
|
27
|
-
constructorError(msg: string): never;
|
|
28
|
-
}) & typeof Parser.Token;
|
|
29
|
-
/**
|
|
30
|
-
* 转换
|
|
31
|
-
* @classdesc `{childNodes: [ConverterFlagsToken, ...ConverterRuleToken]}`
|
|
32
|
-
*/
|
|
33
|
-
export declare class ConverterToken extends ConverterToken_base {
|
|
34
16
|
readonly type = "converter";
|
|
35
|
-
readonly childNodes: [ConverterFlagsToken, ...ConverterRuleToken[]];
|
|
17
|
+
readonly childNodes: readonly [ConverterFlagsToken, ...ConverterRuleToken[]];
|
|
36
18
|
abstract get children(): [ConverterFlagsToken, ...ConverterRuleToken[]];
|
|
37
19
|
abstract get lastChild(): ConverterFlagsToken | ConverterRuleToken;
|
|
38
20
|
abstract get lastElementChild(): ConverterFlagsToken | ConverterRuleToken;
|
|
@@ -8,9 +8,8 @@ import type { ConverterToken, ConverterRuleToken } from '../internal';
|
|
|
8
8
|
* @classdesc `{childNodes: ...AtomToken}`
|
|
9
9
|
*/
|
|
10
10
|
export declare class ConverterFlagsToken extends Token {
|
|
11
|
-
#private;
|
|
12
11
|
readonly type = "converter-flags";
|
|
13
|
-
readonly childNodes: AtomToken[];
|
|
12
|
+
readonly childNodes: readonly AtomToken[];
|
|
14
13
|
abstract get children(): AtomToken[];
|
|
15
14
|
abstract get firstChild(): AtomToken | undefined;
|
|
16
15
|
abstract get firstElementChild(): AtomToken | undefined;
|
|
@@ -56,7 +55,7 @@ export declare class ConverterFlagsToken extends Token {
|
|
|
56
55
|
* 获取转换类型标记节点
|
|
57
56
|
* @param flag 转换类型标记
|
|
58
57
|
*/
|
|
59
|
-
getFlagTokens(flag: string):
|
|
58
|
+
getFlagTokens(flag: string): AtomToken[];
|
|
60
59
|
/** 获取有效的转换类型标记 */
|
|
61
60
|
getEffectiveFlags(): Set<string>;
|
|
62
61
|
/**
|
|
@@ -8,7 +8,7 @@ import type { ConverterToken, ConverterFlagsToken } from '../internal';
|
|
|
8
8
|
*/
|
|
9
9
|
export declare class ConverterRuleToken extends Token {
|
|
10
10
|
readonly type = "converter-rule";
|
|
11
|
-
readonly childNodes: [AtomToken] | [AtomToken, AtomToken] | [AtomToken, AtomToken, AtomToken];
|
|
11
|
+
readonly childNodes: readonly [AtomToken] | readonly [AtomToken, AtomToken] | readonly [AtomToken, AtomToken, AtomToken];
|
|
12
12
|
abstract get children(): [AtomToken] | [AtomToken, AtomToken] | [AtomToken, AtomToken, AtomToken];
|
|
13
13
|
abstract get firstChild(): AtomToken;
|
|
14
14
|
abstract get firstElementChild(): AtomToken;
|
package/dist/src/extLink.d.ts
CHANGED
|
@@ -1,33 +1,14 @@
|
|
|
1
1
|
import * as Parser from '../index';
|
|
2
2
|
import { Token } from './index';
|
|
3
3
|
import { MagicLinkToken } from './magicLink';
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
readonly firstElementChild: Parser.MagicLinkToken;
|
|
4
|
+
import type { MagicLinkParentBase } from '../mixin/magicLinkParent';
|
|
5
|
+
export declare class ExtLinkToken extends Token implements MagicLinkParentBase {
|
|
7
6
|
protocol: string | undefined;
|
|
8
7
|
link: string;
|
|
9
8
|
getUrl(): URL;
|
|
10
9
|
setTarget(url: string): 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
|
-
afterBuild(): void;
|
|
17
|
-
getAttribute<T extends string>(key: T): TokenAttributeGetter<T>;
|
|
18
|
-
setAttribute<T_1 extends string>(key: T_1, value: TokenAttributeSetter<T_1>): void;
|
|
19
|
-
addEventListener(events: string | string[], listener: AstListener): void;
|
|
20
|
-
replaceChildren(...elements: (string | Parser.AstNodes)[]): void;
|
|
21
|
-
constructorError(msg: string): never;
|
|
22
|
-
}) & typeof Parser.Token;
|
|
23
|
-
/**
|
|
24
|
-
* 外链
|
|
25
|
-
* @classdesc `{childNodes: [MagicLinkToken, ?Token]}`
|
|
26
|
-
*/
|
|
27
|
-
export declare class ExtLinkToken extends ExtLinkToken_base {
|
|
28
|
-
#private;
|
|
29
10
|
readonly type = "ext-link";
|
|
30
|
-
readonly childNodes: [MagicLinkToken] | [MagicLinkToken, Token];
|
|
11
|
+
readonly childNodes: readonly [MagicLinkToken] | readonly [MagicLinkToken, Token];
|
|
31
12
|
abstract get children(): [MagicLinkToken] | [MagicLinkToken, Token];
|
|
32
13
|
abstract get lastChild(): Token;
|
|
33
14
|
abstract get lastElementChild(): Token;
|
package/dist/src/gallery.d.ts
CHANGED
|
@@ -9,10 +9,9 @@ import type { AstNodes, AstText, AttributesToken, ExtToken } from '../internal';
|
|
|
9
9
|
* @classdesc `{childNodes: ...(GalleryImageToken|NoincludeToken|AstText)}`
|
|
10
10
|
*/
|
|
11
11
|
export declare class GalleryToken extends Token {
|
|
12
|
-
#private;
|
|
13
12
|
readonly type = "ext-inner";
|
|
14
13
|
readonly name: 'gallery';
|
|
15
|
-
readonly childNodes: (GalleryImageToken | NoincludeToken | AstText)[];
|
|
14
|
+
readonly childNodes: readonly (GalleryImageToken | NoincludeToken | AstText)[];
|
|
16
15
|
abstract get children(): (GalleryImageToken | NoincludeToken)[];
|
|
17
16
|
abstract get firstChild(): GalleryImageToken | NoincludeToken | AstText | undefined;
|
|
18
17
|
abstract get firstElementChild(): GalleryImageToken | NoincludeToken | undefined;
|
|
@@ -25,7 +24,7 @@ export declare class GalleryToken extends Token {
|
|
|
25
24
|
abstract get parentNode(): ExtToken | undefined;
|
|
26
25
|
abstract get parentElement(): ExtToken | undefined;
|
|
27
26
|
/** 所有图片 */
|
|
28
|
-
get images():
|
|
27
|
+
get images(): GalleryImageToken[];
|
|
29
28
|
/** @param inner 标签内部wikitext */
|
|
30
29
|
constructor(inner?: string, config?: Parser.Config, accum?: Token[]);
|
|
31
30
|
/** @override */
|
package/dist/src/heading.d.ts
CHANGED
|
@@ -2,44 +2,17 @@ import * as Parser from '../index';
|
|
|
2
2
|
import { Token } from './index';
|
|
3
3
|
import { SyntaxToken } from './syntax';
|
|
4
4
|
import type { LintError } from '../base';
|
|
5
|
-
|
|
5
|
+
import type { FixedTokenBase } from '../mixin/fixed';
|
|
6
|
+
import type { SolTokenBase } from '../mixin/sol';
|
|
7
|
+
export declare class HeadingToken extends Token implements FixedTokenBase, SolTokenBase {
|
|
6
8
|
prependNewLine(): string;
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
text(): string;
|
|
10
|
-
readonly length: number;
|
|
11
|
-
lint(start?: number | undefined): Parser.LintError[];
|
|
12
|
-
insertAt(token: unknown, i?: number | undefined): unknown;
|
|
13
|
-
afterBuild(): void;
|
|
14
|
-
setAttribute<T extends string>(key: T, value: TokenAttributeSetter<T>): void;
|
|
15
|
-
addEventListener(events: string | string[], listener: AstListener): void;
|
|
16
|
-
replaceChildren(...elements: (string | Parser.AstNodes)[]): void;
|
|
17
|
-
constructorError(msg: string): never;
|
|
18
|
-
}) & ((abstract new (...args: any[]) => {
|
|
9
|
+
|
|
10
|
+
|
|
19
11
|
removeAt(): never;
|
|
20
12
|
insertAt(token: string, i?: number | undefined): Parser.AstText;
|
|
21
13
|
insertAt<T_1 extends Parser.AstNodes>(token: T_1, i?: number | undefined): T_1;
|
|
22
|
-
readonly length: number;
|
|
23
|
-
toString(omit?: Set<string> | undefined, separator?: string | undefined): string;
|
|
24
|
-
text(separator?: string | undefined): string;
|
|
25
|
-
lint(start?: number | undefined): Parser.LintError[];
|
|
26
|
-
afterBuild(): void;
|
|
27
|
-
getAttribute<T_2 extends string>(key: T_2): TokenAttributeGetter<T_2>;
|
|
28
|
-
setAttribute<T extends string>(key: T, value: TokenAttributeSetter<T>): void;
|
|
29
|
-
addEventListener(events: string | string[], listener: AstListener): void;
|
|
30
|
-
replaceChildren(...elements: (string | Parser.AstNodes)[]): void;
|
|
31
|
-
constructorError(msg: string): never;
|
|
32
|
-
}) & {
|
|
33
|
-
readonly fixed: true;
|
|
34
|
-
}) & typeof Parser.Token;
|
|
35
|
-
/**
|
|
36
|
-
* 章节标题
|
|
37
|
-
* @classdesc `{childNodes: [Token, SyntaxToken]}`
|
|
38
|
-
*/
|
|
39
|
-
export declare class HeadingToken extends HeadingToken_base {
|
|
40
|
-
#private;
|
|
41
14
|
readonly type = "heading";
|
|
42
|
-
readonly childNodes: [Token, SyntaxToken];
|
|
15
|
+
readonly childNodes: readonly [Token, SyntaxToken];
|
|
43
16
|
abstract get children(): [Token, SyntaxToken];
|
|
44
17
|
abstract get firstChild(): Token;
|
|
45
18
|
abstract get firstElementChild(): Token;
|
package/dist/src/heading.js
CHANGED
|
@@ -13,7 +13,7 @@ const syntax_1 = require("./syntax");
|
|
|
13
13
|
* 章节标题
|
|
14
14
|
* @classdesc `{childNodes: [Token, SyntaxToken]}`
|
|
15
15
|
*/
|
|
16
|
-
class HeadingToken extends (0, sol_1.sol)((0, fixed_1.
|
|
16
|
+
class HeadingToken extends (0, sol_1.sol)((0, fixed_1.fixedToken)(index_1.Token)) {
|
|
17
17
|
type = 'heading';
|
|
18
18
|
#level;
|
|
19
19
|
/** 标题格式的等号 */
|
package/dist/src/hidden.d.ts
CHANGED
|
@@ -1,21 +1,7 @@
|
|
|
1
1
|
import { Token } from './index';
|
|
2
|
-
declare
|
|
2
|
+
export declare class HiddenToken extends Token {
|
|
3
3
|
text(): string;
|
|
4
4
|
lint(): import("..").LintError[];
|
|
5
|
-
readonly length: number;
|
|
6
|
-
toString(omit?: Set<string> | undefined, separator?: string | undefined): string;
|
|
7
|
-
insertAt(token: unknown, i?: number | undefined): unknown;
|
|
8
|
-
afterBuild(): void;
|
|
9
|
-
getAttribute<T extends string>(key: T): TokenAttributeGetter<T>;
|
|
10
|
-
setAttribute<T_1 extends string>(key: T_1, value: TokenAttributeSetter<T_1>): void;
|
|
11
|
-
addEventListener(events: string | string[], listener: AstListener): void;
|
|
12
|
-
replaceChildren(...elements: (string | import("..").AstNodes)[]): void;
|
|
13
|
-
constructorError(msg: string): never;
|
|
14
|
-
}) & {
|
|
15
|
-
readonly hidden: true;
|
|
16
|
-
}) & typeof Token;
|
|
17
|
-
/** 不可见的节点 */
|
|
18
|
-
export declare class HiddenToken extends HiddenToken_base {
|
|
19
5
|
readonly type = "hidden";
|
|
20
6
|
/** @override */
|
|
21
7
|
cloneNode(): this;
|
package/dist/src/hidden.js
CHANGED
|
@@ -6,7 +6,7 @@ const constants_1 = require("../util/constants");
|
|
|
6
6
|
const hidden_1 = require("../mixin/hidden");
|
|
7
7
|
const index_1 = require("./index");
|
|
8
8
|
/** 不可见的节点 */
|
|
9
|
-
class HiddenToken extends (0, hidden_1.
|
|
9
|
+
class HiddenToken extends (0, hidden_1.hiddenToken)(index_1.Token) {
|
|
10
10
|
type = 'hidden';
|
|
11
11
|
/* NOT FOR BROWSER */
|
|
12
12
|
/** @override */
|
package/dist/src/html.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import * as Parser from '../index';
|
|
2
2
|
import { Token } from './index';
|
|
3
3
|
import type { LintError } from '../base';
|
|
4
|
+
import type { AttributesParentBase } from '../mixin/attributesParent';
|
|
5
|
+
import type { FixedTokenBase } from '../mixin/fixed';
|
|
4
6
|
import type { AttributesToken } from '../internal';
|
|
5
|
-
declare
|
|
6
|
-
readonly childNodes: Parser.AstNodes[];
|
|
7
|
-
readonly "__#7@#attributesChild": Parser.AttributesToken;
|
|
7
|
+
export declare class HtmlToken extends Token implements AttributesParentBase, FixedTokenBase {
|
|
8
8
|
attributes: Record<string, string | true>;
|
|
9
9
|
className: string;
|
|
10
10
|
classList: Set<string>;
|
|
@@ -17,43 +17,14 @@ declare const HtmlToken_base: (abstract new (...args: any[]) => {
|
|
|
17
17
|
setAttr(prop: Record<string, string | boolean>): void;
|
|
18
18
|
removeAttr(key: string): void;
|
|
19
19
|
toggleAttr(key: string, force?: boolean | undefined): void;
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
text(separator?: string | undefined): string;
|
|
23
|
-
lint(start?: number | undefined): Parser.LintError[];
|
|
24
|
-
insertAt(token: unknown, i?: number | undefined): unknown;
|
|
25
|
-
afterBuild(): void;
|
|
26
|
-
getAttribute<T extends string>(key: T): TokenAttributeGetter<T>;
|
|
27
|
-
setAttribute<T_1 extends string>(key: T_1, value: TokenAttributeSetter<T_1>): void;
|
|
28
|
-
addEventListener(events: string | string[], listener: AstListener): void;
|
|
29
|
-
replaceChildren(...elements: (string | Parser.AstNodes)[]): void;
|
|
30
|
-
constructorError(msg: string): never;
|
|
31
|
-
}) & ((abstract new (...args: any[]) => {
|
|
20
|
+
|
|
21
|
+
|
|
32
22
|
removeAt(): never;
|
|
33
23
|
insertAt(token: string, i?: number | undefined): Parser.AstText;
|
|
34
24
|
insertAt<T_2 extends Parser.AstNodes>(token: T_2, i?: number | undefined): T_2;
|
|
35
|
-
readonly length: number;
|
|
36
|
-
toString(omit?: Set<string> | undefined, separator?: string | undefined): string;
|
|
37
|
-
text(separator?: string | undefined): string;
|
|
38
|
-
lint(start?: number | undefined): Parser.LintError[];
|
|
39
|
-
afterBuild(): void;
|
|
40
|
-
getAttribute<T extends string>(key: T): TokenAttributeGetter<T>;
|
|
41
|
-
setAttribute<T_1 extends string>(key: T_1, value: TokenAttributeSetter<T_1>): void;
|
|
42
|
-
addEventListener(events: string | string[], listener: AstListener): void;
|
|
43
|
-
replaceChildren(...elements: (string | Parser.AstNodes)[]): void;
|
|
44
|
-
constructorError(msg: string): never;
|
|
45
|
-
}) & {
|
|
46
|
-
readonly fixed: true;
|
|
47
|
-
}) & typeof Parser.Token;
|
|
48
|
-
/**
|
|
49
|
-
* HTML标签
|
|
50
|
-
* @classdesc `{childNodes: [AttributesToken]}`
|
|
51
|
-
*/
|
|
52
|
-
export declare class HtmlToken extends HtmlToken_base {
|
|
53
|
-
#private;
|
|
54
25
|
readonly type = "html";
|
|
55
26
|
readonly name: string;
|
|
56
|
-
readonly childNodes: [AttributesToken];
|
|
27
|
+
readonly childNodes: readonly [AttributesToken];
|
|
57
28
|
abstract get children(): [AttributesToken];
|
|
58
29
|
abstract get firstChild(): AttributesToken;
|
|
59
30
|
abstract get firstElementChild(): AttributesToken;
|
package/dist/src/html.js
CHANGED
|
@@ -40,7 +40,7 @@ const magicWords = new Set(['if', 'ifeq', 'ifexpr', 'ifexist', 'iferror', 'switc
|
|
|
40
40
|
* HTML标签
|
|
41
41
|
* @classdesc `{childNodes: [AttributesToken]}`
|
|
42
42
|
*/
|
|
43
|
-
class HtmlToken extends (0, attributesParent_1.attributesParent)((0, fixed_1.
|
|
43
|
+
class HtmlToken extends (0, attributesParent_1.attributesParent)((0, fixed_1.fixedToken)(index_1.Token)) {
|
|
44
44
|
type = 'html';
|
|
45
45
|
#closing;
|
|
46
46
|
#selfClosing;
|
|
@@ -145,8 +145,16 @@ class HtmlToken extends (0, attributesParent_1.attributesParent)((0, fixed_1.fix
|
|
|
145
145
|
const { message: errorMsg } = e;
|
|
146
146
|
refError ??= (0, lint_1.generateForSelf)(this, { start }, '');
|
|
147
147
|
const [msg] = errorMsg.split(':'), error = { ...refError, message: Parser.msg(msg) };
|
|
148
|
-
if (msg === 'unclosed tag' && !
|
|
149
|
-
|
|
148
|
+
if (msg === 'unclosed tag' && !this.closest('heading-title')) {
|
|
149
|
+
if (formattingTags.has(this.name)) {
|
|
150
|
+
const childNodes = this.parentNode?.childNodes, i = childNodes?.indexOf(this);
|
|
151
|
+
if (!childNodes?.slice(0, i).some(({ type, name }) => type === 'html' && name === this.name)) {
|
|
152
|
+
error.severity = 'warning';
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
else {
|
|
156
|
+
error.severity = 'warning';
|
|
157
|
+
}
|
|
150
158
|
}
|
|
151
159
|
else if (msg === 'unmatched closing tag') {
|
|
152
160
|
const ancestor = this.closest('magic-word');
|
|
@@ -165,6 +173,14 @@ class HtmlToken extends (0, attributesParent_1.attributesParent)((0, fixed_1.fix
|
|
|
165
173
|
severity: 'warning',
|
|
166
174
|
});
|
|
167
175
|
}
|
|
176
|
+
if ((this.name === 'b' || this.name === 'strong') && this.closest('heading-title')) {
|
|
177
|
+
refError ??= (0, lint_1.generateForSelf)(this, { start }, '');
|
|
178
|
+
errors.push({
|
|
179
|
+
...refError,
|
|
180
|
+
message: Parser.msg('bold in section header'),
|
|
181
|
+
severity: 'warning',
|
|
182
|
+
});
|
|
183
|
+
}
|
|
168
184
|
return errors;
|
|
169
185
|
}
|
|
170
186
|
/**
|
|
@@ -6,7 +6,6 @@ import type { AstNodes, AstText, AtomToken, FileToken } from '../internal';
|
|
|
6
6
|
export declare const galleryParams: Set<string>;
|
|
7
7
|
/** 图片参数 */
|
|
8
8
|
export declare class ImageParameterToken extends Token {
|
|
9
|
-
#private;
|
|
10
9
|
readonly type = "image-parameter";
|
|
11
10
|
readonly name: string;
|
|
12
11
|
abstract get parentNode(): FileToken | undefined;
|
|
@@ -42,6 +41,8 @@ export declare class ImageParameterToken extends Token {
|
|
|
42
41
|
text(): string;
|
|
43
42
|
/** @override */
|
|
44
43
|
lint(start?: number): LintError[];
|
|
44
|
+
/** 获取参数值 */
|
|
45
|
+
getValue(): string | true;
|
|
45
46
|
/** @override */
|
|
46
47
|
print(): string;
|
|
47
48
|
/** @override */
|
|
@@ -54,8 +55,6 @@ export declare class ImageParameterToken extends Token {
|
|
|
54
55
|
*/
|
|
55
56
|
insertAt(token: string, i?: number): AstText;
|
|
56
57
|
insertAt<T extends AstNodes>(token: T, i?: number): T;
|
|
57
|
-
/** 获取参数值 */
|
|
58
|
-
getValue(): string | true;
|
|
59
58
|
/**
|
|
60
59
|
* 设置参数值
|
|
61
60
|
* @param value 参数值
|
|
@@ -175,6 +175,14 @@ class ImageParameterToken extends index_1.Token {
|
|
|
175
175
|
}
|
|
176
176
|
return errors;
|
|
177
177
|
}
|
|
178
|
+
/** 是否是不可变参数 */
|
|
179
|
+
#isVoid() {
|
|
180
|
+
return this.#syntax && !this.#syntax.includes('$1');
|
|
181
|
+
}
|
|
182
|
+
/** 获取参数值 */
|
|
183
|
+
getValue() {
|
|
184
|
+
return this.name === 'invalid' ? this.text() : this.#isVoid() || super.text();
|
|
185
|
+
}
|
|
178
186
|
/** @override */
|
|
179
187
|
print() {
|
|
180
188
|
if (this.#syntax) {
|
|
@@ -205,20 +213,12 @@ class ImageParameterToken extends index_1.Token {
|
|
|
205
213
|
super.setAttribute(key, value);
|
|
206
214
|
}
|
|
207
215
|
}
|
|
208
|
-
/** 是否是不可变参数 */
|
|
209
|
-
#isVoid() {
|
|
210
|
-
return this.#syntax && !this.#syntax.includes('$1');
|
|
211
|
-
}
|
|
212
216
|
insertAt(token, i) {
|
|
213
217
|
if (!debug_1.Shadow.running && this.#isVoid()) {
|
|
214
218
|
throw new Error(`图片参数 ${this.name} 不接受自定义输入!`);
|
|
215
219
|
}
|
|
216
220
|
return super.insertAt(token, i);
|
|
217
221
|
}
|
|
218
|
-
/** 获取参数值 */
|
|
219
|
-
getValue() {
|
|
220
|
-
return this.name === 'invalid' ? this.text() : this.#isVoid() || super.text();
|
|
221
|
-
}
|
|
222
222
|
/**
|
|
223
223
|
* 设置参数值
|
|
224
224
|
* @param value 参数值
|
package/dist/src/imagemap.d.ts
CHANGED
|
@@ -12,7 +12,7 @@ import type { AstNodes, AstText, AttributesToken, ExtToken } from '../internal';
|
|
|
12
12
|
export declare class ImagemapToken extends Token {
|
|
13
13
|
readonly type = "ext-inner";
|
|
14
14
|
readonly name: 'imagemap';
|
|
15
|
-
readonly childNodes: (GalleryImageToken | NoincludeToken | ImagemapLinkToken | AstText)[];
|
|
15
|
+
readonly childNodes: readonly (GalleryImageToken | NoincludeToken | ImagemapLinkToken | AstText)[];
|
|
16
16
|
abstract get children(): (GalleryImageToken | NoincludeToken | ImagemapLinkToken)[];
|
|
17
17
|
abstract get firstChild(): NoincludeToken | GalleryImageToken | undefined;
|
|
18
18
|
abstract get firstElementChild(): NoincludeToken | GalleryImageToken | undefined;
|
|
@@ -27,7 +27,7 @@ export declare class ImagemapToken extends Token {
|
|
|
27
27
|
/** 图片 */
|
|
28
28
|
get image(): GalleryImageToken | undefined;
|
|
29
29
|
/** 链接 */
|
|
30
|
-
get links():
|
|
30
|
+
get links(): ImagemapLinkToken[];
|
|
31
31
|
/** @param inner 标签内部wikitext */
|
|
32
32
|
constructor(inner?: string, config?: Parser.Config, accum?: Token[]);
|
|
33
33
|
/** @override */
|
|
@@ -4,43 +4,16 @@ import { NoincludeToken } from './nowiki/noinclude';
|
|
|
4
4
|
import { LinkToken } from './link/index';
|
|
5
5
|
import { ExtLinkToken } from './extLink';
|
|
6
6
|
import type { Title } from '../lib/title';
|
|
7
|
+
import type { FixedTokenBase } from '../mixin/fixed';
|
|
7
8
|
import type { AstText, ImagemapToken } from '../internal';
|
|
8
|
-
declare
|
|
9
|
+
export declare class ImagemapLinkToken extends Token implements FixedTokenBase {
|
|
9
10
|
removeAt(): never;
|
|
10
11
|
insertAt(token: string, i?: number | undefined): Parser.AstText;
|
|
11
12
|
insertAt<T extends Parser.AstNodes>(token: T, i?: number | undefined): T;
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
text(separator?: string | undefined): string;
|
|
15
|
-
lint(start?: number | undefined): Parser.LintError[];
|
|
16
|
-
afterBuild(): void;
|
|
17
|
-
getAttribute<T_1 extends string>(key: T_1): TokenAttributeGetter<T_1>;
|
|
18
|
-
setAttribute<T_2 extends string>(key: T_2, value: TokenAttributeSetter<T_2>): void;
|
|
19
|
-
addEventListener(events: string | string[], listener: AstListener): void;
|
|
20
|
-
replaceChildren(...elements: (string | Parser.AstNodes)[]): void;
|
|
21
|
-
constructorError(msg: string): never;
|
|
22
|
-
}) & {
|
|
23
|
-
readonly fixed: true;
|
|
24
|
-
}) & (abstract new (...args: any[]) => {
|
|
25
|
-
toString(omit?: Set<string> | undefined): string;
|
|
26
|
-
text(): string;
|
|
27
|
-
readonly length: number;
|
|
28
|
-
lint(start?: number | undefined): Parser.LintError[];
|
|
29
|
-
insertAt(token: unknown, i?: number | undefined): unknown;
|
|
30
|
-
afterBuild(): void;
|
|
31
|
-
getAttribute<T_1 extends string>(key: T_1): TokenAttributeGetter<T_1>;
|
|
32
|
-
setAttribute<T_2 extends string>(key: T_2, value: TokenAttributeSetter<T_2>): void;
|
|
33
|
-
addEventListener(events: string | string[], listener: AstListener): void;
|
|
34
|
-
replaceChildren(...elements: (string | Parser.AstNodes)[]): void;
|
|
35
|
-
constructorError(msg: string): never;
|
|
36
|
-
}) & typeof Parser.Token;
|
|
37
|
-
/**
|
|
38
|
-
* `<imagemap>`内的链接
|
|
39
|
-
* @classdesc `{childNodes: [AstText, LinkToken|ExtLinkToken, NoincludeToken]}`
|
|
40
|
-
*/
|
|
41
|
-
export declare class ImagemapLinkToken extends ImagemapLinkToken_base {
|
|
13
|
+
|
|
14
|
+
|
|
42
15
|
readonly type = "imagemap-link";
|
|
43
|
-
readonly childNodes: [AstText, LinkToken | ExtLinkToken, NoincludeToken];
|
|
16
|
+
readonly childNodes: readonly [AstText, LinkToken | ExtLinkToken, NoincludeToken];
|
|
44
17
|
abstract get children(): [LinkToken | ExtLinkToken, NoincludeToken];
|
|
45
18
|
abstract get firstChild(): AstText;
|
|
46
19
|
abstract get firstElementChild(): LinkToken | ExtLinkToken;
|
package/dist/src/imagemapLink.js
CHANGED
|
@@ -13,7 +13,7 @@ const extLink_1 = require("./extLink");
|
|
|
13
13
|
* `<imagemap>`内的链接
|
|
14
14
|
* @classdesc `{childNodes: [AstText, LinkToken|ExtLinkToken, NoincludeToken]}`
|
|
15
15
|
*/
|
|
16
|
-
class ImagemapLinkToken extends (0, fixed_1.
|
|
16
|
+
class ImagemapLinkToken extends (0, fixed_1.fixedToken)((0, singleLine_1.singleLine)(index_1.Token)) {
|
|
17
17
|
type = 'imagemap-link';
|
|
18
18
|
/* NOT FOR BROWSER */
|
|
19
19
|
/** 内外链接 */
|
package/dist/src/index.d.ts
CHANGED
|
@@ -5,7 +5,7 @@ import { AstElement } from '../lib/element';
|
|
|
5
5
|
import { AstText } from '../lib/text';
|
|
6
6
|
import type { Range } from '../lib/ranges';
|
|
7
7
|
import type { Title } from '../lib/title';
|
|
8
|
-
import type { AstNodes, IncludeToken, HtmlToken, ExtToken, TranscludeToken, CommentToken, FileToken } from '../internal';
|
|
8
|
+
import type { AstNodes, IncludeToken, HtmlToken, ExtToken, TranscludeToken, CommentToken, FileToken, LinkToken, ExtLinkToken, MagicLinkToken, ImageParameterToken, ImagemapLinkToken } from '../internal';
|
|
9
9
|
import type { CaretPosition } from '../lib/node';
|
|
10
10
|
import type { TokenTypes } from '../util/constants';
|
|
11
11
|
declare type TagToken = IncludeToken | ExtToken | HtmlToken;
|
|
@@ -14,14 +14,13 @@ declare type TagToken = IncludeToken | ExtToken | HtmlToken;
|
|
|
14
14
|
* @classdesc `{childNodes: ...(AstText|Token)}`
|
|
15
15
|
*/
|
|
16
16
|
export declare class Token extends AstElement {
|
|
17
|
-
#private;
|
|
18
17
|
type: TokenTypes;
|
|
19
18
|
/** 所有图片,包括图库 */
|
|
20
|
-
get images():
|
|
19
|
+
get images(): FileToken[];
|
|
21
20
|
/** 所有内链、外链和自由外链 */
|
|
22
|
-
get links():
|
|
21
|
+
get links(): (LinkToken | ExtLinkToken | MagicLinkToken | ImageParameterToken | ImagemapLinkToken)[];
|
|
23
22
|
/** 所有模板和模块 */
|
|
24
|
-
get embeds():
|
|
23
|
+
get embeds(): TranscludeToken[];
|
|
25
24
|
/** @class */
|
|
26
25
|
constructor(wikitext?: string, config?: Parser.Config, accum?: Token[], acceptable?: Acceptable);
|
|
27
26
|
/**
|
|
@@ -101,13 +100,13 @@ export declare class Token extends AstElement {
|
|
|
101
100
|
* 找到给定位置所在的所有节点
|
|
102
101
|
* @param index 位置
|
|
103
102
|
*/
|
|
104
|
-
elementsFromIndex(index?: number):
|
|
103
|
+
elementsFromIndex(index?: number): AstNodes[];
|
|
105
104
|
/**
|
|
106
105
|
* 找到给定位置所在的所有节点
|
|
107
106
|
* @param x 列数
|
|
108
107
|
* @param y 行数
|
|
109
108
|
*/
|
|
110
|
-
elementsFromPoint(x: number, y: number):
|
|
109
|
+
elementsFromPoint(x: number, y: number): AstNodes[];
|
|
111
110
|
/**
|
|
112
111
|
* 判断标题是否是跨维基链接
|
|
113
112
|
* @param title 标题
|
|
@@ -129,7 +128,7 @@ export declare class Token extends AstElement {
|
|
|
129
128
|
*/
|
|
130
129
|
findEnclosingHtml(tag?: string): AstRange | undefined;
|
|
131
130
|
/** 获取全部分类 */
|
|
132
|
-
getCategories():
|
|
131
|
+
getCategories(): [string, string | undefined][];
|
|
133
132
|
/** 重新解析单引号 */
|
|
134
133
|
redoQuotes(): void;
|
|
135
134
|
/** 解析部分魔术字 */
|