wikiparser-node 1.4.2 → 1.4.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/addon/table.js +5 -1
- package/dist/base.d.ts +6 -1
- package/dist/index.d.ts +0 -2
- package/dist/index.js +3 -3
- package/dist/lib/element.d.ts +3 -2
- package/dist/lib/element.js +20 -13
- package/dist/lib/node.js +13 -10
- package/dist/lib/text.js +3 -3
- package/dist/lib/title.js +4 -12
- package/dist/mixin/attributesParent.d.ts +32 -2
- package/dist/mixin/attributesParent.js +14 -25
- package/dist/mixin/fixed.d.ts +2 -1
- package/dist/mixin/fixed.js +3 -1
- package/dist/mixin/flagsParent.d.ts +28 -17
- package/dist/mixin/flagsParent.js +12 -25
- package/dist/mixin/magicLinkParent.d.ts +14 -8
- package/dist/mixin/magicLinkParent.js +7 -8
- package/dist/mixin/singleLine.d.ts +2 -1
- package/dist/mixin/singleLine.js +3 -2
- package/dist/mixin/sol.d.ts +2 -4
- package/dist/mixin/sol.js +8 -6
- package/dist/mixin/syntax.d.ts +5 -2
- package/dist/mixin/syntax.js +14 -18
- package/dist/parser/links.js +1 -3
- package/dist/src/arg.d.ts +4 -4
- package/dist/src/arg.js +4 -4
- package/dist/src/attribute.d.ts +9 -7
- package/dist/src/attribute.js +271 -218
- package/dist/src/attributes.d.ts +3 -3
- package/dist/src/attributes.js +0 -1
- package/dist/src/converter.d.ts +7 -2
- package/dist/src/converter.js +113 -64
- package/dist/src/converterFlags.d.ts +5 -5
- package/dist/src/converterFlags.js +0 -1
- package/dist/src/converterRule.d.ts +5 -5
- package/dist/src/converterRule.js +0 -1
- package/dist/src/extLink.d.ts +7 -2
- package/dist/src/extLink.js +159 -110
- package/dist/src/gallery.d.ts +5 -5
- package/dist/src/gallery.js +0 -1
- package/dist/src/heading.d.ts +8 -8
- package/dist/src/heading.js +172 -125
- package/dist/src/html.d.ts +8 -5
- package/dist/src/html.js +263 -214
- package/dist/src/imageParameter.d.ts +2 -2
- package/dist/src/imageParameter.js +1 -0
- package/dist/src/imagemap.d.ts +5 -5
- package/dist/src/imagemap.js +4 -10
- package/dist/src/imagemapLink.d.ts +7 -4
- package/dist/src/imagemapLink.js +75 -26
- package/dist/src/index.js +3 -4
- package/dist/src/link/base.d.ts +2 -2
- package/dist/src/link/base.js +1 -4
- package/dist/src/link/file.d.ts +1 -1
- package/dist/src/link/file.js +0 -1
- package/dist/src/link/galleryImage.d.ts +2 -1
- package/dist/src/link/galleryImage.js +136 -88
- package/dist/src/link/index.js +0 -1
- package/dist/src/magicLink.d.ts +11 -3
- package/dist/src/magicLink.js +170 -120
- package/dist/src/nested.d.ts +5 -5
- package/dist/src/nested.js +1 -0
- package/dist/src/nowiki/base.d.ts +6 -2
- package/dist/src/nowiki/base.js +79 -28
- package/dist/src/nowiki/comment.d.ts +0 -2
- package/dist/src/nowiki/comment.js +0 -9
- package/dist/src/nowiki/doubleUnderscore.js +88 -38
- package/dist/src/nowiki/hr.d.ts +1 -4
- package/dist/src/nowiki/hr.js +53 -4
- package/dist/src/nowiki/index.d.ts +2 -2
- package/dist/src/nowiki/index.js +1 -0
- package/dist/src/nowiki/list.d.ts +1 -4
- package/dist/src/nowiki/list.js +88 -39
- package/dist/src/nowiki/listBase.d.ts +1 -1
- package/dist/src/nowiki/listBase.js +52 -2
- package/dist/src/nowiki/quote.d.ts +3 -3
- package/dist/src/nowiki/quote.js +102 -54
- package/dist/src/paramTag/index.d.ts +5 -5
- package/dist/src/paramTag/index.js +2 -1
- package/dist/src/parameter.d.ts +11 -8
- package/dist/src/parameter.js +225 -176
- package/dist/src/pre.d.ts +5 -5
- package/dist/src/pre.js +1 -0
- package/dist/src/syntax.d.ts +6 -0
- package/dist/src/syntax.js +74 -23
- package/dist/src/table/base.d.ts +6 -3
- package/dist/src/table/base.js +100 -49
- package/dist/src/table/index.d.ts +6 -3
- package/dist/src/table/index.js +5 -9
- package/dist/src/table/td.d.ts +9 -5
- package/dist/src/table/td.js +270 -217
- package/dist/src/table/tr.d.ts +4 -4
- package/dist/src/table/tr.js +1 -0
- package/dist/src/tagPair/ext.d.ts +6 -3
- package/dist/src/tagPair/ext.js +168 -118
- package/dist/src/tagPair/include.d.ts +2 -4
- package/dist/src/tagPair/include.js +0 -8
- package/dist/src/tagPair/index.d.ts +1 -1
- package/dist/src/tagPair/index.js +115 -66
- package/dist/src/transclude.d.ts +3 -3
- package/dist/src/transclude.js +4 -9
- package/dist/util/debug.js +0 -2
- package/package.json +3 -3
package/dist/src/converter.js
CHANGED
|
@@ -1,4 +1,38 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
|
|
3
|
+
function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
|
|
4
|
+
var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
|
|
5
|
+
var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
|
|
6
|
+
var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
|
|
7
|
+
var _, done = false;
|
|
8
|
+
for (var i = decorators.length - 1; i >= 0; i--) {
|
|
9
|
+
var context = {};
|
|
10
|
+
for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
|
|
11
|
+
for (var p in contextIn.access) context.access[p] = contextIn.access[p];
|
|
12
|
+
context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
|
|
13
|
+
var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
|
|
14
|
+
if (kind === "accessor") {
|
|
15
|
+
if (result === void 0) continue;
|
|
16
|
+
if (result === null || typeof result !== "object") throw new TypeError("Object expected");
|
|
17
|
+
if (_ = accept(result.get)) descriptor.get = _;
|
|
18
|
+
if (_ = accept(result.set)) descriptor.set = _;
|
|
19
|
+
if (_ = accept(result.init)) initializers.unshift(_);
|
|
20
|
+
}
|
|
21
|
+
else if (_ = accept(result)) {
|
|
22
|
+
if (kind === "field") initializers.unshift(_);
|
|
23
|
+
else descriptor[key] = _;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
if (target) Object.defineProperty(target, contextIn.name, descriptor);
|
|
27
|
+
done = true;
|
|
28
|
+
};
|
|
29
|
+
var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
|
|
30
|
+
var useValue = arguments.length > 2;
|
|
31
|
+
for (var i = 0; i < initializers.length; i++) {
|
|
32
|
+
value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
|
|
33
|
+
}
|
|
34
|
+
return useValue ? value : void 0;
|
|
35
|
+
};
|
|
2
36
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
37
|
exports.ConverterToken = void 0;
|
|
4
38
|
const string_1 = require("../util/string");
|
|
@@ -13,73 +47,88 @@ const converterRule_1 = require("./converterRule");
|
|
|
13
47
|
* 转换
|
|
14
48
|
* @classdesc `{childNodes: [ConverterFlagsToken, ...ConverterRuleToken]}`
|
|
15
49
|
*/
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
// @ts-expect-error abstract class
|
|
31
|
-
this.append(new converterFlags_1.ConverterFlagsToken(flags, config, accum));
|
|
32
|
-
const [firstRule] = rules, hasColon = firstRule.includes(':'),
|
|
33
|
-
// @ts-expect-error abstract class
|
|
34
|
-
firstRuleToken = new converterRule_1.ConverterRuleToken(firstRule, hasColon, config, accum);
|
|
35
|
-
if (hasColon && firstRuleToken.length === 1) {
|
|
36
|
-
// @ts-expect-error abstract class
|
|
37
|
-
this.insertAt(new converterRule_1.ConverterRuleToken(rules.join(';'), false, config, accum));
|
|
50
|
+
let ConverterToken = (() => {
|
|
51
|
+
let _classDecorators = [flagsParent_1.flagsParent];
|
|
52
|
+
let _classDescriptor;
|
|
53
|
+
let _classExtraInitializers = [];
|
|
54
|
+
let _classThis;
|
|
55
|
+
let _classSuper = index_2.Token;
|
|
56
|
+
var ConverterToken = class extends _classSuper {
|
|
57
|
+
static { _classThis = this; }
|
|
58
|
+
static {
|
|
59
|
+
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
60
|
+
__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
|
61
|
+
ConverterToken = _classThis = _classDescriptor.value;
|
|
62
|
+
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
63
|
+
__runInitializers(_classThis, _classExtraInitializers);
|
|
38
64
|
}
|
|
39
|
-
|
|
40
|
-
|
|
65
|
+
type = 'converter';
|
|
66
|
+
/** 是否不转换 */
|
|
67
|
+
get noConvert() {
|
|
68
|
+
return this.hasFlag('R') || this.length === 2 && this.lastChild.length === 1;
|
|
69
|
+
}
|
|
70
|
+
/* NOT FOR BROWSER END */
|
|
71
|
+
/**
|
|
72
|
+
* @param flags 转换类型标记
|
|
73
|
+
* @param rules 转换规则
|
|
74
|
+
*/
|
|
75
|
+
constructor(flags, rules, config = index_1.default.getConfig(), accum = []) {
|
|
76
|
+
super(undefined, config, accum);
|
|
77
|
+
// @ts-expect-error abstract class
|
|
78
|
+
this.append(new converterFlags_1.ConverterFlagsToken(flags, config, accum));
|
|
79
|
+
const [firstRule] = rules, hasColon = firstRule.includes(':'),
|
|
41
80
|
// @ts-expect-error abstract class
|
|
42
|
-
|
|
81
|
+
firstRuleToken = new converterRule_1.ConverterRuleToken(firstRule, hasColon, config, accum);
|
|
82
|
+
if (hasColon && firstRuleToken.length === 1) {
|
|
83
|
+
// @ts-expect-error abstract class
|
|
84
|
+
this.insertAt(new converterRule_1.ConverterRuleToken(rules.join(';'), false, config, accum));
|
|
85
|
+
}
|
|
86
|
+
else {
|
|
87
|
+
this.append(firstRuleToken,
|
|
88
|
+
// @ts-expect-error abstract class
|
|
89
|
+
...rules.slice(1).map(rule => new converterRule_1.ConverterRuleToken(rule, true, config, accum)));
|
|
90
|
+
}
|
|
91
|
+
/* NOT FOR BROWSER */
|
|
92
|
+
this.protectChildren(0);
|
|
93
|
+
}
|
|
94
|
+
/** @private */
|
|
95
|
+
toString() {
|
|
96
|
+
const { childNodes: [flags, ...rules] } = this;
|
|
97
|
+
return `-{${String(flags)}${flags.length > 0 ? '|' : ''}${rules.map(String).join(';')}}-`;
|
|
98
|
+
}
|
|
99
|
+
/** @override */
|
|
100
|
+
text() {
|
|
101
|
+
const { childNodes: [flags, ...rules] } = this;
|
|
102
|
+
return `-{${flags.text()}|${(0, string_1.text)(rules, ';')}}-`;
|
|
103
|
+
}
|
|
104
|
+
/** @private */
|
|
105
|
+
getAttribute(key) {
|
|
106
|
+
return key === 'padding' ? 2 : super.getAttribute(key);
|
|
107
|
+
}
|
|
108
|
+
/** @private */
|
|
109
|
+
getGaps(i) {
|
|
110
|
+
return i || this.firstChild.length > 0 ? 1 : 0;
|
|
111
|
+
}
|
|
112
|
+
/** @override */
|
|
113
|
+
print() {
|
|
114
|
+
const { childNodes: [flags, ...rules] } = this;
|
|
115
|
+
return `<span class="wpb-converter">-{${flags.print()}${flags.length > 0 ? '|' : ''}${(0, string_1.print)(rules, { sep: ';' })}}-</span>`;
|
|
43
116
|
}
|
|
44
117
|
/* NOT FOR BROWSER */
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
}
|
|
61
|
-
/** @private */
|
|
62
|
-
getGaps(i) {
|
|
63
|
-
return i || this.firstChild.length > 0 ? 1 : 0;
|
|
64
|
-
}
|
|
65
|
-
/** @override */
|
|
66
|
-
print() {
|
|
67
|
-
const { childNodes: [flags, ...rules] } = this;
|
|
68
|
-
return `<span class="wpb-converter">-{${flags.print()}${flags.length > 0 ? '|' : ''}${(0, string_1.print)(rules, { sep: ';' })}}-</span>`;
|
|
69
|
-
}
|
|
70
|
-
/* NOT FOR BROWSER */
|
|
71
|
-
/** @override */
|
|
72
|
-
cloneNode() {
|
|
73
|
-
const [flags, ...rules] = this.cloneChildNodes();
|
|
74
|
-
return debug_1.Shadow.run(() => {
|
|
75
|
-
// @ts-expect-error abstract class
|
|
76
|
-
const token = new ConverterToken([], [''], this.getAttribute('config'));
|
|
77
|
-
token.firstChild.safeReplaceWith(flags);
|
|
78
|
-
token.removeAt(1);
|
|
79
|
-
token.append(...rules);
|
|
80
|
-
return token;
|
|
81
|
-
});
|
|
82
|
-
}
|
|
83
|
-
}
|
|
118
|
+
/** @override */
|
|
119
|
+
cloneNode() {
|
|
120
|
+
const [flags, ...rules] = this.cloneChildNodes();
|
|
121
|
+
return debug_1.Shadow.run(() => {
|
|
122
|
+
// @ts-expect-error abstract class
|
|
123
|
+
const token = new ConverterToken([], [''], this.getAttribute('config'));
|
|
124
|
+
token.firstChild.safeReplaceWith(flags);
|
|
125
|
+
token.removeAt(1);
|
|
126
|
+
token.append(...rules);
|
|
127
|
+
return token;
|
|
128
|
+
});
|
|
129
|
+
}
|
|
130
|
+
};
|
|
131
|
+
return ConverterToken = _classThis;
|
|
132
|
+
})();
|
|
84
133
|
exports.ConverterToken = ConverterToken;
|
|
85
134
|
constants_1.classes['ConverterToken'] = __filename;
|
|
@@ -11,16 +11,16 @@ export declare abstract class ConverterFlagsToken extends Token {
|
|
|
11
11
|
#private;
|
|
12
12
|
readonly type = "converter-flags";
|
|
13
13
|
readonly childNodes: readonly AtomToken[];
|
|
14
|
-
abstract get children(): AtomToken[];
|
|
15
14
|
abstract get firstChild(): AtomToken | undefined;
|
|
16
|
-
abstract get firstElementChild(): AtomToken | undefined;
|
|
17
15
|
abstract get lastChild(): AtomToken | undefined;
|
|
18
|
-
abstract get lastElementChild(): AtomToken | undefined;
|
|
19
16
|
abstract get parentNode(): ConverterToken | undefined;
|
|
20
|
-
abstract get parentElement(): ConverterToken | undefined;
|
|
21
17
|
abstract get previousSibling(): undefined;
|
|
22
|
-
abstract get previousElementSibling(): undefined;
|
|
23
18
|
abstract get nextSibling(): ConverterRuleToken | undefined;
|
|
19
|
+
abstract get children(): AtomToken[];
|
|
20
|
+
abstract get firstElementChild(): AtomToken | undefined;
|
|
21
|
+
abstract get lastElementChild(): AtomToken | undefined;
|
|
22
|
+
abstract get parentElement(): ConverterToken | undefined;
|
|
23
|
+
abstract get previousElementSibling(): undefined;
|
|
24
24
|
abstract get nextElementSibling(): ConverterRuleToken | undefined;
|
|
25
25
|
/** 所有转换类型标记 */
|
|
26
26
|
get flags(): Set<string>;
|
|
@@ -9,16 +9,16 @@ import type { ConverterToken, ConverterFlagsToken } from '../internal';
|
|
|
9
9
|
export declare abstract class ConverterRuleToken extends Token {
|
|
10
10
|
readonly type = "converter-rule";
|
|
11
11
|
readonly childNodes: readonly [AtomToken] | readonly [AtomToken, AtomToken] | readonly [AtomToken, AtomToken, AtomToken];
|
|
12
|
-
abstract get children(): [AtomToken] | [AtomToken, AtomToken] | [AtomToken, AtomToken, AtomToken];
|
|
13
12
|
abstract get firstChild(): AtomToken;
|
|
14
|
-
abstract get firstElementChild(): AtomToken;
|
|
15
13
|
abstract get lastChild(): AtomToken;
|
|
16
|
-
abstract get lastElementChild(): AtomToken;
|
|
17
14
|
abstract get parentNode(): ConverterToken | undefined;
|
|
18
|
-
abstract get parentElement(): ConverterToken | undefined;
|
|
19
15
|
abstract get previousSibling(): ConverterFlagsToken | this;
|
|
20
|
-
abstract get previousElementSibling(): ConverterFlagsToken | this;
|
|
21
16
|
abstract get nextSibling(): this | undefined;
|
|
17
|
+
abstract get children(): [AtomToken] | [AtomToken, AtomToken] | [AtomToken, AtomToken, AtomToken];
|
|
18
|
+
abstract get firstElementChild(): AtomToken;
|
|
19
|
+
abstract get lastElementChild(): AtomToken;
|
|
20
|
+
abstract get parentElement(): ConverterToken | undefined;
|
|
21
|
+
abstract get previousElementSibling(): ConverterFlagsToken | this;
|
|
22
22
|
abstract get nextElementSibling(): this | undefined;
|
|
23
23
|
/** 语言变体 */
|
|
24
24
|
get variant(): string;
|
package/dist/src/extLink.d.ts
CHANGED
|
@@ -5,12 +5,18 @@ import type { LintError } from '../base';
|
|
|
5
5
|
import type { MagicLinkParentBase } from '../mixin/magicLinkParent';
|
|
6
6
|
export interface ExtLinkToken extends MagicLinkParentBase {
|
|
7
7
|
}
|
|
8
|
+
/**
|
|
9
|
+
* 外链
|
|
10
|
+
* @classdesc `{childNodes: [MagicLinkToken, ?Token]}`
|
|
11
|
+
*/
|
|
8
12
|
export declare abstract class ExtLinkToken extends Token {
|
|
9
13
|
#private;
|
|
10
14
|
readonly type = "ext-link";
|
|
11
15
|
readonly childNodes: readonly [MagicLinkToken] | readonly [MagicLinkToken, Token];
|
|
12
|
-
abstract get
|
|
16
|
+
abstract get firstChild(): MagicLinkToken;
|
|
13
17
|
abstract get lastChild(): Token;
|
|
18
|
+
abstract get children(): [MagicLinkToken] | [MagicLinkToken, Token];
|
|
19
|
+
abstract get firstElementChild(): MagicLinkToken;
|
|
14
20
|
abstract get lastElementChild(): Token;
|
|
15
21
|
/** 链接显示文字 */
|
|
16
22
|
get innerText(): string;
|
|
@@ -35,4 +41,3 @@ export declare abstract class ExtLinkToken extends Token {
|
|
|
35
41
|
*/
|
|
36
42
|
setLinkText(str: string): void;
|
|
37
43
|
}
|
|
38
|
-
export {};
|
package/dist/src/extLink.js
CHANGED
|
@@ -1,4 +1,38 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
|
|
3
|
+
function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
|
|
4
|
+
var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
|
|
5
|
+
var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
|
|
6
|
+
var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
|
|
7
|
+
var _, done = false;
|
|
8
|
+
for (var i = decorators.length - 1; i >= 0; i--) {
|
|
9
|
+
var context = {};
|
|
10
|
+
for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
|
|
11
|
+
for (var p in contextIn.access) context.access[p] = contextIn.access[p];
|
|
12
|
+
context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
|
|
13
|
+
var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
|
|
14
|
+
if (kind === "accessor") {
|
|
15
|
+
if (result === void 0) continue;
|
|
16
|
+
if (result === null || typeof result !== "object") throw new TypeError("Object expected");
|
|
17
|
+
if (_ = accept(result.get)) descriptor.get = _;
|
|
18
|
+
if (_ = accept(result.set)) descriptor.set = _;
|
|
19
|
+
if (_ = accept(result.init)) initializers.unshift(_);
|
|
20
|
+
}
|
|
21
|
+
else if (_ = accept(result)) {
|
|
22
|
+
if (kind === "field") initializers.unshift(_);
|
|
23
|
+
else descriptor[key] = _;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
if (target) Object.defineProperty(target, contextIn.name, descriptor);
|
|
27
|
+
done = true;
|
|
28
|
+
};
|
|
29
|
+
var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
|
|
30
|
+
var useValue = arguments.length > 2;
|
|
31
|
+
for (var i = 0; i < initializers.length; i++) {
|
|
32
|
+
value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
|
|
33
|
+
}
|
|
34
|
+
return useValue ? value : void 0;
|
|
35
|
+
};
|
|
2
36
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
37
|
exports.ExtLinkToken = void 0;
|
|
4
38
|
const constants_1 = require("../util/constants");
|
|
@@ -13,125 +47,140 @@ const magicLink_1 = require("./magicLink");
|
|
|
13
47
|
* 外链
|
|
14
48
|
* @classdesc `{childNodes: [MagicLinkToken, ?Token]}`
|
|
15
49
|
*/
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
/**
|
|
31
|
-
* @param url 网址
|
|
32
|
-
* @param space 空白字符
|
|
33
|
-
* @param text 链接文字
|
|
34
|
-
*/
|
|
35
|
-
constructor(url, space = '', text = '', config = index_1.default.getConfig(), accum = []) {
|
|
36
|
-
super(undefined, config, accum, {
|
|
37
|
-
MagicLinkToken: 0, Token: 1,
|
|
38
|
-
});
|
|
39
|
-
// @ts-expect-error abstract class
|
|
40
|
-
this.insertAt(new magicLink_1.MagicLinkToken(url, true, config, accum));
|
|
41
|
-
this.#space = space;
|
|
42
|
-
if (text) {
|
|
43
|
-
const inner = new index_2.Token(text, config, accum, {
|
|
44
|
-
'Stage-7': ':', ConverterToken: ':',
|
|
45
|
-
});
|
|
46
|
-
inner.type = 'ext-link-text';
|
|
47
|
-
inner.setAttribute('stage', constants_1.MAX_STAGE - 1);
|
|
48
|
-
this.insertAt(inner);
|
|
50
|
+
let ExtLinkToken = (() => {
|
|
51
|
+
let _classDecorators = [magicLinkParent_1.magicLinkParent];
|
|
52
|
+
let _classDescriptor;
|
|
53
|
+
let _classExtraInitializers = [];
|
|
54
|
+
let _classThis;
|
|
55
|
+
let _classSuper = index_2.Token;
|
|
56
|
+
var ExtLinkToken = class extends _classSuper {
|
|
57
|
+
static { _classThis = this; }
|
|
58
|
+
static {
|
|
59
|
+
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
60
|
+
__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
|
61
|
+
ExtLinkToken = _classThis = _classDescriptor.value;
|
|
62
|
+
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
63
|
+
__runInitializers(_classThis, _classExtraInitializers);
|
|
49
64
|
}
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
65
|
+
type = 'ext-link';
|
|
66
|
+
#space;
|
|
67
|
+
/** 链接显示文字 */
|
|
68
|
+
get innerText() {
|
|
69
|
+
return this.length > 1
|
|
70
|
+
? this.lastChild.text()
|
|
71
|
+
: `[${this.getRootNode().querySelectorAll('ext-link[childElementCount=1]').indexOf(this) + 1}]`;
|
|
57
72
|
}
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
(0, string_1.normalizeSpace)(this.lastChild);
|
|
61
|
-
/* NOT FOR BROWSER END */
|
|
62
|
-
return `[${super.toString(this.#space)}]`;
|
|
63
|
-
}
|
|
64
|
-
/** @override */
|
|
65
|
-
text() {
|
|
66
|
-
/* NOT FOR BROWSER */
|
|
67
|
-
(0, string_1.normalizeSpace)(this.childNodes[1]);
|
|
68
|
-
/* NOT FOR BROWSER END */
|
|
69
|
-
return `[${super.text(' ')}]`;
|
|
70
|
-
}
|
|
71
|
-
/** @private */
|
|
72
|
-
getAttribute(key) {
|
|
73
|
-
return key === 'padding' ? 1 : super.getAttribute(key);
|
|
74
|
-
}
|
|
75
|
-
/** @private */
|
|
76
|
-
getGaps() {
|
|
77
|
-
/* NOT FOR BROWSER */
|
|
78
|
-
this.#correct();
|
|
79
|
-
/* NOT FOR BROWSER END */
|
|
80
|
-
return this.#space.length;
|
|
81
|
-
}
|
|
82
|
-
/** @override */
|
|
83
|
-
lint(start = this.getAbsoluteIndex()) {
|
|
84
|
-
const errors = super.lint(start);
|
|
85
|
-
if (this.length === 1 && this.closest('heading-title')) {
|
|
86
|
-
errors.push((0, lint_1.generateForSelf)(this, { start }, 'variable anchor in a section header'));
|
|
73
|
+
set innerText(text) {
|
|
74
|
+
this.setLinkText(text);
|
|
87
75
|
}
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
return debug_1.Shadow.run(() => {
|
|
76
|
+
/* NOT FOR BROWSER END */
|
|
77
|
+
/**
|
|
78
|
+
* @param url 网址
|
|
79
|
+
* @param space 空白字符
|
|
80
|
+
* @param text 链接文字
|
|
81
|
+
*/
|
|
82
|
+
constructor(url, space = '', text = '', config = index_1.default.getConfig(), accum = []) {
|
|
83
|
+
super(undefined, config, accum, {
|
|
84
|
+
MagicLinkToken: 0, Token: 1,
|
|
85
|
+
});
|
|
99
86
|
// @ts-expect-error abstract class
|
|
100
|
-
|
|
101
|
-
|
|
87
|
+
this.insertAt(new magicLink_1.MagicLinkToken(url, true, config, accum));
|
|
88
|
+
this.#space = space;
|
|
102
89
|
if (text) {
|
|
103
|
-
|
|
90
|
+
const inner = new index_2.Token(text, config, accum, {
|
|
91
|
+
'Stage-7': ':', ConverterToken: ':',
|
|
92
|
+
});
|
|
93
|
+
inner.type = 'ext-link-text';
|
|
94
|
+
inner.setAttribute('stage', constants_1.MAX_STAGE - 1);
|
|
95
|
+
this.insertAt(inner);
|
|
104
96
|
}
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
}
|
|
108
|
-
/** 修正空白字符 */
|
|
109
|
-
#correct() {
|
|
110
|
-
if (!this.#space
|
|
111
|
-
&& this.length > 1
|
|
112
|
-
// 都替换成`<`肯定不对,但无妨
|
|
113
|
-
&& /^[^[\]<>"{\0-\x1F\x7F\p{Zs}\uFFFD]/u.test(this.lastChild.text().replace(/&[lg]t;/u, '<'))) {
|
|
114
|
-
this.#space = ' ';
|
|
97
|
+
/* NOT FOR BROWSER */
|
|
98
|
+
this.protectChildren(0);
|
|
115
99
|
}
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
100
|
+
/** @private */
|
|
101
|
+
toString() {
|
|
102
|
+
if (this.length === 1) {
|
|
103
|
+
return `[${super.toString()}${this.#space}]`;
|
|
104
|
+
}
|
|
105
|
+
/* NOT FOR BROWSER */
|
|
106
|
+
this.#correct();
|
|
107
|
+
(0, string_1.normalizeSpace)(this.lastChild);
|
|
108
|
+
/* NOT FOR BROWSER END */
|
|
109
|
+
return `[${super.toString(this.#space)}]`;
|
|
110
|
+
}
|
|
111
|
+
/** @override */
|
|
112
|
+
text() {
|
|
113
|
+
/* NOT FOR BROWSER */
|
|
114
|
+
(0, string_1.normalizeSpace)(this.childNodes[1]);
|
|
115
|
+
/* NOT FOR BROWSER END */
|
|
116
|
+
return `[${super.text(' ')}]`;
|
|
117
|
+
}
|
|
118
|
+
/** @private */
|
|
119
|
+
getAttribute(key) {
|
|
120
|
+
return key === 'padding' ? 1 : super.getAttribute(key);
|
|
121
|
+
}
|
|
122
|
+
/** @private */
|
|
123
|
+
getGaps() {
|
|
124
|
+
/* NOT FOR BROWSER */
|
|
125
|
+
this.#correct();
|
|
126
|
+
/* NOT FOR BROWSER END */
|
|
127
|
+
return this.#space.length;
|
|
128
|
+
}
|
|
129
|
+
/** @override */
|
|
130
|
+
lint(start = this.getAbsoluteIndex()) {
|
|
131
|
+
const errors = super.lint(start);
|
|
132
|
+
if (this.length === 1 && this.closest('heading-title')) {
|
|
133
|
+
errors.push((0, lint_1.generateForSelf)(this, { start }, 'variable anchor in a section header'));
|
|
134
|
+
}
|
|
135
|
+
return errors;
|
|
136
|
+
}
|
|
137
|
+
/** @override */
|
|
138
|
+
print() {
|
|
139
|
+
return super.print(this.length === 1 ? { pre: '[', post: `${this.#space}]` } : { pre: '[', sep: this.#space, post: ']' });
|
|
140
|
+
}
|
|
141
|
+
/* NOT FOR BROWSER */
|
|
142
|
+
/** @override */
|
|
143
|
+
cloneNode() {
|
|
144
|
+
const [url, text] = this.cloneChildNodes();
|
|
145
|
+
return debug_1.Shadow.run(() => {
|
|
146
|
+
// @ts-expect-error abstract class
|
|
147
|
+
const token = new ExtLinkToken(undefined, '', '', this.getAttribute('config'));
|
|
148
|
+
token.firstChild.safeReplaceWith(url);
|
|
149
|
+
if (text) {
|
|
150
|
+
token.insertAt(text);
|
|
151
|
+
}
|
|
152
|
+
return token;
|
|
127
153
|
});
|
|
128
|
-
this.insertAt(root);
|
|
129
154
|
}
|
|
130
|
-
|
|
131
|
-
|
|
155
|
+
/** 修正空白字符 */
|
|
156
|
+
#correct() {
|
|
157
|
+
if (!this.#space
|
|
158
|
+
&& this.length > 1
|
|
159
|
+
// 都替换成`<`肯定不对,但无妨
|
|
160
|
+
&& /^[^[\]<>"{\0-\x1F\x7F\p{Zs}\uFFFD]/u.test(this.lastChild.text().replace(/&[lg]t;/u, '<'))) {
|
|
161
|
+
this.#space = ' ';
|
|
162
|
+
}
|
|
132
163
|
}
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
164
|
+
/**
|
|
165
|
+
* 设置链接显示文字
|
|
166
|
+
* @param str 链接显示文字
|
|
167
|
+
*/
|
|
168
|
+
setLinkText(str) {
|
|
169
|
+
const root = index_1.default.parse(str, this.getAttribute('include'), 7, this.getAttribute('config'));
|
|
170
|
+
if (this.length === 1) {
|
|
171
|
+
root.type = 'ext-link-text';
|
|
172
|
+
root.setAttribute('acceptable', {
|
|
173
|
+
'Stage-7': ':', ConverterToken: ':',
|
|
174
|
+
});
|
|
175
|
+
this.insertAt(root);
|
|
176
|
+
}
|
|
177
|
+
else {
|
|
178
|
+
this.lastChild.replaceChildren(...root.childNodes);
|
|
179
|
+
}
|
|
180
|
+
this.#space ||= ' ';
|
|
181
|
+
}
|
|
182
|
+
};
|
|
183
|
+
return ExtLinkToken = _classThis;
|
|
184
|
+
})();
|
|
136
185
|
exports.ExtLinkToken = ExtLinkToken;
|
|
137
186
|
constants_1.classes['ExtLinkToken'] = __filename;
|
package/dist/src/gallery.d.ts
CHANGED
|
@@ -13,16 +13,16 @@ export declare abstract class GalleryToken extends Token {
|
|
|
13
13
|
readonly type = "ext-inner";
|
|
14
14
|
readonly name: 'gallery';
|
|
15
15
|
readonly childNodes: readonly (GalleryImageToken | NoincludeToken | AstText)[];
|
|
16
|
-
abstract get children(): (GalleryImageToken | NoincludeToken)[];
|
|
17
16
|
abstract get firstChild(): GalleryImageToken | NoincludeToken | AstText | undefined;
|
|
18
|
-
abstract get firstElementChild(): GalleryImageToken | NoincludeToken | undefined;
|
|
19
17
|
abstract get lastChild(): GalleryImageToken | NoincludeToken | AstText | undefined;
|
|
20
|
-
abstract get lastElementChild(): GalleryImageToken | NoincludeToken | undefined;
|
|
21
18
|
abstract get nextSibling(): undefined;
|
|
22
|
-
abstract get nextElementSibling(): undefined;
|
|
23
19
|
abstract get previousSibling(): AttributesToken;
|
|
24
|
-
abstract get previousElementSibling(): AttributesToken;
|
|
25
20
|
abstract get parentNode(): ExtToken | undefined;
|
|
21
|
+
abstract get children(): (GalleryImageToken | NoincludeToken)[];
|
|
22
|
+
abstract get firstElementChild(): GalleryImageToken | NoincludeToken | undefined;
|
|
23
|
+
abstract get lastElementChild(): GalleryImageToken | NoincludeToken | undefined;
|
|
24
|
+
abstract get nextElementSibling(): undefined;
|
|
25
|
+
abstract get previousElementSibling(): AttributesToken;
|
|
26
26
|
abstract get parentElement(): ExtToken | undefined;
|
|
27
27
|
/** 所有图片 */
|
|
28
28
|
get images(): GalleryImageToken[];
|
package/dist/src/gallery.js
CHANGED
package/dist/src/heading.d.ts
CHANGED
|
@@ -1,18 +1,19 @@
|
|
|
1
1
|
import Parser from '../index';
|
|
2
2
|
import { Token } from './index';
|
|
3
3
|
import { SyntaxToken } from './syntax';
|
|
4
|
-
import type { LintError } from '../base';
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
}
|
|
4
|
+
import type { LintError, AST } from '../base';
|
|
5
|
+
/**
|
|
6
|
+
* 章节标题
|
|
7
|
+
* @classdesc `{childNodes: [Token, SyntaxToken]}`
|
|
8
|
+
*/
|
|
8
9
|
export declare abstract class HeadingToken extends Token {
|
|
9
10
|
#private;
|
|
10
11
|
readonly type = "heading";
|
|
11
12
|
readonly childNodes: readonly [Token, SyntaxToken];
|
|
12
|
-
abstract get children(): [Token, SyntaxToken];
|
|
13
13
|
abstract get firstChild(): Token;
|
|
14
|
-
abstract get firstElementChild(): Token;
|
|
15
14
|
abstract get lastChild(): SyntaxToken;
|
|
15
|
+
abstract get children(): [Token, SyntaxToken];
|
|
16
|
+
abstract get firstElementChild(): Token;
|
|
16
17
|
abstract get lastElementChild(): SyntaxToken;
|
|
17
18
|
/** 标题层级 */
|
|
18
19
|
get level(): number;
|
|
@@ -33,7 +34,7 @@ export declare abstract class HeadingToken extends Token {
|
|
|
33
34
|
/** @override */
|
|
34
35
|
print(): string;
|
|
35
36
|
/** @override */
|
|
36
|
-
json():
|
|
37
|
+
json(): AST;
|
|
37
38
|
/** @override */
|
|
38
39
|
cloneNode(): this;
|
|
39
40
|
/**
|
|
@@ -44,4 +45,3 @@ export declare abstract class HeadingToken extends Token {
|
|
|
44
45
|
/** 移除标题后的不可见内容 */
|
|
45
46
|
removeTrail(): void;
|
|
46
47
|
}
|
|
47
|
-
export {};
|