wikiparser-node 1.21.2 → 1.22.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +9 -5
- package/bundle/bundle-es8.min.js +25 -25
- package/bundle/bundle-lsp.min.js +26 -26
- package/bundle/bundle.min.js +25 -25
- package/config/default.json +15 -11
- package/config/enwiki.json +1 -1
- package/config/jawiki.json +1 -1
- package/config/minimum.json +2 -3
- package/config/moegirl.json +152 -15
- package/config/zhwiki.json +1 -1
- package/dist/addon/token.js +3 -0
- package/dist/base.d.mts +16 -9
- package/dist/base.d.ts +16 -9
- package/dist/bin/config.js +23 -11
- package/dist/index.d.ts +33 -4
- package/dist/index.js +37 -2
- package/dist/lib/element.d.ts +4 -4
- package/dist/lib/element.js +6 -5
- package/dist/lib/lintConfig.d.ts +13 -0
- package/dist/lib/lintConfig.js +278 -0
- package/dist/lib/lsp.d.ts +7 -7
- package/dist/lib/lsp.js +18 -20
- package/dist/lib/node.d.ts +1 -1
- package/dist/lib/node.js +646 -606
- package/dist/lib/range.d.ts +2 -2
- package/dist/lib/range.js +2 -2
- package/dist/lib/text.js +76 -62
- package/dist/lib/title.d.ts +11 -4
- package/dist/lib/title.js +16 -6
- package/dist/mixin/attributesParent.d.ts +6 -6
- package/dist/mixin/attributesParent.js +4 -4
- package/dist/mixin/cached.d.ts +5 -0
- package/dist/mixin/cached.js +22 -0
- package/dist/mixin/clone.d.ts +5 -0
- package/dist/mixin/clone.js +23 -0
- package/dist/mixin/hidden.js +68 -18
- package/dist/mixin/sol.js +1 -1
- package/dist/parser/commentAndExt.js +6 -4
- package/dist/parser/converter.js +1 -1
- package/dist/parser/html.js +3 -3
- package/dist/parser/table.js +2 -2
- package/dist/src/arg.js +24 -17
- package/dist/src/atom.js +76 -31
- package/dist/src/attribute.js +79 -39
- package/dist/src/attributes.d.ts +7 -7
- package/dist/src/attributes.js +417 -366
- package/dist/src/commented.js +81 -35
- package/dist/src/converter.js +13 -7
- package/dist/src/converterFlags.js +33 -22
- package/dist/src/converterRule.js +263 -216
- package/dist/src/extLink.js +21 -16
- package/dist/src/gallery.js +44 -27
- package/dist/src/heading.js +48 -43
- package/dist/src/hidden.js +14 -9
- package/dist/src/html.js +92 -60
- package/dist/src/imageParameter.js +13 -6
- package/dist/src/imagemap.js +32 -25
- package/dist/src/index.d.ts +2 -2
- package/dist/src/index.js +61 -50
- package/dist/src/link/base.d.ts +1 -1
- package/dist/src/link/base.js +35 -23
- package/dist/src/link/file.js +409 -354
- package/dist/src/link/galleryImage.js +9 -5
- package/dist/src/link/index.d.ts +1 -1
- package/dist/src/link/index.js +8 -4
- package/dist/src/link/redirectTarget.js +7 -3
- package/dist/src/magicLink.js +39 -26
- package/dist/src/nested.js +122 -74
- package/dist/src/nowiki/base.js +5 -2
- package/dist/src/nowiki/comment.js +5 -1
- package/dist/src/nowiki/index.js +4 -4
- package/dist/src/nowiki/quote.js +32 -46
- package/dist/src/onlyinclude.js +17 -9
- package/dist/src/paramTag/index.js +21 -14
- package/dist/src/parameter.js +26 -20
- package/dist/src/pre.js +91 -45
- package/dist/src/syntax.js +14 -10
- package/dist/src/table/index.js +554 -501
- package/dist/src/table/td.d.ts +1 -1
- package/dist/src/table/td.js +91 -82
- package/dist/src/table/trBase.js +183 -130
- package/dist/src/tagPair/ext.js +38 -23
- package/dist/src/tagPair/include.js +5 -5
- package/dist/src/tagPair/index.js +2 -3
- package/dist/src/tagPair/translate.js +150 -103
- package/dist/src/transclude.d.ts +15 -1
- package/dist/src/transclude.js +56 -21
- package/dist/util/html.js +46 -41
- package/dist/util/lint.js +7 -9
- package/dist/util/sharable.js +1 -1
- package/dist/util/sharable.mjs +2 -2
- package/dist/util/string.js +13 -7
- package/extensions/dist/base.js +9 -2
- package/extensions/typings.d.ts +2 -1
- package/i18n/zh-hans.json +1 -1
- package/i18n/zh-hant.json +1 -1
- package/package.json +20 -15
package/dist/src/onlyinclude.js
CHANGED
|
@@ -1,4 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
|
|
3
|
+
var useValue = arguments.length > 2;
|
|
4
|
+
for (var i = 0; i < initializers.length; i++) {
|
|
5
|
+
value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
|
|
6
|
+
}
|
|
7
|
+
return useValue ? value : void 0;
|
|
8
|
+
};
|
|
2
9
|
var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
|
|
3
10
|
function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
|
|
4
11
|
var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
|
|
@@ -26,13 +33,6 @@ var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn,
|
|
|
26
33
|
if (target) Object.defineProperty(target, contextIn.name, descriptor);
|
|
27
34
|
done = true;
|
|
28
35
|
};
|
|
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
36
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
37
37
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
38
38
|
};
|
|
@@ -42,7 +42,7 @@ const padded_1 = require("../mixin/padded");
|
|
|
42
42
|
const index_1 = require("./index");
|
|
43
43
|
/* NOT FOR BROWSER */
|
|
44
44
|
const constants_1 = require("../util/constants");
|
|
45
|
-
const
|
|
45
|
+
const clone_1 = require("../mixin/clone");
|
|
46
46
|
const noEscape_1 = require("../mixin/noEscape");
|
|
47
47
|
const index_2 = __importDefault(require("../index"));
|
|
48
48
|
/* NOT FOR BROWSER END */
|
|
@@ -58,10 +58,14 @@ let OnlyincludeToken = (() => {
|
|
|
58
58
|
let _classExtraInitializers = [];
|
|
59
59
|
let _classThis;
|
|
60
60
|
let _classSuper = index_1.Token;
|
|
61
|
+
let _instanceExtraInitializers = [];
|
|
62
|
+
let _cloneNode_decorators;
|
|
61
63
|
var OnlyincludeToken = class extends _classSuper {
|
|
62
64
|
static { _classThis = this; }
|
|
63
65
|
static {
|
|
64
66
|
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
67
|
+
_cloneNode_decorators = [clone_1.clone];
|
|
68
|
+
__esDecorate(this, null, _cloneNode_decorators, { kind: "method", name: "cloneNode", static: false, private: false, access: { has: obj => "cloneNode" in obj, get: obj => obj.cloneNode }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
65
69
|
__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
|
66
70
|
OnlyincludeToken = _classThis = _classDescriptor.value;
|
|
67
71
|
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
@@ -101,7 +105,11 @@ let OnlyincludeToken = (() => {
|
|
|
101
105
|
}
|
|
102
106
|
/* NOT FOR BROWSER */
|
|
103
107
|
cloneNode() {
|
|
104
|
-
return
|
|
108
|
+
return new OnlyincludeToken(undefined, this.getAttribute('config'));
|
|
109
|
+
}
|
|
110
|
+
constructor() {
|
|
111
|
+
super(...arguments);
|
|
112
|
+
__runInitializers(this, _instanceExtraInitializers);
|
|
105
113
|
}
|
|
106
114
|
};
|
|
107
115
|
return OnlyincludeToken = _classThis;
|
|
@@ -1,4 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
|
|
3
|
+
var useValue = arguments.length > 2;
|
|
4
|
+
for (var i = 0; i < initializers.length; i++) {
|
|
5
|
+
value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
|
|
6
|
+
}
|
|
7
|
+
return useValue ? value : void 0;
|
|
8
|
+
};
|
|
2
9
|
var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
|
|
3
10
|
function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
|
|
4
11
|
var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
|
|
@@ -26,13 +33,6 @@ var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn,
|
|
|
26
33
|
if (target) Object.defineProperty(target, contextIn.name, descriptor);
|
|
27
34
|
done = true;
|
|
28
35
|
};
|
|
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
36
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
37
37
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
38
38
|
};
|
|
@@ -47,7 +47,7 @@ const index_2 = require("../index");
|
|
|
47
47
|
const atom_1 = require("../atom");
|
|
48
48
|
/* NOT FOR BROWSER */
|
|
49
49
|
const constants_1 = require("../../util/constants");
|
|
50
|
-
const
|
|
50
|
+
const clone_1 = require("../../mixin/clone");
|
|
51
51
|
const singleLine_1 = require("../../mixin/singleLine");
|
|
52
52
|
/* NOT FOR BROWSER END */
|
|
53
53
|
/**
|
|
@@ -60,10 +60,14 @@ let ParamTagToken = (() => {
|
|
|
60
60
|
let _classExtraInitializers = [];
|
|
61
61
|
let _classThis;
|
|
62
62
|
let _classSuper = index_2.Token;
|
|
63
|
+
let _instanceExtraInitializers = [];
|
|
64
|
+
let _cloneNode_decorators;
|
|
63
65
|
var ParamTagToken = class extends _classSuper {
|
|
64
66
|
static { _classThis = this; }
|
|
65
67
|
static {
|
|
66
68
|
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
69
|
+
_cloneNode_decorators = [clone_1.clone];
|
|
70
|
+
__esDecorate(this, null, _cloneNode_decorators, { kind: "method", name: "cloneNode", static: false, private: false, access: { has: obj => "cloneNode" in obj, get: obj => obj.cloneNode }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
67
71
|
__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
|
68
72
|
ParamTagToken = _classThis = _classDescriptor.value;
|
|
69
73
|
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
@@ -78,6 +82,7 @@ let ParamTagToken = (() => {
|
|
|
78
82
|
super(undefined, config, accum, {
|
|
79
83
|
AtomToken: ':',
|
|
80
84
|
});
|
|
85
|
+
__runInitializers(this, _instanceExtraInitializers);
|
|
81
86
|
if (wikitext) {
|
|
82
87
|
const SingleLineAtomToken = (0, singleLine_1.singleLine)(!acceptable)(atom_1.AtomToken);
|
|
83
88
|
this.append(...wikitext.split('\n')
|
|
@@ -91,18 +96,22 @@ let ParamTagToken = (() => {
|
|
|
91
96
|
}
|
|
92
97
|
/** @private */
|
|
93
98
|
lint(start = this.getAbsoluteIndex()) {
|
|
99
|
+
const rule = 'no-ignored', s = index_1.default.lintConfig.getSeverity(rule, this.name);
|
|
100
|
+
if (!s) {
|
|
101
|
+
return [];
|
|
102
|
+
}
|
|
94
103
|
const rect = new rect_1.BoundingRect(this, start), msg = index_1.default.msg('invalid parameter of <$1>', this.name), errors = [];
|
|
95
104
|
for (const child of this.childNodes) {
|
|
96
105
|
child.setAttribute('aIndex', start);
|
|
97
106
|
const grandChildren = child.childNodes
|
|
98
107
|
.filter(({ type }) => type !== 'comment' && type !== 'include' && type !== 'noinclude');
|
|
99
108
|
if (grandChildren.some(({ type }) => type === 'ext')) {
|
|
100
|
-
errors.push((0, lint_1.generateForChild)(child, rect,
|
|
109
|
+
errors.push((0, lint_1.generateForChild)(child, rect, rule, msg, s));
|
|
101
110
|
}
|
|
102
111
|
else {
|
|
103
112
|
const i = grandChildren.findIndex(({ type }) => type !== 'text'), str = grandChildren.slice(0, i === -1 ? undefined : i).map(String).join('');
|
|
104
113
|
if (str && !(i === -1 ? /^[a-z]+(?:\[\])?\s*=/iu : /^[a-z]+(?:\[\])?\s*(?:=|$)/iu).test(str)) {
|
|
105
|
-
const e = (0, lint_1.generateForChild)(child, rect,
|
|
114
|
+
const e = (0, lint_1.generateForChild)(child, rect, rule, msg, s);
|
|
106
115
|
e.suggestions = [{ desc: 'remove', range: [e.startIndex, e.endIndex], text: '' }];
|
|
107
116
|
errors.push(e);
|
|
108
117
|
}
|
|
@@ -119,10 +128,8 @@ let ParamTagToken = (() => {
|
|
|
119
128
|
}
|
|
120
129
|
/* NOT FOR BROWSER */
|
|
121
130
|
cloneNode() {
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
return new C(this.getAttribute('include'), undefined, this.getAttribute('config'));
|
|
125
|
-
});
|
|
131
|
+
const C = this.constructor;
|
|
132
|
+
return new C(this.getAttribute('include'), undefined, this.getAttribute('config'));
|
|
126
133
|
}
|
|
127
134
|
};
|
|
128
135
|
return ParamTagToken = _classThis;
|
package/dist/src/parameter.js
CHANGED
|
@@ -40,12 +40,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
40
40
|
exports.ParameterToken = void 0;
|
|
41
41
|
const string_1 = require("../util/string");
|
|
42
42
|
const lint_1 = require("../util/lint");
|
|
43
|
-
const index_1 = require("
|
|
43
|
+
const index_1 = __importDefault(require("../index"));
|
|
44
|
+
const index_2 = require("./index");
|
|
44
45
|
/* NOT FOR BROWSER */
|
|
45
46
|
const debug_1 = require("../util/debug");
|
|
46
47
|
const constants_1 = require("../util/constants");
|
|
47
48
|
const fixed_1 = require("../mixin/fixed");
|
|
48
|
-
const index_2 = __importDefault(require("../index"));
|
|
49
49
|
/* NOT FOR BROWSER END */
|
|
50
50
|
// eslint-disable-next-line @typescript-eslint/no-unused-expressions
|
|
51
51
|
/https?:\/\/(?:\[[\da-f:.]+\]|[^[\]<>"\t\n\p{Zs}])[^[\]<>"\0\t\n\p{Zs}]*$/iu;
|
|
@@ -61,7 +61,7 @@ let ParameterToken = (() => {
|
|
|
61
61
|
let _classDescriptor;
|
|
62
62
|
let _classExtraInitializers = [];
|
|
63
63
|
let _classThis;
|
|
64
|
-
let _classSuper =
|
|
64
|
+
let _classSuper = index_2.Token;
|
|
65
65
|
var ParameterToken = class extends _classSuper {
|
|
66
66
|
static { _classThis = this; }
|
|
67
67
|
static {
|
|
@@ -116,9 +116,9 @@ let ParameterToken = (() => {
|
|
|
116
116
|
*/
|
|
117
117
|
constructor(key, value, config, accum = []) {
|
|
118
118
|
super(undefined, config, accum);
|
|
119
|
-
const keyToken = new
|
|
119
|
+
const keyToken = new index_2.Token(typeof key === 'number' ? undefined : key, config, accum, {
|
|
120
120
|
'Stage-11': ':', '!HeadingToken': '',
|
|
121
|
-
}), token = new
|
|
121
|
+
}), token = new index_2.Token(value, config, accum);
|
|
122
122
|
keyToken.type = 'parameter-key';
|
|
123
123
|
keyToken.setAttribute('stage', 2);
|
|
124
124
|
token.type = 'parameter-value';
|
|
@@ -175,16 +175,22 @@ let ParameterToken = (() => {
|
|
|
175
175
|
}
|
|
176
176
|
/** @private */
|
|
177
177
|
lint(start = this.getAbsoluteIndex(), re) {
|
|
178
|
-
const errors = super.lint(start, re),
|
|
179
|
-
if (
|
|
180
|
-
const
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
178
|
+
const errors = super.lint(start, re), rule = 'unescaped', s = index_1.default.lintConfig.getSeverity(rule);
|
|
179
|
+
if (s) {
|
|
180
|
+
const { firstChild } = this, link = linkRegex.exec(firstChild.text())?.[0];
|
|
181
|
+
try {
|
|
182
|
+
if (link && new URL(link).search) {
|
|
183
|
+
const msg = 'unescaped query string in an anonymous parameter', e = (0, lint_1.generateForChild)(firstChild, { start }, rule, msg, s);
|
|
184
|
+
e.startIndex = e.endIndex;
|
|
185
|
+
e.startLine = e.endLine;
|
|
186
|
+
e.startCol = e.endCol;
|
|
187
|
+
e.endIndex++;
|
|
188
|
+
e.endCol++;
|
|
189
|
+
e.fix = { desc: 'escape', range: [e.startIndex, e.endIndex], text: '{{=}}' };
|
|
190
|
+
errors.push(e);
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
catch { }
|
|
188
194
|
}
|
|
189
195
|
return errors;
|
|
190
196
|
}
|
|
@@ -213,7 +219,7 @@ let ParameterToken = (() => {
|
|
|
213
219
|
});
|
|
214
220
|
}
|
|
215
221
|
safeReplaceWith(token) {
|
|
216
|
-
|
|
222
|
+
index_1.default.warn(`${this.constructor.name}.safeReplaceWith regress to AstNode.replaceWith.`);
|
|
217
223
|
this.replaceWith(token);
|
|
218
224
|
}
|
|
219
225
|
/**
|
|
@@ -232,7 +238,7 @@ let ParameterToken = (() => {
|
|
|
232
238
|
* @param value parameter value / 参数值
|
|
233
239
|
*/
|
|
234
240
|
setValue(value) {
|
|
235
|
-
const { childNodes } =
|
|
241
|
+
const { childNodes } = index_1.default
|
|
236
242
|
.parse(value, this.getAttribute('include'), undefined, this.getAttribute('config'));
|
|
237
243
|
this.lastChild.safeReplaceChildren(childNodes);
|
|
238
244
|
}
|
|
@@ -254,14 +260,14 @@ let ParameterToken = (() => {
|
|
|
254
260
|
else if (anon) {
|
|
255
261
|
parentNode?.anonToNamed();
|
|
256
262
|
}
|
|
257
|
-
const root =
|
|
263
|
+
const root = index_1.default
|
|
258
264
|
.parse(key, this.getAttribute('include'), undefined, this.getAttribute('config')), name = this.trimName(root, false);
|
|
259
265
|
if (this.name === name) {
|
|
260
|
-
|
|
266
|
+
index_1.default.warn('The actual parameter name is not changed', name);
|
|
261
267
|
}
|
|
262
268
|
else if (parentNode?.hasArg(name)) {
|
|
263
269
|
if (force) {
|
|
264
|
-
|
|
270
|
+
index_1.default.warn('Parameter renaming causes duplicated parameters', name);
|
|
265
271
|
}
|
|
266
272
|
else {
|
|
267
273
|
throw new RangeError(`Parameter renaming causes duplicated parameters: ${name}`);
|
package/dist/src/pre.js
CHANGED
|
@@ -1,63 +1,109 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
|
|
3
|
+
var useValue = arguments.length > 2;
|
|
4
|
+
for (var i = 0; i < initializers.length; i++) {
|
|
5
|
+
value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
|
|
6
|
+
}
|
|
7
|
+
return useValue ? value : void 0;
|
|
8
|
+
};
|
|
9
|
+
var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
|
|
10
|
+
function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
|
|
11
|
+
var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
|
|
12
|
+
var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
|
|
13
|
+
var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
|
|
14
|
+
var _, done = false;
|
|
15
|
+
for (var i = decorators.length - 1; i >= 0; i--) {
|
|
16
|
+
var context = {};
|
|
17
|
+
for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
|
|
18
|
+
for (var p in contextIn.access) context.access[p] = contextIn.access[p];
|
|
19
|
+
context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
|
|
20
|
+
var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
|
|
21
|
+
if (kind === "accessor") {
|
|
22
|
+
if (result === void 0) continue;
|
|
23
|
+
if (result === null || typeof result !== "object") throw new TypeError("Object expected");
|
|
24
|
+
if (_ = accept(result.get)) descriptor.get = _;
|
|
25
|
+
if (_ = accept(result.set)) descriptor.set = _;
|
|
26
|
+
if (_ = accept(result.init)) initializers.unshift(_);
|
|
27
|
+
}
|
|
28
|
+
else if (_ = accept(result)) {
|
|
29
|
+
if (kind === "field") initializers.unshift(_);
|
|
30
|
+
else descriptor[key] = _;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
if (target) Object.defineProperty(target, contextIn.name, descriptor);
|
|
34
|
+
done = true;
|
|
35
|
+
};
|
|
2
36
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
37
|
exports.PreToken = void 0;
|
|
4
38
|
const constants_1 = require("../util/constants");
|
|
5
39
|
const index_1 = require("./index");
|
|
6
40
|
const noinclude_1 = require("./nowiki/noinclude");
|
|
7
41
|
/* NOT FOR BROWSER */
|
|
8
|
-
const
|
|
42
|
+
const clone_1 = require("../mixin/clone");
|
|
9
43
|
/**
|
|
10
44
|
* `<pre>`
|
|
11
45
|
* @classdesc `{childNodes: (AstText|NoincludeToken|ConverterToken)[]}`
|
|
12
46
|
*/
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
lastIndex = j.index + length + 1;
|
|
34
|
-
opening.lastIndex = lastIndex;
|
|
35
|
-
i = opening.exec(wikitext);
|
|
47
|
+
let PreToken = (() => {
|
|
48
|
+
let _classSuper = index_1.Token;
|
|
49
|
+
let _instanceExtraInitializers = [];
|
|
50
|
+
let _cloneNode_decorators;
|
|
51
|
+
return class PreToken extends _classSuper {
|
|
52
|
+
static {
|
|
53
|
+
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
54
|
+
_cloneNode_decorators = [clone_1.clone];
|
|
55
|
+
__esDecorate(this, null, _cloneNode_decorators, { kind: "method", name: "cloneNode", static: false, private: false, access: { has: obj => "cloneNode" in obj, get: obj => obj.cloneNode }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
56
|
+
if (_metadata) Object.defineProperty(this, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
57
|
+
}
|
|
58
|
+
/* NOT FOR BROWSER END */
|
|
59
|
+
get type() {
|
|
60
|
+
return 'ext-inner';
|
|
61
|
+
}
|
|
62
|
+
/** @class */
|
|
63
|
+
constructor(wikitext, config, accum = []) {
|
|
64
|
+
if (wikitext) {
|
|
65
|
+
const opening = /<nowiki>/giu, closing = /<\/nowiki>/giu, { length } = opening.source;
|
|
66
|
+
let i = opening.exec(wikitext);
|
|
36
67
|
if (i) {
|
|
37
68
|
closing.lastIndex = i.index + length;
|
|
38
69
|
}
|
|
39
|
-
j = closing.exec(wikitext);
|
|
70
|
+
let j = closing.exec(wikitext), lastIndex = 0, str = '';
|
|
71
|
+
while (i && j) {
|
|
72
|
+
// @ts-expect-error abstract class
|
|
73
|
+
new noinclude_1.NoincludeToken(i[0], config, accum);
|
|
74
|
+
// @ts-expect-error abstract class
|
|
75
|
+
new noinclude_1.NoincludeToken(j[0], config, accum);
|
|
76
|
+
str += `${wikitext.slice(lastIndex, i.index)}\0${accum.length - 1}n\x7F${wikitext.slice(i.index + length, j.index)}\0${accum.length}n\x7F`;
|
|
77
|
+
lastIndex = j.index + length + 1;
|
|
78
|
+
opening.lastIndex = lastIndex;
|
|
79
|
+
i = opening.exec(wikitext);
|
|
80
|
+
if (i) {
|
|
81
|
+
closing.lastIndex = i.index + length;
|
|
82
|
+
}
|
|
83
|
+
j = closing.exec(wikitext);
|
|
84
|
+
}
|
|
85
|
+
wikitext = str + wikitext.slice(lastIndex);
|
|
40
86
|
}
|
|
41
|
-
wikitext
|
|
87
|
+
super(wikitext, config, accum, {
|
|
88
|
+
AstText: ':', NoincludeToken: ':', ConverterToken: ':',
|
|
89
|
+
});
|
|
90
|
+
__runInitializers(this, _instanceExtraInitializers);
|
|
91
|
+
this.setAttribute('stage', constants_1.MAX_STAGE - 1);
|
|
42
92
|
}
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
// @ts-expect-error abstract class
|
|
59
|
-
return (0, html_1.cloneNode)(this, () => new PreToken(undefined, this.getAttribute('config')));
|
|
60
|
-
}
|
|
61
|
-
}
|
|
93
|
+
/** @private */
|
|
94
|
+
isPlain() {
|
|
95
|
+
return true;
|
|
96
|
+
}
|
|
97
|
+
/** @private */
|
|
98
|
+
lint(start = this.getAbsoluteIndex()) {
|
|
99
|
+
return super.lint(start, /<\s*\/\s*(pre)\b/giu);
|
|
100
|
+
}
|
|
101
|
+
/* NOT FOR BROWSER */
|
|
102
|
+
cloneNode() {
|
|
103
|
+
// @ts-expect-error abstract class
|
|
104
|
+
return new PreToken(undefined, this.getAttribute('config'));
|
|
105
|
+
}
|
|
106
|
+
};
|
|
107
|
+
})();
|
|
62
108
|
exports.PreToken = PreToken;
|
|
63
109
|
constants_1.classes['PreToken'] = __filename;
|
package/dist/src/syntax.js
CHANGED
|
@@ -1,4 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
|
|
3
|
+
var useValue = arguments.length > 2;
|
|
4
|
+
for (var i = 0; i < initializers.length; i++) {
|
|
5
|
+
value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
|
|
6
|
+
}
|
|
7
|
+
return useValue ? value : void 0;
|
|
8
|
+
};
|
|
2
9
|
var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
|
|
3
10
|
function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
|
|
4
11
|
var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
|
|
@@ -26,19 +33,12 @@ var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn,
|
|
|
26
33
|
if (target) Object.defineProperty(target, contextIn.name, descriptor);
|
|
27
34
|
done = true;
|
|
28
35
|
};
|
|
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
36
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
37
37
|
exports.SyntaxToken = void 0;
|
|
38
38
|
const index_1 = require("./index");
|
|
39
39
|
/* NOT FOR BROWSER */
|
|
40
40
|
const constants_1 = require("../util/constants");
|
|
41
|
-
const
|
|
41
|
+
const clone_1 = require("../mixin/clone");
|
|
42
42
|
const syntax_1 = require("../mixin/syntax");
|
|
43
43
|
/**
|
|
44
44
|
* plain token that satisfies specific grammar syntax
|
|
@@ -51,16 +51,20 @@ let SyntaxToken = (() => {
|
|
|
51
51
|
let _classExtraInitializers = [];
|
|
52
52
|
let _classThis;
|
|
53
53
|
let _classSuper = index_1.Token;
|
|
54
|
+
let _instanceExtraInitializers = [];
|
|
55
|
+
let _cloneNode_decorators;
|
|
54
56
|
var SyntaxToken = class extends _classSuper {
|
|
55
57
|
static { _classThis = this; }
|
|
56
58
|
static {
|
|
57
59
|
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
60
|
+
_cloneNode_decorators = [clone_1.clone];
|
|
61
|
+
__esDecorate(this, null, _cloneNode_decorators, { kind: "method", name: "cloneNode", static: false, private: false, access: { has: obj => "cloneNode" in obj, get: obj => obj.cloneNode }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
58
62
|
__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
|
59
63
|
SyntaxToken = _classThis = _classDescriptor.value;
|
|
60
64
|
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
61
65
|
__runInitializers(_classThis, _classExtraInitializers);
|
|
62
66
|
}
|
|
63
|
-
#type;
|
|
67
|
+
#type = __runInitializers(this, _instanceExtraInitializers);
|
|
64
68
|
get type() {
|
|
65
69
|
return this.#type;
|
|
66
70
|
}
|
|
@@ -80,7 +84,7 @@ let SyntaxToken = (() => {
|
|
|
80
84
|
}
|
|
81
85
|
/* NOT FOR BROWSER */
|
|
82
86
|
cloneNode() {
|
|
83
|
-
return
|
|
87
|
+
return new SyntaxToken(undefined, this.pattern, this.type, this.getAttribute('config'), [], this.getAcceptable());
|
|
84
88
|
}
|
|
85
89
|
};
|
|
86
90
|
return SyntaxToken = _classThis;
|