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.
- package/config/minimum.json +136 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.js +4 -4
- package/dist/internal.d.ts +1 -1
- package/dist/lib/element.d.ts +12 -8
- package/dist/lib/element.js +72 -57
- package/dist/lib/node.js +4 -5
- package/dist/lib/range.js +5 -8
- package/dist/lib/ranges.js +2 -2
- package/dist/lib/text.d.ts +2 -2
- package/dist/lib/text.js +5 -5
- package/dist/lib/title.d.ts +3 -2
- package/dist/lib/title.js +11 -10
- package/dist/mixin/attributesParent.js +2 -2
- package/dist/mixin/fixed.js +3 -3
- package/dist/mixin/hidden.js +2 -2
- package/dist/mixin/singleLine.js +4 -4
- package/dist/mixin/sol.js +6 -6
- package/dist/parser/braces.js +4 -9
- package/dist/parser/commentAndExt.js +24 -18
- package/dist/parser/converter.js +8 -7
- package/dist/parser/externalLinks.js +3 -4
- package/dist/parser/hrAndDoubleUnderscore.js +4 -7
- package/dist/parser/html.js +4 -7
- package/dist/parser/links.js +4 -5
- package/dist/parser/list.js +3 -6
- package/dist/parser/magicLinks.js +3 -3
- package/dist/parser/quotes.js +4 -5
- package/dist/parser/selector.js +4 -7
- package/dist/parser/table.js +6 -15
- package/dist/src/arg.d.ts +6 -5
- package/dist/src/arg.js +31 -27
- package/dist/src/atom.d.ts +2 -1
- package/dist/src/atom.js +4 -4
- package/dist/src/attribute.d.ts +14 -13
- package/dist/src/attribute.js +41 -31
- package/dist/src/attributes.d.ts +4 -3
- package/dist/src/attributes.js +15 -21
- package/dist/src/converter.d.ts +4 -3
- package/dist/src/converter.js +10 -17
- package/dist/src/converterFlags.d.ts +9 -8
- package/dist/src/converterFlags.js +14 -15
- package/dist/src/converterRule.d.ts +4 -3
- package/dist/src/converterRule.js +20 -22
- package/dist/src/extLink.d.ts +5 -4
- package/dist/src/extLink.js +16 -17
- package/dist/src/gallery.d.ts +7 -5
- package/dist/src/gallery.js +15 -19
- package/dist/src/heading.d.ts +12 -10
- package/dist/src/heading.js +17 -18
- package/dist/src/hidden.d.ts +4 -3
- package/dist/src/hidden.js +4 -4
- package/dist/src/html.d.ts +17 -15
- package/dist/src/html.js +25 -23
- package/dist/src/imageParameter.d.ts +5 -4
- package/dist/src/imageParameter.js +22 -23
- package/dist/src/imagemap.d.ts +7 -5
- package/dist/src/imagemap.js +14 -19
- package/dist/src/imagemapLink.d.ts +8 -7
- package/dist/src/imagemapLink.js +4 -8
- package/dist/src/index.d.ts +2 -1
- package/dist/src/index.js +48 -46
- package/dist/src/link/base.d.ts +5 -4
- package/dist/src/link/base.js +26 -28
- package/dist/src/link/category.d.ts +1 -1
- package/dist/src/link/category.js +3 -2
- package/dist/src/link/file.d.ts +5 -4
- package/dist/src/link/file.js +22 -20
- package/dist/src/link/galleryImage.d.ts +5 -5
- package/dist/src/link/galleryImage.js +11 -10
- package/dist/src/link/index.d.ts +1 -1
- package/dist/src/link/index.js +8 -6
- package/dist/src/magicLink.d.ts +3 -2
- package/dist/src/magicLink.js +10 -11
- package/dist/src/nested.d.ts +4 -2
- package/dist/src/nested.js +5 -9
- package/dist/src/nowiki/base.d.ts +6 -5
- package/dist/src/nowiki/base.js +4 -4
- package/dist/src/nowiki/comment.d.ts +6 -5
- package/dist/src/nowiki/comment.js +8 -10
- package/dist/src/nowiki/dd.d.ts +1 -1
- package/dist/src/nowiki/dd.js +3 -2
- package/dist/src/nowiki/doubleUnderscore.d.ts +8 -6
- package/dist/src/nowiki/doubleUnderscore.js +13 -13
- package/dist/src/nowiki/hr.d.ts +2 -8
- package/dist/src/nowiki/hr.js +4 -11
- package/dist/src/nowiki/index.d.ts +2 -1
- package/dist/src/nowiki/index.js +6 -5
- package/dist/src/nowiki/list.d.ts +4 -4
- package/dist/src/nowiki/list.js +3 -2
- package/dist/src/nowiki/noinclude.d.ts +2 -2
- package/dist/src/nowiki/noinclude.js +3 -2
- package/dist/src/nowiki/quote.d.ts +1 -8
- package/dist/src/nowiki/quote.js +25 -17
- package/dist/src/onlyinclude.d.ts +5 -4
- package/dist/src/onlyinclude.js +13 -13
- package/dist/src/paramTag/index.d.ts +5 -3
- package/dist/src/paramTag/index.js +7 -7
- package/dist/src/paramTag/inputbox.d.ts +3 -2
- package/dist/src/paramTag/inputbox.js +6 -5
- package/dist/src/parameter.d.ts +11 -10
- package/dist/src/parameter.js +29 -30
- package/dist/src/pre.d.ts +4 -2
- package/dist/src/pre.js +19 -14
- package/dist/src/syntax.d.ts +2 -1
- package/dist/src/syntax.js +7 -7
- package/dist/src/table/base.d.ts +6 -5
- package/dist/src/table/base.js +6 -8
- package/dist/src/table/index.d.ts +9 -8
- package/dist/src/table/index.js +23 -24
- package/dist/src/table/td.d.ts +12 -10
- package/dist/src/table/td.js +19 -20
- package/dist/src/table/tr.d.ts +3 -2
- package/dist/src/table/tr.js +4 -3
- package/dist/src/table/trBase.d.ts +3 -3
- package/dist/src/table/trBase.js +10 -10
- package/dist/src/tagPair/ext.d.ts +7 -6
- package/dist/src/tagPair/ext.js +5 -17
- package/dist/src/tagPair/include.d.ts +5 -5
- package/dist/src/tagPair/include.js +4 -5
- package/dist/src/tagPair/index.d.ts +7 -7
- package/dist/src/tagPair/index.js +13 -19
- package/dist/src/transclude.d.ts +10 -9
- package/dist/src/transclude.js +41 -46
- package/dist/util/lint.js +14 -4
- package/dist/util/string.js +21 -20
- package/package.json +11 -9
package/dist/src/nowiki/dd.js
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.DdToken = void 0;
|
|
4
|
-
const
|
|
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
|
-
|
|
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(
|
|
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
|
|
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
|
-
|
|
23
|
+
toString(omit?: Set<string>): string;
|
|
20
24
|
/**
|
|
21
25
|
* @override
|
|
22
26
|
* @browser
|
|
23
27
|
*/
|
|
24
|
-
|
|
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
|
|
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
|
-
|
|
20
|
-
return
|
|
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
|
-
|
|
27
|
-
return
|
|
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
|
-
|
|
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
|
-
|
|
48
|
+
Parser.classes['DoubleUnderscoreToken'] = __filename;
|
package/dist/src/nowiki/hr.d.ts
CHANGED
|
@@ -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(
|
|
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
|
|
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
|
/**
|
package/dist/src/nowiki/hr.js
CHANGED
|
@@ -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
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
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;
|
package/dist/src/nowiki/index.js
CHANGED
|
@@ -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
|
|
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') &&
|
|
18
|
-
? [(0, lint_1.generateForSelf)(this, { start },
|
|
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
|
-
|
|
24
|
+
Parser.classes['NowikiToken'] = __filename;
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import
|
|
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(
|
|
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
|
|
12
|
+
export declare class ListToken extends ListToken_base {
|
|
13
13
|
/** @browser */
|
|
14
14
|
readonly type = "list";
|
|
15
15
|
}
|
package/dist/src/nowiki/list.js
CHANGED
|
@@ -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
|
|
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
|
-
|
|
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(
|
|
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
|
|
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
|
|
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
|
-
|
|
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
|
|
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
|
package/dist/src/nowiki/quote.js
CHANGED
|
@@ -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
|
|
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 =
|
|
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
|
|
30
|
-
errors.push({
|
|
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
|
|
36
|
-
errors.push({
|
|
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
|
-
|
|
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
|
-
|
|
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?:
|
|
16
|
+
constructor(inner?: string, config?: Parser.Config, accum?: Token[]);
|
|
16
17
|
/**
|
|
17
18
|
* @override
|
|
18
19
|
* @browser
|
|
19
20
|
*/
|
|
20
|
-
toString(
|
|
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
|
-
|
|
31
|
+
isPlain(): boolean;
|
|
31
32
|
/**
|
|
32
33
|
* @override
|
|
33
34
|
* @browser
|
|
34
35
|
*/
|
|
35
|
-
|
|
36
|
+
print(): string;
|
|
36
37
|
/** @override */
|
|
37
38
|
cloneNode(): this;
|
|
38
39
|
}
|
package/dist/src/onlyinclude.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.OnlyincludeToken = void 0;
|
|
4
|
-
const
|
|
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 =
|
|
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(
|
|
29
|
-
return
|
|
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
|
-
|
|
43
|
-
return
|
|
44
|
-
pre: '<span class="wpb-ext"><onlyinclude></span>',
|
|
45
|
-
post: '<span class="wpb-ext"></onlyinclude></span>',
|
|
46
|
-
});
|
|
42
|
+
isPlain() {
|
|
43
|
+
return true;
|
|
47
44
|
}
|
|
48
45
|
/**
|
|
49
46
|
* @override
|
|
50
47
|
* @browser
|
|
51
48
|
*/
|
|
52
|
-
|
|
53
|
-
return
|
|
49
|
+
print() {
|
|
50
|
+
return super.print({
|
|
51
|
+
pre: '<span class="wpb-ext"><onlyinclude></span>',
|
|
52
|
+
post: '<span class="wpb-ext"></onlyinclude></span>',
|
|
53
|
+
});
|
|
54
54
|
}
|
|
55
55
|
/** @override */
|
|
56
56
|
cloneNode() {
|
|
57
57
|
const cloned = this.cloneChildNodes();
|
|
58
|
-
return
|
|
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
|
-
|
|
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
|
|
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?:
|
|
27
|
+
constructor(wikitext?: string, config?: Parser.Config, accum?: Token[], acceptable?: Acceptable);
|
|
26
28
|
/**
|
|
27
29
|
* @override
|
|
28
30
|
* @browser
|
|
29
31
|
*/
|
|
30
|
-
toString(
|
|
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
|
|
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 =
|
|
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(
|
|
33
|
-
return super.toString(
|
|
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,
|
|
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
|
|
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
|
-
|
|
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
|
|
5
|
+
export declare class InputboxToken extends ParamTagToken {
|
|
5
6
|
/** @browser */
|
|
6
|
-
constructor(wikitext?: string, config?:
|
|
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
|
|
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 =
|
|
11
|
+
constructor(wikitext, config = Parser.getConfig(), accum = []) {
|
|
11
12
|
const placeholder = Symbol('InputboxToken');
|
|
12
13
|
accum.push(placeholder);
|
|
13
|
-
|
|
14
|
+
wikitext &&= (0, braces_1.parseBraces)(wikitext, config, accum);
|
|
14
15
|
accum.splice(accum.indexOf(placeholder), 1);
|
|
15
|
-
super(
|
|
16
|
+
super(wikitext, config, accum, {
|
|
16
17
|
ArgToken: ':', TranscludeToken: ':',
|
|
17
18
|
});
|
|
18
19
|
}
|
|
19
20
|
}
|
|
20
21
|
exports.InputboxToken = InputboxToken;
|
|
21
|
-
|
|
22
|
+
Parser.classes['InputboxToken'] = __filename;
|