wikiparser-node 1.13.1-b → 1.13.1
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/.schema.json +203 -0
- package/config/default.json +32 -31
- package/config/enwiki.json +829 -15
- package/config/llwiki.json +56 -21
- package/config/moegirl.json +65 -21
- package/config/zhwiki.json +498 -32
- package/dist/addon/table.js +494 -0
- package/dist/addon/token.js +392 -0
- package/dist/addon/transclude.js +184 -0
- package/dist/base.d.ts +110 -0
- package/dist/base.js +67 -0
- package/dist/index.d.ts +33 -0
- package/dist/index.js +279 -0
- package/dist/internal.d.ts +47 -0
- package/dist/lib/element.d.ts +125 -0
- package/dist/lib/element.js +364 -0
- package/dist/lib/node.d.ts +173 -0
- package/dist/lib/node.js +478 -0
- package/dist/lib/range.d.ts +105 -0
- package/dist/lib/range.js +406 -0
- package/dist/lib/ranges.d.ts +28 -0
- package/dist/lib/ranges.js +126 -0
- package/dist/lib/rect.d.ts +18 -0
- package/dist/lib/rect.js +36 -0
- package/dist/lib/text.d.ts +58 -0
- package/dist/lib/text.js +414 -0
- package/dist/lib/title.d.ts +49 -0
- package/dist/lib/title.js +251 -0
- package/dist/mixin/attributesParent.d.ts +49 -0
- package/dist/mixin/attributesParent.js +80 -0
- package/dist/mixin/fixed.d.ts +5 -0
- package/dist/mixin/fixed.js +32 -0
- package/dist/mixin/flagsParent.d.ts +43 -0
- package/dist/mixin/flagsParent.js +64 -0
- package/dist/mixin/hidden.d.ts +7 -0
- package/dist/mixin/hidden.js +39 -0
- package/dist/mixin/magicLinkParent.d.ts +19 -0
- package/dist/mixin/magicLinkParent.js +43 -0
- package/dist/mixin/singleLine.d.ts +5 -0
- package/dist/mixin/singleLine.js +25 -0
- package/dist/mixin/sol.d.ts +6 -0
- package/dist/mixin/sol.js +45 -0
- package/dist/mixin/syntax.d.ts +8 -0
- package/dist/mixin/syntax.js +46 -0
- package/dist/parser/braces.js +152 -0
- package/dist/parser/commentAndExt.js +84 -0
- package/dist/parser/converter.js +41 -0
- package/dist/parser/externalLinks.js +39 -0
- package/dist/parser/hrAndDoubleUnderscore.js +44 -0
- package/dist/parser/html.js +40 -0
- package/dist/parser/links.js +103 -0
- package/dist/parser/list.js +116 -0
- package/dist/parser/magicLinks.js +55 -0
- package/dist/parser/quotes.js +69 -0
- package/dist/parser/redirect.js +28 -0
- package/dist/parser/selector.js +443 -0
- package/dist/parser/table.js +125 -0
- package/dist/src/arg.d.ts +49 -0
- package/dist/src/arg.js +220 -0
- package/dist/src/atom.d.ts +14 -0
- package/dist/src/atom.js +54 -0
- package/dist/src/attribute.d.ts +64 -0
- package/dist/src/attribute.js +482 -0
- package/dist/src/attributes.d.ts +103 -0
- package/dist/src/attributes.js +383 -0
- package/dist/src/converter.d.ts +28 -0
- package/dist/src/converter.js +153 -0
- package/dist/src/converterFlags.d.ts +80 -0
- package/dist/src/converterFlags.js +241 -0
- package/dist/src/converterRule.d.ts +71 -0
- package/dist/src/converterRule.js +218 -0
- package/dist/src/extLink.d.ts +36 -0
- package/dist/src/extLink.js +223 -0
- package/dist/src/gallery.d.ts +51 -0
- package/dist/src/gallery.js +166 -0
- package/dist/src/heading.d.ts +44 -0
- package/dist/src/heading.js +222 -0
- package/dist/src/hidden.d.ts +9 -0
- package/dist/src/hidden.js +82 -0
- package/dist/src/html.d.ts +61 -0
- package/dist/src/html.js +344 -0
- package/dist/src/imageParameter.d.ts +60 -0
- package/dist/src/imageParameter.js +262 -0
- package/dist/src/imagemap.d.ts +47 -0
- package/dist/src/imagemap.js +148 -0
- package/dist/src/imagemapLink.d.ts +35 -0
- package/dist/src/imagemapLink.js +99 -0
- package/dist/src/index.d.ts +136 -0
- package/dist/src/index.js +790 -0
- package/dist/src/link/base.d.ts +52 -0
- package/dist/src/link/base.js +258 -0
- package/dist/src/link/category.d.ts +22 -0
- package/dist/src/link/category.js +36 -0
- package/dist/src/link/file.d.ts +102 -0
- package/dist/src/link/file.js +345 -0
- package/dist/src/link/galleryImage.d.ts +29 -0
- package/dist/src/link/galleryImage.js +133 -0
- package/dist/src/link/index.d.ts +39 -0
- package/dist/src/link/index.js +100 -0
- package/dist/src/link/redirectTarget.d.ts +27 -0
- package/dist/src/link/redirectTarget.js +71 -0
- package/dist/src/magicLink.d.ts +57 -0
- package/dist/src/magicLink.js +261 -0
- package/dist/src/nested.d.ts +40 -0
- package/dist/src/nested.js +108 -0
- package/dist/src/nowiki/base.d.ts +28 -0
- package/dist/src/nowiki/base.js +90 -0
- package/dist/src/nowiki/comment.d.ts +14 -0
- package/dist/src/nowiki/comment.js +123 -0
- package/dist/src/nowiki/dd.d.ts +8 -0
- package/dist/src/nowiki/dd.js +74 -0
- package/dist/src/nowiki/doubleUnderscore.d.ts +15 -0
- package/dist/src/nowiki/doubleUnderscore.js +101 -0
- package/dist/src/nowiki/hr.d.ts +5 -0
- package/dist/src/nowiki/hr.js +72 -0
- package/dist/src/nowiki/index.d.ts +14 -0
- package/dist/src/nowiki/index.js +30 -0
- package/dist/src/nowiki/list.d.ts +5 -0
- package/dist/src/nowiki/list.js +67 -0
- package/dist/src/nowiki/listBase.d.ts +23 -0
- package/dist/src/nowiki/listBase.js +100 -0
- package/dist/src/nowiki/noinclude.d.ts +6 -0
- package/dist/src/nowiki/noinclude.js +77 -0
- package/dist/src/nowiki/quote.d.ts +14 -0
- package/dist/src/nowiki/quote.js +149 -0
- package/dist/src/onlyinclude.d.ts +13 -0
- package/dist/src/onlyinclude.js +60 -0
- package/dist/src/paramTag/index.d.ts +28 -0
- package/dist/src/paramTag/index.js +80 -0
- package/dist/src/paramTag/inputbox.d.ts +8 -0
- package/dist/src/paramTag/inputbox.js +38 -0
- package/dist/src/parameter.d.ts +60 -0
- package/dist/src/parameter.js +267 -0
- package/dist/src/pre.d.ts +28 -0
- package/dist/src/pre.js +70 -0
- package/dist/src/redirect.d.ts +30 -0
- package/dist/src/redirect.js +128 -0
- package/dist/src/syntax.d.ts +15 -0
- package/dist/src/syntax.js +87 -0
- package/dist/src/table/base.d.ts +28 -0
- package/dist/src/table/base.js +81 -0
- package/dist/src/table/index.d.ts +230 -0
- package/dist/src/table/index.js +506 -0
- package/dist/src/table/td.d.ts +72 -0
- package/dist/src/table/td.js +375 -0
- package/dist/src/table/tr.d.ts +30 -0
- package/dist/src/table/tr.js +61 -0
- package/dist/src/table/trBase.d.ts +49 -0
- package/dist/src/table/trBase.js +165 -0
- package/dist/src/tagPair/ext.d.ts +29 -0
- package/dist/src/tagPair/ext.js +229 -0
- package/dist/src/tagPair/include.d.ts +33 -0
- package/dist/src/tagPair/include.js +145 -0
- package/dist/src/tagPair/index.d.ts +23 -0
- package/dist/src/tagPair/index.js +130 -0
- package/dist/src/transclude.d.ts +159 -0
- package/dist/src/transclude.js +598 -0
- package/dist/util/constants.js +26 -0
- package/dist/util/debug.js +95 -0
- package/dist/util/diff.js +83 -0
- package/dist/util/html.js +146 -0
- package/dist/util/lint.js +32 -0
- package/dist/util/string.js +107 -0
- package/errors/README +3 -0
- package/package.json +21 -28
- package/printed/README +3 -0
- package/bundle/bundle.min.js +0 -37
- package/extensions/dist/base.js +0 -163
- package/extensions/dist/codejar.js +0 -53
- package/extensions/dist/editor.js +0 -159
- package/extensions/dist/highlight.js +0 -30
- package/extensions/dist/lint.js +0 -72
- package/extensions/editor.css +0 -59
- package/extensions/ui.css +0 -162
|
@@ -0,0 +1,222 @@
|
|
|
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
|
+
};
|
|
36
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
37
|
+
exports.HeadingToken = void 0;
|
|
38
|
+
const lint_1 = require("../util/lint");
|
|
39
|
+
const debug_1 = require("../util/debug");
|
|
40
|
+
const rect_1 = require("../lib/rect");
|
|
41
|
+
const index_1 = require("../index");
|
|
42
|
+
const index_2 = require("./index");
|
|
43
|
+
const syntax_1 = require("./syntax");
|
|
44
|
+
/* NOT FOR BROWSER */
|
|
45
|
+
const constants_1 = require("../util/constants");
|
|
46
|
+
const string_1 = require("../util/string");
|
|
47
|
+
const fixed_1 = require("../mixin/fixed");
|
|
48
|
+
const sol_1 = require("../mixin/sol");
|
|
49
|
+
/* NOT FOR BROWSER END */
|
|
50
|
+
/**
|
|
51
|
+
* 章节标题
|
|
52
|
+
* @classdesc `{childNodes: [Token, SyntaxToken]}`
|
|
53
|
+
*/
|
|
54
|
+
let HeadingToken = (() => {
|
|
55
|
+
let _classDecorators = [fixed_1.fixedToken, (0, sol_1.sol)()];
|
|
56
|
+
let _classDescriptor;
|
|
57
|
+
let _classExtraInitializers = [];
|
|
58
|
+
let _classThis;
|
|
59
|
+
let _classSuper = index_2.Token;
|
|
60
|
+
var HeadingToken = class extends _classSuper {
|
|
61
|
+
static { _classThis = this; }
|
|
62
|
+
static {
|
|
63
|
+
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
64
|
+
__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
|
65
|
+
HeadingToken = _classThis = _classDescriptor.value;
|
|
66
|
+
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
67
|
+
__runInitializers(_classThis, _classExtraInitializers);
|
|
68
|
+
}
|
|
69
|
+
#level;
|
|
70
|
+
/* NOT FOR BROWSER END */
|
|
71
|
+
get type() {
|
|
72
|
+
return 'heading';
|
|
73
|
+
}
|
|
74
|
+
/** 标题格式的等号 */
|
|
75
|
+
get #equals() {
|
|
76
|
+
return '='.repeat(this.level);
|
|
77
|
+
}
|
|
78
|
+
/** 标题层级 */
|
|
79
|
+
get level() {
|
|
80
|
+
return this.#level;
|
|
81
|
+
}
|
|
82
|
+
/* NOT FOR BROWSER */
|
|
83
|
+
set level(n) {
|
|
84
|
+
this.setLevel(n);
|
|
85
|
+
}
|
|
86
|
+
/** 内部wikitext */
|
|
87
|
+
get innerText() {
|
|
88
|
+
return this.firstChild.text().trim();
|
|
89
|
+
}
|
|
90
|
+
/** @throws `Error` 首尾包含`=` */
|
|
91
|
+
set innerText(text) {
|
|
92
|
+
if (text.length > 1 && text.startsWith('=') && text.endsWith('=')) {
|
|
93
|
+
throw new Error('Please use HeadingToken.setLevel method to change the level of the heading!');
|
|
94
|
+
}
|
|
95
|
+
const { childNodes } = index_1.default.parse(text, this.getAttribute('include'), undefined, this.getAttribute('config'));
|
|
96
|
+
this.firstChild.replaceChildren(...childNodes);
|
|
97
|
+
}
|
|
98
|
+
/** id属性 */
|
|
99
|
+
get id() {
|
|
100
|
+
return this.#getId(true);
|
|
101
|
+
}
|
|
102
|
+
/* NOT FOR BROWSER END */
|
|
103
|
+
/**
|
|
104
|
+
* @param level 标题层级
|
|
105
|
+
* @param input 标题文字
|
|
106
|
+
*/
|
|
107
|
+
constructor(level, input, config = index_1.default.getConfig(), accum = []) {
|
|
108
|
+
super(undefined, config, accum);
|
|
109
|
+
this.#level = level;
|
|
110
|
+
const token = new index_2.Token(input[0], config, accum);
|
|
111
|
+
token.type = 'heading-title';
|
|
112
|
+
token.setAttribute('stage', 2);
|
|
113
|
+
const trail = new syntax_1.SyntaxToken(input[1], /^\s*$/u, 'heading-trail', config, accum, {
|
|
114
|
+
'Stage-1': ':', '!ExtToken': '',
|
|
115
|
+
});
|
|
116
|
+
this.append(token, trail);
|
|
117
|
+
}
|
|
118
|
+
/** @private */
|
|
119
|
+
toString(skip) {
|
|
120
|
+
const equals = this.#equals;
|
|
121
|
+
return equals + this.firstChild.toString(skip) + equals + this.lastChild.toString(skip);
|
|
122
|
+
}
|
|
123
|
+
/** @private */
|
|
124
|
+
text() {
|
|
125
|
+
const equals = this.#equals;
|
|
126
|
+
return equals + this.firstChild.text() + equals;
|
|
127
|
+
}
|
|
128
|
+
/** @private */
|
|
129
|
+
getAttribute(key) {
|
|
130
|
+
return key === 'padding' ? this.level : super.getAttribute(key);
|
|
131
|
+
}
|
|
132
|
+
/** @private */
|
|
133
|
+
getGaps() {
|
|
134
|
+
return this.level;
|
|
135
|
+
}
|
|
136
|
+
/** @private */
|
|
137
|
+
lint(start = this.getAbsoluteIndex(), re) {
|
|
138
|
+
const errors = super.lint(start, re), { firstChild, level } = this, innerStr = firstChild.toString(), quotes = firstChild.childNodes.filter((0, debug_1.isToken)('quote')), boldQuotes = quotes.filter(({ bold }) => bold), italicQuotes = quotes.filter(({ italic }) => italic), rect = new rect_1.BoundingRect(this, start);
|
|
139
|
+
if (this.level === 1) {
|
|
140
|
+
errors.push((0, lint_1.generateForChild)(firstChild, rect, 'h1', '<h1>'));
|
|
141
|
+
}
|
|
142
|
+
if (innerStr.startsWith('=') || innerStr.endsWith('=')) {
|
|
143
|
+
errors.push((0, lint_1.generateForChild)(firstChild, rect, 'unbalanced-header', index_1.default.msg('unbalanced $1 in a section header', '"="')));
|
|
144
|
+
}
|
|
145
|
+
if (this.closest('html-attrs,table-attrs')) {
|
|
146
|
+
errors.push((0, lint_1.generateForSelf)(this, rect, 'parsing-order', 'section header in a HTML tag'));
|
|
147
|
+
}
|
|
148
|
+
if (boldQuotes.length % 2) {
|
|
149
|
+
errors.push((0, lint_1.generateForChild)(boldQuotes[boldQuotes.length - 1], { ...rect, start: start + level, left: rect.left + level }, 'format-leakage', index_1.default.msg('unbalanced $1 in a section header', 'bold apostrophes')));
|
|
150
|
+
}
|
|
151
|
+
if (italicQuotes.length % 2) {
|
|
152
|
+
errors.push((0, lint_1.generateForChild)(italicQuotes[italicQuotes.length - 1], { start: start + level }, 'format-leakage', index_1.default.msg('unbalanced $1 in a section header', 'italic apostrophes')));
|
|
153
|
+
}
|
|
154
|
+
return errors;
|
|
155
|
+
}
|
|
156
|
+
/** @private */
|
|
157
|
+
print() {
|
|
158
|
+
const equals = this.#equals;
|
|
159
|
+
return super.print({ pre: equals, sep: equals });
|
|
160
|
+
}
|
|
161
|
+
/** @override */
|
|
162
|
+
json() {
|
|
163
|
+
const json = super.json();
|
|
164
|
+
json['level'] = this.level;
|
|
165
|
+
return json;
|
|
166
|
+
}
|
|
167
|
+
/* NOT FOR BROWSER */
|
|
168
|
+
cloneNode() {
|
|
169
|
+
const [title, trail] = this.cloneChildNodes();
|
|
170
|
+
return debug_1.Shadow.run(() => {
|
|
171
|
+
// @ts-expect-error abstract class
|
|
172
|
+
const token = new HeadingToken(this.level, [], this.getAttribute('config'));
|
|
173
|
+
token.firstChild.safeReplaceWith(title);
|
|
174
|
+
token.lastChild.safeReplaceWith(trail);
|
|
175
|
+
return token;
|
|
176
|
+
});
|
|
177
|
+
}
|
|
178
|
+
/**
|
|
179
|
+
* 设置标题层级
|
|
180
|
+
* @param n 标题层级
|
|
181
|
+
*/
|
|
182
|
+
setLevel(n) {
|
|
183
|
+
this.#level = Math.min(Math.max(n, 1), 6);
|
|
184
|
+
}
|
|
185
|
+
/** 移除标题后的不可见内容 */
|
|
186
|
+
removeTrail() {
|
|
187
|
+
this.lastChild.replaceChildren();
|
|
188
|
+
}
|
|
189
|
+
/**
|
|
190
|
+
* id属性
|
|
191
|
+
* @param expand 是否展开模板
|
|
192
|
+
*/
|
|
193
|
+
#getId(expand) {
|
|
194
|
+
const token = expand ? this.firstChild.expand() : this.firstChild;
|
|
195
|
+
let id = (0, string_1.decodeHtml)((0, string_1.sanitizeAlt)(token.toHtmlInternal(false, true))).replace(/[\s_]+/gu, '_');
|
|
196
|
+
if (id.endsWith('_')) {
|
|
197
|
+
id = id.slice(0, -1);
|
|
198
|
+
}
|
|
199
|
+
return id;
|
|
200
|
+
}
|
|
201
|
+
/** @private */
|
|
202
|
+
toHtmlInternal() {
|
|
203
|
+
let id = this.#getId();
|
|
204
|
+
const { level, firstChild } = this, lcId = id.toLowerCase(), headings = constants_1.states.get(this.getRootNode())?.headings;
|
|
205
|
+
if (headings?.has(lcId)) {
|
|
206
|
+
let i = 2;
|
|
207
|
+
for (; headings.has(`${lcId}_${i}`); i++) {
|
|
208
|
+
// pass
|
|
209
|
+
}
|
|
210
|
+
id = `${id}_${i}`;
|
|
211
|
+
headings.add(`${lcId}_${i}`);
|
|
212
|
+
}
|
|
213
|
+
else {
|
|
214
|
+
headings?.add(lcId);
|
|
215
|
+
}
|
|
216
|
+
return `<div class="mw-heading mw-heading${level}"><h${level} id="${(0, string_1.sanitizeId)(id)}">${firstChild.toHtmlInternal().trim()}</h${level}></div>`;
|
|
217
|
+
}
|
|
218
|
+
};
|
|
219
|
+
return HeadingToken = _classThis;
|
|
220
|
+
})();
|
|
221
|
+
exports.HeadingToken = HeadingToken;
|
|
222
|
+
constants_1.classes['HeadingToken'] = __filename;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Token } from './index';
|
|
2
|
+
import type { Config } from '../base';
|
|
3
|
+
/** 不可见的节点 */
|
|
4
|
+
export declare class HiddenToken extends Token {
|
|
5
|
+
get type(): 'hidden';
|
|
6
|
+
/** @class */
|
|
7
|
+
constructor(wikitext?: string, config?: Config, accum?: Token[]);
|
|
8
|
+
cloneNode(): this;
|
|
9
|
+
}
|
|
@@ -0,0 +1,82 @@
|
|
|
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
|
+
};
|
|
36
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
37
|
+
exports.HiddenToken = void 0;
|
|
38
|
+
const hidden_1 = require("../mixin/hidden");
|
|
39
|
+
const index_1 = require("./index");
|
|
40
|
+
/* NOT FOR BROWSER */
|
|
41
|
+
const debug_1 = require("../util/debug");
|
|
42
|
+
const constants_1 = require("../util/constants");
|
|
43
|
+
/* NOT FOR BROWSER END */
|
|
44
|
+
/** 不可见的节点 */
|
|
45
|
+
let HiddenToken = (() => {
|
|
46
|
+
let _classDecorators = [(0, hidden_1.hiddenToken)()];
|
|
47
|
+
let _classDescriptor;
|
|
48
|
+
let _classExtraInitializers = [];
|
|
49
|
+
let _classThis;
|
|
50
|
+
let _classSuper = index_1.Token;
|
|
51
|
+
var HiddenToken = class extends _classSuper {
|
|
52
|
+
static { _classThis = this; }
|
|
53
|
+
static {
|
|
54
|
+
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
55
|
+
__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
|
56
|
+
HiddenToken = _classThis = _classDescriptor.value;
|
|
57
|
+
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
58
|
+
__runInitializers(_classThis, _classExtraInitializers);
|
|
59
|
+
}
|
|
60
|
+
get type() {
|
|
61
|
+
return 'hidden';
|
|
62
|
+
}
|
|
63
|
+
/* NOT FOR BROWSER */
|
|
64
|
+
/** @class */
|
|
65
|
+
constructor(wikitext, config, accum) {
|
|
66
|
+
super(wikitext, config, accum, {
|
|
67
|
+
'Stage-2': ':', '!HeadingToken': '',
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
cloneNode() {
|
|
71
|
+
const cloned = this.cloneChildNodes(), config = this.getAttribute('config');
|
|
72
|
+
return debug_1.Shadow.run(() => {
|
|
73
|
+
const token = new HiddenToken(undefined, config, []);
|
|
74
|
+
token.append(...cloned);
|
|
75
|
+
return token;
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
};
|
|
79
|
+
return HiddenToken = _classThis;
|
|
80
|
+
})();
|
|
81
|
+
exports.HiddenToken = HiddenToken;
|
|
82
|
+
constants_1.classes['HiddenToken'] = __filename;
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { Token } from './index';
|
|
2
|
+
import type { Config, LintError, AST } from '../base';
|
|
3
|
+
import type { AttributesToken } from '../internal';
|
|
4
|
+
import type { AttributesParentBase } from '../mixin/attributesParent';
|
|
5
|
+
export interface HtmlToken extends AttributesParentBase {
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* HTML标签
|
|
9
|
+
* @classdesc `{childNodes: [AttributesToken]}`
|
|
10
|
+
*/
|
|
11
|
+
export declare abstract class HtmlToken extends Token {
|
|
12
|
+
#private;
|
|
13
|
+
readonly name: string;
|
|
14
|
+
readonly childNodes: readonly [AttributesToken];
|
|
15
|
+
abstract get firstChild(): AttributesToken;
|
|
16
|
+
abstract get lastChild(): AttributesToken;
|
|
17
|
+
abstract get children(): [AttributesToken];
|
|
18
|
+
abstract get firstElementChild(): AttributesToken;
|
|
19
|
+
abstract get lastElementChild(): AttributesToken;
|
|
20
|
+
get type(): 'html';
|
|
21
|
+
/** 是否自封闭 */
|
|
22
|
+
get selfClosing(): boolean;
|
|
23
|
+
/** 是否是闭合标签 */
|
|
24
|
+
get closing(): boolean;
|
|
25
|
+
/** @throws `Error` 自封闭标签或空标签 */
|
|
26
|
+
set closing(value: boolean);
|
|
27
|
+
/** @throws `Error` 闭合标签或无效自封闭标签 */
|
|
28
|
+
set selfClosing(value: boolean);
|
|
29
|
+
get font(): {
|
|
30
|
+
bold: boolean;
|
|
31
|
+
italic: boolean;
|
|
32
|
+
};
|
|
33
|
+
/**
|
|
34
|
+
* @param name 标签名
|
|
35
|
+
* @param attr 标签属性
|
|
36
|
+
* @param closing 是否闭合
|
|
37
|
+
* @param selfClosing 是否自封闭
|
|
38
|
+
*/
|
|
39
|
+
constructor(name: string, attr: AttributesToken, closing: boolean, selfClosing: boolean, config?: Config, accum?: Token[]);
|
|
40
|
+
/**
|
|
41
|
+
* 搜索匹配的标签
|
|
42
|
+
* @throws `SyntaxError` 同时闭合和自封闭的标签
|
|
43
|
+
* @throws `SyntaxError` 无效自封闭标签
|
|
44
|
+
* @throws `SyntaxError` 未匹配的标签
|
|
45
|
+
*/
|
|
46
|
+
findMatchingTag(): this | undefined;
|
|
47
|
+
/** @override */
|
|
48
|
+
json(): AST;
|
|
49
|
+
cloneNode(): this;
|
|
50
|
+
/**
|
|
51
|
+
* 更换标签名
|
|
52
|
+
* @param tag 标签名
|
|
53
|
+
* @throws `RangeError` 非法的HTML标签
|
|
54
|
+
*/
|
|
55
|
+
replaceTag(tag: string): void;
|
|
56
|
+
/**
|
|
57
|
+
* 修复无效自封闭标签
|
|
58
|
+
* @throws `Error` 无法修复无效自封闭标签
|
|
59
|
+
*/
|
|
60
|
+
fix(): void;
|
|
61
|
+
}
|