wikiparser-node 1.9.2 → 1.9.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/base.d.ts +9 -3
- package/dist/index.js +0 -1
- package/dist/lib/element.d.ts +1 -0
- package/dist/lib/element.js +23 -249
- package/dist/lib/node.d.ts +3 -1
- package/dist/lib/range.js +12 -12
- package/dist/lib/text.d.ts +2 -1
- package/dist/lib/text.js +8 -2
- package/dist/mixin/hidden.js +5 -0
- package/dist/mixin/syntax.js +2 -1
- package/dist/parser/selector.js +223 -20
- package/dist/parser/table.js +3 -3
- package/dist/src/arg.d.ts +1 -2
- package/dist/src/arg.js +3 -2
- package/dist/src/atom.d.ts +5 -3
- package/dist/src/atom.js +28 -2
- package/dist/src/attribute.d.ts +1 -2
- package/dist/src/attribute.js +5 -2
- package/dist/src/attributes.d.ts +1 -2
- package/dist/src/attributes.js +7 -2
- package/dist/src/converter.d.ts +1 -2
- package/dist/src/converter.js +5 -2
- package/dist/src/converterFlags.d.ts +1 -2
- package/dist/src/converterFlags.js +5 -2
- package/dist/src/converterRule.d.ts +1 -3
- package/dist/src/converterRule.js +5 -3
- package/dist/src/extLink.d.ts +1 -2
- package/dist/src/extLink.js +5 -2
- package/dist/src/gallery.d.ts +1 -2
- package/dist/src/gallery.js +7 -4
- package/dist/src/heading.d.ts +1 -2
- package/dist/src/heading.js +3 -2
- package/dist/src/hidden.d.ts +1 -2
- package/dist/src/hidden.js +3 -2
- package/dist/src/html.d.ts +1 -2
- package/dist/src/html.js +3 -2
- package/dist/src/imageParameter.d.ts +1 -2
- package/dist/src/imageParameter.js +3 -2
- package/dist/src/imagemap.d.ts +1 -2
- package/dist/src/imagemap.js +3 -2
- package/dist/src/imagemapLink.d.ts +1 -1
- package/dist/src/imagemapLink.js +5 -1
- package/dist/src/index.d.ts +2 -1
- package/dist/src/index.js +26 -1
- package/dist/src/link/base.d.ts +1 -2
- package/dist/src/link/base.js +5 -3
- package/dist/src/link/category.d.ts +1 -1
- package/dist/src/link/category.js +5 -1
- package/dist/src/link/file.d.ts +1 -1
- package/dist/src/link/file.js +3 -1
- package/dist/src/link/galleryImage.d.ts +1 -2
- package/dist/src/link/galleryImage.js +7 -33
- package/dist/src/link/index.d.ts +1 -2
- package/dist/src/link/index.js +5 -2
- package/dist/src/link/redirectTarget.d.ts +1 -2
- package/dist/src/link/redirectTarget.js +5 -2
- package/dist/src/magicLink.d.ts +2 -2
- package/dist/src/magicLink.js +8 -5
- package/dist/src/nested.d.ts +1 -2
- package/dist/src/nested.js +3 -2
- package/dist/src/nowiki/base.d.ts +1 -2
- package/dist/src/nowiki/base.js +1 -3
- package/dist/src/nowiki/comment.d.ts +1 -2
- package/dist/src/nowiki/comment.js +3 -2
- package/dist/src/nowiki/dd.d.ts +1 -1
- package/dist/src/nowiki/dd.js +3 -1
- package/dist/src/nowiki/doubleUnderscore.d.ts +1 -2
- package/dist/src/nowiki/doubleUnderscore.js +3 -2
- package/dist/src/nowiki/hr.d.ts +1 -1
- package/dist/src/nowiki/hr.js +3 -1
- package/dist/src/nowiki/index.d.ts +1 -1
- package/dist/src/nowiki/index.js +3 -1
- package/dist/src/nowiki/list.d.ts +1 -1
- package/dist/src/nowiki/list.js +3 -1
- package/dist/src/nowiki/listBase.d.ts +1 -1
- package/dist/src/nowiki/noinclude.d.ts +1 -5
- package/dist/src/nowiki/noinclude.js +3 -5
- package/dist/src/nowiki/quote.d.ts +1 -4
- package/dist/src/nowiki/quote.js +3 -4
- package/dist/src/onlyinclude.d.ts +1 -2
- package/dist/src/onlyinclude.js +3 -2
- package/dist/src/paramTag/index.d.ts +1 -2
- package/dist/src/paramTag/index.js +3 -2
- package/dist/src/parameter.d.ts +1 -7
- package/dist/src/parameter.js +3 -7
- package/dist/src/pre.d.ts +1 -2
- package/dist/src/pre.js +3 -2
- package/dist/src/redirect.d.ts +1 -2
- package/dist/src/redirect.js +3 -2
- package/dist/src/syntax.d.ts +4 -4
- package/dist/src/syntax.js +6 -3
- package/dist/src/table/base.d.ts +1 -2
- package/dist/src/table/base.js +0 -1
- package/dist/src/table/index.d.ts +1 -10
- package/dist/src/table/index.js +3 -10
- package/dist/src/table/td.d.ts +1 -7
- package/dist/src/table/td.js +3 -7
- package/dist/src/table/tr.d.ts +1 -1
- package/dist/src/table/tr.js +3 -1
- package/dist/src/table/trBase.d.ts +1 -1
- package/dist/src/tagPair/ext.d.ts +1 -2
- package/dist/src/tagPair/ext.js +7 -4
- package/dist/src/tagPair/include.d.ts +1 -3
- package/dist/src/tagPair/include.js +5 -3
- package/dist/src/tagPair/index.d.ts +1 -1
- package/dist/src/transclude.d.ts +1 -2
- package/dist/src/transclude.js +8 -5
- package/dist/util/constants.js +2 -2
- package/dist/util/debug.js +0 -2
- package/package.json +1 -1
package/dist/src/redirect.d.ts
CHANGED
|
@@ -9,7 +9,6 @@ import type { LintError } from '../base';
|
|
|
9
9
|
*/
|
|
10
10
|
export declare abstract class RedirectToken extends Token {
|
|
11
11
|
#private;
|
|
12
|
-
readonly type = "redirect";
|
|
13
12
|
readonly childNodes: readonly [SyntaxToken, RedirectTargetToken];
|
|
14
13
|
abstract get firstChild(): SyntaxToken;
|
|
15
14
|
abstract get lastChild(): RedirectTargetToken;
|
|
@@ -18,6 +17,7 @@ export declare abstract class RedirectToken extends Token {
|
|
|
18
17
|
abstract get firstElementChild(): SyntaxToken;
|
|
19
18
|
abstract get lastElementChild(): RedirectTargetToken;
|
|
20
19
|
abstract get previousElementSibling(): undefined;
|
|
20
|
+
get type(): 'redirect';
|
|
21
21
|
/**
|
|
22
22
|
* @param pre leading whitespace
|
|
23
23
|
* @param syntax 重定向魔术字
|
|
@@ -26,6 +26,5 @@ export declare abstract class RedirectToken extends Token {
|
|
|
26
26
|
* @param post trailing whitespace
|
|
27
27
|
*/
|
|
28
28
|
constructor(pre: string, syntax: string | undefined, link: string, text: string | undefined, post: string, config?: Parser.Config, accum?: Token[]);
|
|
29
|
-
/** @override */
|
|
30
29
|
cloneNode(): this;
|
|
31
30
|
}
|
package/dist/src/redirect.js
CHANGED
|
@@ -62,10 +62,12 @@ let RedirectToken = (() => {
|
|
|
62
62
|
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
63
63
|
__runInitializers(_classThis, _classExtraInitializers);
|
|
64
64
|
}
|
|
65
|
-
type = 'redirect';
|
|
66
65
|
#pre;
|
|
67
66
|
#post;
|
|
68
67
|
/* NOT FOR BROWSER END */
|
|
68
|
+
get type() {
|
|
69
|
+
return 'redirect';
|
|
70
|
+
}
|
|
69
71
|
/**
|
|
70
72
|
* @param pre leading whitespace
|
|
71
73
|
* @param syntax 重定向魔术字
|
|
@@ -103,7 +105,6 @@ let RedirectToken = (() => {
|
|
|
103
105
|
return super.print({ pre: this.#pre, post: this.#post });
|
|
104
106
|
}
|
|
105
107
|
/* NOT FOR BROWSER */
|
|
106
|
-
/** @override */
|
|
107
108
|
cloneNode() {
|
|
108
109
|
const cloned = this.cloneChildNodes(), config = this.getAttribute('config');
|
|
109
110
|
return debug_1.Shadow.run(() => {
|
package/dist/src/syntax.d.ts
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
import { Token } from './index';
|
|
2
2
|
import type { Config } from '../base';
|
|
3
3
|
import type { SyntaxBase } from '../mixin/syntax';
|
|
4
|
-
declare type SyntaxTypes = '
|
|
4
|
+
declare type SyntaxTypes = 'heading-trail' | 'magic-word-name' | 'table-syntax' | 'redirect-syntax';
|
|
5
5
|
/** NOT FOR BROWSER */
|
|
6
6
|
export interface SyntaxToken extends SyntaxBase {
|
|
7
7
|
}
|
|
8
8
|
/** NOT FOR BROWSER END */
|
|
9
9
|
/** 满足特定语法格式的plain Token */
|
|
10
10
|
export declare class SyntaxToken extends Token {
|
|
11
|
-
|
|
11
|
+
#private;
|
|
12
|
+
get type(): SyntaxTypes;
|
|
12
13
|
/** @param pattern 语法正则 */
|
|
13
|
-
constructor(wikitext: string | undefined, pattern: RegExp, type
|
|
14
|
-
/** @override */
|
|
14
|
+
constructor(wikitext: string | undefined, pattern: RegExp, type: SyntaxTypes, config?: Config, accum?: Token[], acceptable?: Acceptable);
|
|
15
15
|
cloneNode(): this;
|
|
16
16
|
}
|
|
17
17
|
export {};
|
package/dist/src/syntax.js
CHANGED
|
@@ -56,10 +56,14 @@ let SyntaxToken = (() => {
|
|
|
56
56
|
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
57
57
|
__runInitializers(_classThis, _classExtraInitializers);
|
|
58
58
|
}
|
|
59
|
+
#type;
|
|
60
|
+
get type() {
|
|
61
|
+
return this.#type;
|
|
62
|
+
}
|
|
59
63
|
/** @param pattern 语法正则 */
|
|
60
|
-
constructor(wikitext, pattern, type
|
|
64
|
+
constructor(wikitext, pattern, type, config, accum, acceptable) {
|
|
61
65
|
super(wikitext, config, accum, acceptable);
|
|
62
|
-
this
|
|
66
|
+
this.#type = type;
|
|
63
67
|
/* NOT FOR BROWSER */
|
|
64
68
|
this.setAttribute('pattern', pattern);
|
|
65
69
|
}
|
|
@@ -68,7 +72,6 @@ let SyntaxToken = (() => {
|
|
|
68
72
|
return [];
|
|
69
73
|
}
|
|
70
74
|
/* NOT FOR BROWSER */
|
|
71
|
-
/** @override */
|
|
72
75
|
cloneNode() {
|
|
73
76
|
const cloned = this.cloneChildNodes(), config = this.getAttribute('config'), acceptable = this.getAcceptable();
|
|
74
77
|
return debug_1.Shadow.run(() => {
|
package/dist/src/table/base.d.ts
CHANGED
|
@@ -7,7 +7,7 @@ declare type TableTypes = 'table' | 'tr' | 'td';
|
|
|
7
7
|
export interface TableBaseToken extends AttributesParentBase {
|
|
8
8
|
}
|
|
9
9
|
export declare abstract class TableBaseToken extends Token {
|
|
10
|
-
type: TableTypes;
|
|
10
|
+
abstract get type(): TableTypes;
|
|
11
11
|
readonly childNodes: readonly [SyntaxToken, AttributesToken, ...Token[]];
|
|
12
12
|
abstract get firstChild(): SyntaxToken;
|
|
13
13
|
abstract get lastChild(): Token;
|
|
@@ -21,7 +21,6 @@ export declare abstract class TableBaseToken extends Token {
|
|
|
21
21
|
* @param attr 表格属性
|
|
22
22
|
*/
|
|
23
23
|
constructor(pattern: RegExp, syntax: string, type: TableTypes, attr?: string, config?: Parser.Config, accum?: Token[], acceptable?: Acceptable);
|
|
24
|
-
/** @override */
|
|
25
24
|
cloneNode(): this;
|
|
26
25
|
/** 转义表格语法 */
|
|
27
26
|
escape(): void;
|
package/dist/src/table/base.js
CHANGED
|
@@ -42,7 +42,6 @@ class TableBaseToken extends (0, attributesParent_1.attributesParent)(1)(index_2
|
|
|
42
42
|
this.protectChildren(0, 1);
|
|
43
43
|
}
|
|
44
44
|
/* NOT FOR BROWSER */
|
|
45
|
-
/** @override */
|
|
46
45
|
cloneNode() {
|
|
47
46
|
const [syntax, attr, ...cloned] = this.cloneChildNodes();
|
|
48
47
|
return debug_1.Shadow.run(() => {
|
|
@@ -28,11 +28,11 @@ export declare class Layout extends Array<TableCoords[]> {
|
|
|
28
28
|
* @classdesc `{childNodes: [SyntaxToken, AttributesToken, ?Token, ...TdToken, ...TrToken, ?SyntaxToken]}`
|
|
29
29
|
*/
|
|
30
30
|
export declare abstract class TableToken extends TrBaseToken {
|
|
31
|
-
readonly type = "table";
|
|
32
31
|
readonly childNodes: readonly [SyntaxToken, AttributesToken, ...(TdToken | TrToken)[], SyntaxToken] | readonly [SyntaxToken, AttributesToken, ...(TdToken | TrToken)[]];
|
|
33
32
|
abstract get lastChild(): AttributesToken | TdToken | TrToken | SyntaxToken;
|
|
34
33
|
abstract get children(): [SyntaxToken, AttributesToken, ...(TdToken | TrToken)[], SyntaxToken] | [SyntaxToken, AttributesToken, ...(TdToken | TrToken)[]];
|
|
35
34
|
abstract get lastElementChild(): AttributesToken | TdToken | TrToken | SyntaxToken;
|
|
35
|
+
get type(): 'table';
|
|
36
36
|
/** 表格是否闭合 */
|
|
37
37
|
get closed(): boolean;
|
|
38
38
|
set closed(closed: boolean);
|
|
@@ -86,7 +86,6 @@ export declare abstract class TableToken extends TrBaseToken {
|
|
|
86
86
|
* @throws `SyntaxError` 表格的闭合部分非法
|
|
87
87
|
*/
|
|
88
88
|
insertAt<T extends Token>(token: T, i?: number): T;
|
|
89
|
-
/** @override */
|
|
90
89
|
getRowCount(): number;
|
|
91
90
|
/** 获取下一行 */
|
|
92
91
|
getNextRow(): TrToken | undefined;
|
|
@@ -141,14 +140,6 @@ export declare abstract class TableToken extends TrBaseToken {
|
|
|
141
140
|
* @param attr 表格属性
|
|
142
141
|
*/
|
|
143
142
|
fillTable(inner: string | Token, subtype?: TdSubtypes, attr?: TdAttrs): void;
|
|
144
|
-
/**
|
|
145
|
-
* @override
|
|
146
|
-
* @param inner 单元格内部wikitext
|
|
147
|
-
* @param coords 单元格坐标
|
|
148
|
-
* @param subtype 单元格类型
|
|
149
|
-
* @param attr 单元格属性
|
|
150
|
-
* @throws `RangeError` 指定的坐标不是单元格起始点
|
|
151
|
-
*/
|
|
152
143
|
insertTableCell(inner: string | Token, coords: TableCoords | TableRenderedCoords, subtype?: TdSubtypes, attr?: TdAttrs): TdToken;
|
|
153
144
|
/**
|
|
154
145
|
* 插入表格行
|
package/dist/src/table/index.js
CHANGED
|
@@ -47,8 +47,10 @@ exports.Layout = Layout;
|
|
|
47
47
|
* @classdesc `{childNodes: [SyntaxToken, AttributesToken, ?Token, ...TdToken, ...TrToken, ?SyntaxToken]}`
|
|
48
48
|
*/
|
|
49
49
|
class TableToken extends trBase_1.TrBaseToken {
|
|
50
|
-
type = 'table';
|
|
51
50
|
/* NOT FOR BROWSER END */
|
|
51
|
+
get type() {
|
|
52
|
+
return 'table';
|
|
53
|
+
}
|
|
52
54
|
/** 表格是否闭合 */
|
|
53
55
|
get closed() {
|
|
54
56
|
return this.lastChild.type === 'table-syntax';
|
|
@@ -256,7 +258,6 @@ class TableToken extends trBase_1.TrBaseToken {
|
|
|
256
258
|
}
|
|
257
259
|
return super.insertAt(token, i);
|
|
258
260
|
}
|
|
259
|
-
/** @override */
|
|
260
261
|
getRowCount() {
|
|
261
262
|
return super.getRowCount() + this.childNodes.filter(child => child.type === 'tr' && child.getRowCount()).length;
|
|
262
263
|
}
|
|
@@ -342,14 +343,6 @@ class TableToken extends trBase_1.TrBaseToken {
|
|
|
342
343
|
require('../../addon/table');
|
|
343
344
|
this.fillTable(inner, subtype, attr);
|
|
344
345
|
}
|
|
345
|
-
/**
|
|
346
|
-
* @override
|
|
347
|
-
* @param inner 单元格内部wikitext
|
|
348
|
-
* @param coords 单元格坐标
|
|
349
|
-
* @param subtype 单元格类型
|
|
350
|
-
* @param attr 单元格属性
|
|
351
|
-
* @throws `RangeError` 指定的坐标不是单元格起始点
|
|
352
|
-
*/
|
|
353
346
|
insertTableCell(inner, coords, subtype, attr) {
|
|
354
347
|
require('../../addon/table');
|
|
355
348
|
return this.insertTableCell(inner, coords, subtype, attr);
|
package/dist/src/table/td.d.ts
CHANGED
|
@@ -17,7 +17,6 @@ export type TdAttrs = Record<string, string | true> & TdSpanAttrs;
|
|
|
17
17
|
*/
|
|
18
18
|
export declare abstract class TdToken extends TableBaseToken {
|
|
19
19
|
#private;
|
|
20
|
-
readonly type = "td";
|
|
21
20
|
readonly childNodes: readonly [SyntaxToken, AttributesToken, Token];
|
|
22
21
|
abstract get parentNode(): TrToken | TableToken | undefined;
|
|
23
22
|
abstract get nextSibling(): this | TrToken | SyntaxToken | undefined;
|
|
@@ -25,6 +24,7 @@ export declare abstract class TdToken extends TableBaseToken {
|
|
|
25
24
|
abstract get children(): [SyntaxToken, AttributesToken, Token];
|
|
26
25
|
abstract get parentElement(): TrToken | TableToken | undefined;
|
|
27
26
|
abstract get nextElementSibling(): this | TrToken | SyntaxToken | undefined;
|
|
27
|
+
get type(): 'td';
|
|
28
28
|
/** rowspan */
|
|
29
29
|
get rowspan(): number;
|
|
30
30
|
/** colspan */
|
|
@@ -44,18 +44,12 @@ export declare abstract class TdToken extends TableBaseToken {
|
|
|
44
44
|
constructor(syntax: string, inner?: string, config?: Parser.Config, accum?: Token[]);
|
|
45
45
|
/** 是否位于行首 */
|
|
46
46
|
isIndependent(): boolean;
|
|
47
|
-
/**
|
|
48
|
-
* @override
|
|
49
|
-
* @param key 属性键
|
|
50
|
-
*/
|
|
51
47
|
getAttr<T extends string>(key: T): TdAttrGetter<T>;
|
|
52
48
|
/** @override */
|
|
53
49
|
json(): AST;
|
|
54
|
-
/** @override */
|
|
55
50
|
cloneNode(): this;
|
|
56
51
|
/** 改为独占一行 */
|
|
57
52
|
independence(): void;
|
|
58
|
-
/** @override */
|
|
59
53
|
getAttrs(): TdAttrs;
|
|
60
54
|
/**
|
|
61
55
|
* @override
|
package/dist/src/table/td.js
CHANGED
|
@@ -64,10 +64,12 @@ let TdToken = (() => {
|
|
|
64
64
|
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
65
65
|
__runInitializers(_classThis, _classExtraInitializers);
|
|
66
66
|
}
|
|
67
|
-
type = 'td';
|
|
68
67
|
#innerSyntax = '';
|
|
69
68
|
#syntax;
|
|
70
69
|
/* NOT FOR BROWSER END */
|
|
70
|
+
get type() {
|
|
71
|
+
return 'td';
|
|
72
|
+
}
|
|
71
73
|
/** rowspan */
|
|
72
74
|
get rowspan() {
|
|
73
75
|
return this.getAttr('rowspan');
|
|
@@ -242,10 +244,6 @@ let TdToken = (() => {
|
|
|
242
244
|
isIndependent() {
|
|
243
245
|
return this.firstChild.text().startsWith('\n');
|
|
244
246
|
}
|
|
245
|
-
/**
|
|
246
|
-
* @override
|
|
247
|
-
* @param key 属性键
|
|
248
|
-
*/
|
|
249
247
|
getAttr(key) {
|
|
250
248
|
const value = super.getAttr(key);
|
|
251
249
|
key = key.toLowerCase().trim();
|
|
@@ -263,7 +261,6 @@ let TdToken = (() => {
|
|
|
263
261
|
return json;
|
|
264
262
|
}
|
|
265
263
|
/* NOT FOR BROWSER */
|
|
266
|
-
/** @override */
|
|
267
264
|
cloneNode() {
|
|
268
265
|
const token = super.cloneNode();
|
|
269
266
|
token.setAttribute('innerSyntax', this.#innerSyntax);
|
|
@@ -300,7 +297,6 @@ let TdToken = (() => {
|
|
|
300
297
|
this.setSyntax(subtype, escape);
|
|
301
298
|
}
|
|
302
299
|
}
|
|
303
|
-
/** @override */
|
|
304
300
|
getAttrs() {
|
|
305
301
|
const attr = super.getAttrs();
|
|
306
302
|
if ('rowspan' in attr) {
|
package/dist/src/table/tr.d.ts
CHANGED
|
@@ -7,7 +7,6 @@ import type { Token, TdToken, TableToken, SyntaxToken, AttributesToken } from '.
|
|
|
7
7
|
*/
|
|
8
8
|
export declare abstract class TrToken extends TrBaseToken {
|
|
9
9
|
#private;
|
|
10
|
-
readonly type = "tr";
|
|
11
10
|
readonly childNodes: readonly [SyntaxToken, AttributesToken, ...TdToken[]];
|
|
12
11
|
abstract get lastChild(): AttributesToken | TdToken;
|
|
13
12
|
abstract get parentNode(): TableToken | undefined;
|
|
@@ -18,6 +17,7 @@ export declare abstract class TrToken extends TrBaseToken {
|
|
|
18
17
|
abstract get parentElement(): TableToken | undefined;
|
|
19
18
|
abstract get nextElementSibling(): this | SyntaxToken | undefined;
|
|
20
19
|
abstract get previousElementSibling(): Token;
|
|
20
|
+
get type(): 'tr';
|
|
21
21
|
/**
|
|
22
22
|
* @param syntax 表格语法
|
|
23
23
|
* @param attr 表格属性
|
package/dist/src/table/tr.js
CHANGED
|
@@ -9,8 +9,10 @@ const trBase_1 = require("./trBase");
|
|
|
9
9
|
* @classdesc `{childNodes: [SyntaxToken, AttributesToken, ?Token, ...TdToken]}`
|
|
10
10
|
*/
|
|
11
11
|
class TrToken extends trBase_1.TrBaseToken {
|
|
12
|
-
type = 'tr';
|
|
13
12
|
/* NOT FOR BROWSER END */
|
|
13
|
+
get type() {
|
|
14
|
+
return 'tr';
|
|
15
|
+
}
|
|
14
16
|
/**
|
|
15
17
|
* @param syntax 表格语法
|
|
16
18
|
* @param attr 表格属性
|
|
@@ -11,13 +11,13 @@ export interface ExtToken extends AttributesParentBase {
|
|
|
11
11
|
* @classdesc `{childNodes: [AttributesToken, Token]}`
|
|
12
12
|
*/
|
|
13
13
|
export declare abstract class ExtToken extends TagPairToken {
|
|
14
|
-
readonly type = "ext";
|
|
15
14
|
closed: true;
|
|
16
15
|
readonly childNodes: readonly [AttributesToken, Token];
|
|
17
16
|
abstract get firstChild(): AttributesToken;
|
|
18
17
|
abstract get lastChild(): Token;
|
|
19
18
|
abstract get children(): [AttributesToken, Token];
|
|
20
19
|
abstract get firstElementChild(): AttributesToken;
|
|
20
|
+
get type(): 'ext';
|
|
21
21
|
/**
|
|
22
22
|
* @param name 标签名
|
|
23
23
|
* @param attr 标签属性
|
|
@@ -25,6 +25,5 @@ export declare abstract class ExtToken extends TagPairToken {
|
|
|
25
25
|
* @param closed 是否封闭
|
|
26
26
|
*/
|
|
27
27
|
constructor(name: string, attr?: string, inner?: string, closed?: string, config?: Parser.Config, accum?: Token[]);
|
|
28
|
-
/** @override */
|
|
29
28
|
cloneNode(): this;
|
|
30
29
|
}
|
package/dist/src/tagPair/ext.js
CHANGED
|
@@ -74,8 +74,10 @@ let ExtToken = (() => {
|
|
|
74
74
|
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
75
75
|
__runInitializers(_classThis, _classExtraInitializers);
|
|
76
76
|
}
|
|
77
|
-
type = 'ext';
|
|
78
77
|
/* NOT FOR BROWSER END */
|
|
78
|
+
get type() {
|
|
79
|
+
return 'ext';
|
|
80
|
+
}
|
|
79
81
|
/**
|
|
80
82
|
* @param name 标签名
|
|
81
83
|
* @param attr 标签属性
|
|
@@ -164,11 +166,13 @@ let ExtToken = (() => {
|
|
|
164
166
|
default: {
|
|
165
167
|
const { NowikiToken } = require('../nowiki/index');
|
|
166
168
|
// @ts-expect-error abstract class
|
|
167
|
-
innerToken = new NowikiToken(inner, newConfig);
|
|
169
|
+
innerToken = new NowikiToken(inner, newConfig, accum);
|
|
168
170
|
}
|
|
169
171
|
}
|
|
170
172
|
innerToken.setAttribute('name', lcName);
|
|
171
|
-
innerToken.type
|
|
173
|
+
if (innerToken.type === 'plain') {
|
|
174
|
+
innerToken.type = 'ext-inner';
|
|
175
|
+
}
|
|
172
176
|
super(name, attrToken, innerToken, closed, config, accum);
|
|
173
177
|
this.seal('closed', true);
|
|
174
178
|
}
|
|
@@ -184,7 +188,6 @@ let ExtToken = (() => {
|
|
|
184
188
|
return errors;
|
|
185
189
|
}
|
|
186
190
|
/* NOT FOR BROWSER */
|
|
187
|
-
/** @override */
|
|
188
191
|
cloneNode() {
|
|
189
192
|
const inner = this.lastChild.cloneNode(), tags = this.getAttribute('tags'), config = this.getAttribute('config'), attr = this.firstChild.toString();
|
|
190
193
|
return debug_1.Shadow.run(() => {
|
|
@@ -6,14 +6,13 @@ import type { AstText, Token } from '../../internal';
|
|
|
6
6
|
* @classdesc `{childNodes: [AstText, AstText]}`
|
|
7
7
|
*/
|
|
8
8
|
export declare abstract class IncludeToken extends TagPairToken {
|
|
9
|
-
readonly type = "include";
|
|
10
9
|
readonly childNodes: readonly [AstText, AstText];
|
|
11
10
|
abstract get firstChild(): AstText;
|
|
12
11
|
abstract get lastChild(): AstText;
|
|
13
12
|
abstract get children(): [];
|
|
14
13
|
abstract get firstElementChild(): undefined;
|
|
15
14
|
abstract get lastElementChild(): undefined;
|
|
16
|
-
|
|
15
|
+
get type(): 'include';
|
|
17
16
|
get innerText(): string | undefined;
|
|
18
17
|
set innerText(text: string | undefined);
|
|
19
18
|
/**
|
|
@@ -23,7 +22,6 @@ export declare abstract class IncludeToken extends TagPairToken {
|
|
|
23
22
|
* @param closed 是否封闭
|
|
24
23
|
*/
|
|
25
24
|
constructor(name: string, attr?: string, inner?: string, closed?: string, config?: Config, accum?: Token[]);
|
|
26
|
-
/** @override */
|
|
27
25
|
cloneNode(): this;
|
|
28
26
|
/**
|
|
29
27
|
* @override
|
|
@@ -60,8 +60,11 @@ let IncludeToken = (() => {
|
|
|
60
60
|
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
61
61
|
__runInitializers(_classThis, _classExtraInitializers);
|
|
62
62
|
}
|
|
63
|
-
|
|
64
|
-
|
|
63
|
+
/* NOT FOR BROWSER END */
|
|
64
|
+
get type() {
|
|
65
|
+
return 'include';
|
|
66
|
+
}
|
|
67
|
+
/* NOT FOR BROWSER */
|
|
65
68
|
get innerText() {
|
|
66
69
|
return this.selfClosing ? undefined : this.lastChild.data;
|
|
67
70
|
}
|
|
@@ -100,7 +103,6 @@ let IncludeToken = (() => {
|
|
|
100
103
|
return [e];
|
|
101
104
|
}
|
|
102
105
|
/* NOT FOR BROWSER */
|
|
103
|
-
/** @override */
|
|
104
106
|
cloneNode() {
|
|
105
107
|
const tags = this.getAttribute('tags'), config = this.getAttribute('config'), { innerText } = this, closing = this.selfClosing || !this.closed ? undefined : tags[1];
|
|
106
108
|
// @ts-expect-error abstract class
|
|
@@ -4,10 +4,10 @@ import type { AstNodes } from '../../lib/node';
|
|
|
4
4
|
/** 成对标签 */
|
|
5
5
|
export declare abstract class TagPairToken extends Token {
|
|
6
6
|
#private;
|
|
7
|
-
type: 'ext' | 'include';
|
|
8
7
|
readonly name: string;
|
|
9
8
|
closed: boolean;
|
|
10
9
|
selfClosing: boolean;
|
|
10
|
+
abstract get type(): 'ext' | 'include';
|
|
11
11
|
readonly childNodes: readonly [AstNodes, AstNodes];
|
|
12
12
|
abstract get firstChild(): AstNodes;
|
|
13
13
|
abstract get lastChild(): AstNodes;
|
package/dist/src/transclude.d.ts
CHANGED
|
@@ -10,7 +10,6 @@ import type { LintError } from '../base';
|
|
|
10
10
|
*/
|
|
11
11
|
export declare abstract class TranscludeToken extends Token {
|
|
12
12
|
#private;
|
|
13
|
-
type: 'template' | 'magic-word';
|
|
14
13
|
readonly modifier: string;
|
|
15
14
|
readonly name: string;
|
|
16
15
|
readonly childNodes: readonly [AtomToken | SyntaxToken, ...ParameterToken[]] | readonly [SyntaxToken, AtomToken, AtomToken, ...ParameterToken[]];
|
|
@@ -19,6 +18,7 @@ export declare abstract class TranscludeToken extends Token {
|
|
|
19
18
|
abstract get children(): [AtomToken | SyntaxToken, ...ParameterToken[]] | [SyntaxToken, AtomToken, AtomToken, ...ParameterToken[]];
|
|
20
19
|
abstract get firstElementChild(): AtomToken | SyntaxToken;
|
|
21
20
|
abstract get lastElementChild(): AtomToken | SyntaxToken | ParameterToken;
|
|
21
|
+
get type(): 'template' | 'magic-word';
|
|
22
22
|
/** 是否存在重复参数 */
|
|
23
23
|
get duplication(): boolean;
|
|
24
24
|
set duplication(duplication: boolean);
|
|
@@ -62,7 +62,6 @@ export declare abstract class TranscludeToken extends Token {
|
|
|
62
62
|
* @throws `Error` 不是可接受的魔术字
|
|
63
63
|
*/
|
|
64
64
|
getPossibleValues(): Token[];
|
|
65
|
-
/** @override */
|
|
66
65
|
cloneNode(): this;
|
|
67
66
|
/** 替换引用 */
|
|
68
67
|
subst(): void;
|
package/dist/src/transclude.js
CHANGED
|
@@ -24,12 +24,16 @@ const insensitiveVars = new Set([
|
|
|
24
24
|
* @classdesc `{childNodes: [AtomToken|SyntaxToken, ...AtomToken, ...ParameterToken]}`
|
|
25
25
|
*/
|
|
26
26
|
class TranscludeToken extends index_2.Token {
|
|
27
|
-
type = 'template';
|
|
28
27
|
modifier = '';
|
|
29
|
-
#
|
|
30
|
-
/* NOT FOR BROWSER END */
|
|
28
|
+
#type = 'template';
|
|
31
29
|
#raw = false;
|
|
32
30
|
#args = new Map();
|
|
31
|
+
#keys = new Set();
|
|
32
|
+
/* NOT FOR BROWSER END */
|
|
33
|
+
get type() {
|
|
34
|
+
return this.#type;
|
|
35
|
+
}
|
|
36
|
+
/* NOT FOR BROWSER */
|
|
33
37
|
/** 是否存在重复参数 */
|
|
34
38
|
get duplication() {
|
|
35
39
|
return this.isTemplate() && Boolean(this.hasDuplicatedArgs());
|
|
@@ -65,7 +69,7 @@ class TranscludeToken extends index_2.Token {
|
|
|
65
69
|
const [magicWord, ...arg] = title.split(':'), cleaned = (0, string_1.removeComment)(magicWord), name = cleaned[arg.length > 0 ? 'trimStart' : 'trim'](), lcName = name.toLowerCase(), canonicalName = insensitive[lcName], isSensitive = sensitive.includes(name), isVar = isSensitive || insensitiveVars.has(canonicalName);
|
|
66
70
|
if (isVar || isFunction && canonicalName) {
|
|
67
71
|
this.setAttribute('name', canonicalName ?? lcName);
|
|
68
|
-
this
|
|
72
|
+
this.#type = 'magic-word';
|
|
69
73
|
// eslint-disable-next-line @typescript-eslint/no-unused-expressions
|
|
70
74
|
/^\s*uc\s*$/iu;
|
|
71
75
|
const pattern = new RegExp(String.raw `^\s*${name}\s*$`, isSensitive ? 'u' : 'iu'), token = new syntax_1.SyntaxToken(magicWord, pattern, 'magic-word-name', config, accum, {
|
|
@@ -394,7 +398,6 @@ class TranscludeToken extends index_2.Token {
|
|
|
394
398
|
: (0, string_1.print)(childNodes, { sep: '|' })}}}</span>`;
|
|
395
399
|
}
|
|
396
400
|
/* NOT FOR BROWSER */
|
|
397
|
-
/** @override */
|
|
398
401
|
cloneNode() {
|
|
399
402
|
const [first, ...cloned] = this.cloneChildNodes(), config = this.getAttribute('config');
|
|
400
403
|
return debug_1.Shadow.run(() => {
|
package/dist/util/constants.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.aliases = exports.
|
|
3
|
+
exports.aliases = exports.parsers = exports.mixins = exports.classes = exports.BuildMethod = exports.MAX_STAGE = void 0;
|
|
4
4
|
exports.MAX_STAGE = 11;
|
|
5
5
|
var BuildMethod;
|
|
6
6
|
(function (BuildMethod) {
|
|
@@ -8,7 +8,7 @@ var BuildMethod;
|
|
|
8
8
|
BuildMethod[BuildMethod["Text"] = 1] = "Text";
|
|
9
9
|
})(BuildMethod || (exports.BuildMethod = BuildMethod = {}));
|
|
10
10
|
/* NOT FOR BROWSER */
|
|
11
|
-
exports.classes = {}, exports.mixins = {}, exports.parsers = {}
|
|
11
|
+
exports.classes = {}, exports.mixins = {}, exports.parsers = {};
|
|
12
12
|
exports.aliases = [
|
|
13
13
|
['AstText'],
|
|
14
14
|
['CommentToken', 'ExtToken', 'IncludeToken', 'NoincludeToken'],
|
package/dist/util/debug.js
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.undo = exports.mixin = exports.emptyArray = exports.setChildNodes = exports.isToken = exports.Shadow = void 0;
|
|
4
|
-
const constants_1 = require("./constants");
|
|
5
4
|
exports.Shadow = {
|
|
6
5
|
running: false,
|
|
7
6
|
/** @private */
|
|
@@ -94,4 +93,3 @@ const undo = (e, data) => {
|
|
|
94
93
|
}
|
|
95
94
|
};
|
|
96
95
|
exports.undo = undo;
|
|
97
|
-
constants_1.constants['Shadow'] = __filename;
|