wikiparser-node 1.6.2 → 1.7.0-beta.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/bundle/bundle.min.js +38 -0
- package/config/default.json +5 -0
- package/config/enwiki.json +4 -814
- package/config/llwiki.json +5 -35
- package/config/minimum.json +3 -0
- package/config/moegirl.json +5 -44
- package/config/zhwiki.json +6 -466
- package/extensions/dist/base.js +64 -0
- package/extensions/dist/editor.js +159 -0
- package/extensions/dist/highlight.js +58 -0
- package/extensions/dist/lint.js +60 -0
- package/extensions/editor.css +64 -0
- package/extensions/ui.css +144 -0
- package/i18n/zh-hans.json +2 -1
- package/i18n/zh-hant.json +2 -1
- package/package.json +31 -16
- package/config/.schema.json +0 -172
- package/dist/addon/table.d.ts +0 -1
- package/dist/addon/table.js +0 -485
- package/dist/base.d.ts +0 -69
- package/dist/base.js +0 -38
- package/dist/index.d.ts +0 -31
- package/dist/index.js +0 -212
- package/dist/internal.d.ts +0 -44
- package/dist/lib/element.d.ts +0 -151
- package/dist/lib/element.js +0 -618
- package/dist/lib/node.d.ts +0 -146
- package/dist/lib/node.js +0 -426
- package/dist/lib/range.d.ts +0 -104
- package/dist/lib/range.js +0 -385
- package/dist/lib/ranges.d.ts +0 -28
- package/dist/lib/ranges.js +0 -126
- package/dist/lib/text.d.ts +0 -63
- package/dist/lib/text.js +0 -354
- package/dist/lib/title.d.ts +0 -40
- package/dist/lib/title.js +0 -179
- package/dist/mixin/attributesParent.d.ts +0 -50
- package/dist/mixin/attributesParent.js +0 -81
- package/dist/mixin/fixed.d.ts +0 -6
- package/dist/mixin/fixed.js +0 -30
- package/dist/mixin/flagsParent.d.ts +0 -72
- package/dist/mixin/flagsParent.js +0 -59
- package/dist/mixin/hidden.d.ts +0 -5
- package/dist/mixin/hidden.js +0 -24
- package/dist/mixin/magicLinkParent.d.ts +0 -40
- package/dist/mixin/magicLinkParent.js +0 -42
- package/dist/mixin/singleLine.d.ts +0 -6
- package/dist/mixin/singleLine.js +0 -26
- package/dist/mixin/sol.d.ts +0 -6
- package/dist/mixin/sol.js +0 -43
- package/dist/mixin/syntax.d.ts +0 -9
- package/dist/mixin/syntax.js +0 -50
- package/dist/parser/braces.js +0 -130
- package/dist/parser/commentAndExt.js +0 -89
- package/dist/parser/converter.js +0 -40
- package/dist/parser/externalLinks.js +0 -45
- package/dist/parser/hrAndDoubleUnderscore.js +0 -40
- package/dist/parser/html.js +0 -38
- package/dist/parser/links.js +0 -97
- package/dist/parser/list.js +0 -97
- package/dist/parser/magicLinks.js +0 -42
- package/dist/parser/quotes.js +0 -67
- package/dist/parser/selector.js +0 -190
- package/dist/parser/table.js +0 -123
- package/dist/src/arg.d.ts +0 -58
- package/dist/src/arg.js +0 -214
- package/dist/src/atom.d.ts +0 -12
- package/dist/src/atom.js +0 -27
- package/dist/src/attribute.d.ts +0 -71
- package/dist/src/attribute.js +0 -502
- package/dist/src/attributes.d.ts +0 -109
- package/dist/src/attributes.js +0 -356
- package/dist/src/converter.d.ts +0 -33
- package/dist/src/converter.js +0 -134
- package/dist/src/converterFlags.d.ts +0 -87
- package/dist/src/converterFlags.js +0 -242
- package/dist/src/converterRule.d.ts +0 -77
- package/dist/src/converterRule.js +0 -209
- package/dist/src/extLink.d.ts +0 -43
- package/dist/src/extLink.js +0 -191
- package/dist/src/gallery.d.ts +0 -54
- package/dist/src/gallery.js +0 -139
- package/dist/src/heading.d.ts +0 -47
- package/dist/src/heading.js +0 -190
- package/dist/src/hidden.d.ts +0 -7
- package/dist/src/hidden.js +0 -23
- package/dist/src/html.d.ts +0 -65
- package/dist/src/html.js +0 -358
- package/dist/src/imageParameter.d.ts +0 -65
- package/dist/src/imageParameter.js +0 -257
- package/dist/src/imagemap.d.ts +0 -54
- package/dist/src/imagemap.js +0 -144
- package/dist/src/imagemapLink.d.ts +0 -31
- package/dist/src/imagemapLink.js +0 -93
- package/dist/src/index.d.ts +0 -143
- package/dist/src/index.js +0 -851
- package/dist/src/link/base.d.ts +0 -52
- package/dist/src/link/base.js +0 -228
- package/dist/src/link/category.d.ts +0 -13
- package/dist/src/link/category.js +0 -28
- package/dist/src/link/file.d.ts +0 -98
- package/dist/src/link/file.js +0 -272
- package/dist/src/link/galleryImage.d.ts +0 -32
- package/dist/src/link/galleryImage.js +0 -158
- package/dist/src/link/index.d.ts +0 -56
- package/dist/src/link/index.js +0 -133
- package/dist/src/magicLink.d.ts +0 -59
- package/dist/src/magicLink.js +0 -223
- package/dist/src/nested.d.ts +0 -43
- package/dist/src/nested.js +0 -105
- package/dist/src/nowiki/base.d.ts +0 -31
- package/dist/src/nowiki/base.js +0 -93
- package/dist/src/nowiki/comment.d.ts +0 -25
- package/dist/src/nowiki/comment.js +0 -76
- package/dist/src/nowiki/dd.d.ts +0 -8
- package/dist/src/nowiki/dd.js +0 -24
- package/dist/src/nowiki/doubleUnderscore.d.ts +0 -18
- package/dist/src/nowiki/doubleUnderscore.js +0 -101
- package/dist/src/nowiki/hr.d.ts +0 -5
- package/dist/src/nowiki/hr.js +0 -63
- package/dist/src/nowiki/index.d.ts +0 -16
- package/dist/src/nowiki/index.js +0 -27
- package/dist/src/nowiki/list.d.ts +0 -16
- package/dist/src/nowiki/list.js +0 -109
- package/dist/src/nowiki/listBase.d.ts +0 -5
- package/dist/src/nowiki/listBase.js +0 -61
- package/dist/src/nowiki/noinclude.d.ts +0 -10
- package/dist/src/nowiki/noinclude.js +0 -23
- package/dist/src/nowiki/quote.d.ts +0 -14
- package/dist/src/nowiki/quote.js +0 -131
- package/dist/src/onlyinclude.d.ts +0 -16
- package/dist/src/onlyinclude.js +0 -57
- package/dist/src/paramTag/index.d.ts +0 -37
- package/dist/src/paramTag/index.js +0 -77
- package/dist/src/paramTag/inputbox.d.ts +0 -8
- package/dist/src/paramTag/inputbox.js +0 -22
- package/dist/src/parameter.d.ts +0 -70
- package/dist/src/parameter.js +0 -264
- package/dist/src/pre.d.ts +0 -31
- package/dist/src/pre.js +0 -59
- package/dist/src/syntax.d.ts +0 -20
- package/dist/src/syntax.js +0 -86
- package/dist/src/table/base.d.ts +0 -27
- package/dist/src/table/base.js +0 -81
- package/dist/src/table/index.d.ts +0 -242
- package/dist/src/table/index.js +0 -497
- package/dist/src/table/td.d.ts +0 -86
- package/dist/src/table/td.js +0 -355
- package/dist/src/table/tr.d.ts +0 -32
- package/dist/src/table/tr.js +0 -58
- package/dist/src/table/trBase.d.ts +0 -53
- package/dist/src/table/trBase.js +0 -156
- package/dist/src/tagPair/ext.d.ts +0 -32
- package/dist/src/tagPair/ext.js +0 -203
- package/dist/src/tagPair/include.d.ts +0 -35
- package/dist/src/tagPair/include.js +0 -74
- package/dist/src/tagPair/index.d.ts +0 -27
- package/dist/src/tagPair/index.js +0 -128
- package/dist/src/transclude.d.ts +0 -167
- package/dist/src/transclude.js +0 -717
- package/dist/util/constants.js +0 -27
- package/dist/util/debug.js +0 -81
- package/dist/util/diff.js +0 -83
- package/dist/util/lint.js +0 -31
- package/dist/util/string.js +0 -60
- package/errors/README +0 -1
- package/printed/README +0 -1
package/dist/src/nested.d.ts
DELETED
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
import Parser from '../index';
|
|
2
|
-
import { Token } from './index';
|
|
3
|
-
import { ExtToken } from './tagPair/ext';
|
|
4
|
-
import { NoincludeToken } from './nowiki/noinclude';
|
|
5
|
-
import { CommentToken } from './nowiki/comment';
|
|
6
|
-
import type { LintError } from '../base';
|
|
7
|
-
import type { AttributesToken } from './attributes';
|
|
8
|
-
/**
|
|
9
|
-
* 嵌套式的扩展标签
|
|
10
|
-
* @classdesc `{childNodes: ...ExtToken|NoincludeToken|CommentToken}`
|
|
11
|
-
*/
|
|
12
|
-
export declare abstract class NestedToken extends Token {
|
|
13
|
-
#private;
|
|
14
|
-
readonly type = "ext-inner";
|
|
15
|
-
readonly name: string;
|
|
16
|
-
readonly childNodes: readonly (ExtToken | NoincludeToken | CommentToken)[];
|
|
17
|
-
abstract get firstChild(): ExtToken | NoincludeToken | CommentToken | undefined;
|
|
18
|
-
abstract get lastChild(): ExtToken | NoincludeToken | CommentToken | undefined;
|
|
19
|
-
abstract get nextSibling(): undefined;
|
|
20
|
-
abstract get previousSibling(): AttributesToken;
|
|
21
|
-
abstract get parentNode(): ExtToken | undefined;
|
|
22
|
-
abstract get children(): (ExtToken | NoincludeToken | CommentToken)[];
|
|
23
|
-
abstract get firstElementChild(): ExtToken | NoincludeToken | CommentToken | undefined;
|
|
24
|
-
abstract get lastElementChild(): ExtToken | NoincludeToken | CommentToken | undefined;
|
|
25
|
-
abstract get previousElementSibling(): AttributesToken;
|
|
26
|
-
abstract get nextElementSibling(): undefined;
|
|
27
|
-
abstract get parentElement(): ExtToken | undefined;
|
|
28
|
-
/**
|
|
29
|
-
* @param regex 内层正则
|
|
30
|
-
* @param tags 内层标签名
|
|
31
|
-
*/
|
|
32
|
-
constructor(wikitext: string | undefined, regex: RegExp, tags: readonly string[], config?: Parser.Config, accum?: Token[]);
|
|
33
|
-
/** @override */
|
|
34
|
-
lint(start?: number, re?: RegExp): LintError[];
|
|
35
|
-
/**
|
|
36
|
-
* @override
|
|
37
|
-
* @param token 待插入的子节点
|
|
38
|
-
* @param i 插入位置
|
|
39
|
-
*/
|
|
40
|
-
insertAt<T extends Token>(token: T, i?: number): T;
|
|
41
|
-
/** @override */
|
|
42
|
-
cloneNode(): this;
|
|
43
|
-
}
|
package/dist/src/nested.js
DELETED
|
@@ -1,105 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.NestedToken = void 0;
|
|
4
|
-
const lint_1 = require("../util/lint");
|
|
5
|
-
const debug_1 = require("../util/debug");
|
|
6
|
-
const constants_1 = require("../util/constants");
|
|
7
|
-
const index_1 = require("../index");
|
|
8
|
-
const index_2 = require("./index");
|
|
9
|
-
const ext_1 = require("./tagPair/ext");
|
|
10
|
-
const noinclude_1 = require("./nowiki/noinclude");
|
|
11
|
-
const comment_1 = require("./nowiki/comment");
|
|
12
|
-
/**
|
|
13
|
-
* 嵌套式的扩展标签
|
|
14
|
-
* @classdesc `{childNodes: ...ExtToken|NoincludeToken|CommentToken}`
|
|
15
|
-
*/
|
|
16
|
-
class NestedToken extends index_2.Token {
|
|
17
|
-
type = 'ext-inner';
|
|
18
|
-
/* NOT FOR BROWSER */
|
|
19
|
-
#tags;
|
|
20
|
-
#regex;
|
|
21
|
-
/* NOT FOR BROWSER END */
|
|
22
|
-
/**
|
|
23
|
-
* @param regex 内层正则
|
|
24
|
-
* @param tags 内层标签名
|
|
25
|
-
*/
|
|
26
|
-
constructor(wikitext, regex, tags, config = index_1.default.getConfig(), accum = []) {
|
|
27
|
-
wikitext = wikitext?.replace(regex, (comment, name, attr, inner, closing) => {
|
|
28
|
-
const str = `\0${accum.length + 1}${name ? 'e' : 'c'}\x7F`;
|
|
29
|
-
if (name) {
|
|
30
|
-
// @ts-expect-error abstract class
|
|
31
|
-
new ext_1.ExtToken(name, attr, inner, closing, config, accum);
|
|
32
|
-
}
|
|
33
|
-
else {
|
|
34
|
-
const closed = comment.endsWith('-->');
|
|
35
|
-
// @ts-expect-error abstract class
|
|
36
|
-
new comment_1.CommentToken(comment.slice(4, closed ? -3 : undefined), closed, config, accum);
|
|
37
|
-
}
|
|
38
|
-
return str;
|
|
39
|
-
}).replace(/(^|\0\d+[ce]\x7F)([^\0]+)(?=$|\0\d+[ce]\x7F)/gu, (_, lead, substr) => {
|
|
40
|
-
// @ts-expect-error abstract class
|
|
41
|
-
new noinclude_1.NoincludeToken(substr, config, accum);
|
|
42
|
-
return `${lead}\0${accum.length}c\x7F`;
|
|
43
|
-
});
|
|
44
|
-
super(wikitext, config, accum, {
|
|
45
|
-
NoincludeToken: ':', ExtToken: ':',
|
|
46
|
-
});
|
|
47
|
-
/* NOT FOR BROWSER */
|
|
48
|
-
this.#tags = [...tags];
|
|
49
|
-
this.#regex = regex;
|
|
50
|
-
}
|
|
51
|
-
/** @override */
|
|
52
|
-
lint(start = this.getAbsoluteIndex(), re) {
|
|
53
|
-
let rect;
|
|
54
|
-
return [
|
|
55
|
-
...super.lint(start, re),
|
|
56
|
-
...this.childNodes.filter(child => {
|
|
57
|
-
if (child.type === 'ext' || child.type === 'comment') {
|
|
58
|
-
return false;
|
|
59
|
-
}
|
|
60
|
-
const str = String(child).trim();
|
|
61
|
-
return str && !/^<!--.*-->$/su.test(str);
|
|
62
|
-
}).map(child => {
|
|
63
|
-
rect ??= { start, ...this.getRootNode().posFromIndex(start) };
|
|
64
|
-
const e = (0, lint_1.generateForChild)(child, rect, 'no-ignored', index_1.default.msg('invalid content in <$1>', this.name));
|
|
65
|
-
e.suggestions = [
|
|
66
|
-
{
|
|
67
|
-
desc: 'remove',
|
|
68
|
-
range: [e.startIndex, e.endIndex],
|
|
69
|
-
text: '',
|
|
70
|
-
},
|
|
71
|
-
{
|
|
72
|
-
desc: 'comment',
|
|
73
|
-
range: [e.startIndex, e.startIndex],
|
|
74
|
-
text: `<!--${String(child)}-->`,
|
|
75
|
-
},
|
|
76
|
-
];
|
|
77
|
-
return e;
|
|
78
|
-
}),
|
|
79
|
-
];
|
|
80
|
-
}
|
|
81
|
-
/* NOT FOR BROWSER */
|
|
82
|
-
/**
|
|
83
|
-
* @override
|
|
84
|
-
* @param token 待插入的子节点
|
|
85
|
-
* @param i 插入位置
|
|
86
|
-
*/
|
|
87
|
-
insertAt(token, i) {
|
|
88
|
-
if (typeof token !== 'string' && token.type === 'ext' && !this.#tags.includes(token.name)) {
|
|
89
|
-
this.constructorError(`只能以 ${this.#tags.join(' 或 ')} 标签作为子节点`);
|
|
90
|
-
}
|
|
91
|
-
return super.insertAt(token, i);
|
|
92
|
-
}
|
|
93
|
-
/** @override */
|
|
94
|
-
cloneNode() {
|
|
95
|
-
const cloned = this.cloneChildNodes(), config = this.getAttribute('config');
|
|
96
|
-
return debug_1.Shadow.run(() => {
|
|
97
|
-
// @ts-expect-error abstract class
|
|
98
|
-
const token = new NestedToken(undefined, this.#regex, this.#tags, config);
|
|
99
|
-
token.append(...cloned);
|
|
100
|
-
return token;
|
|
101
|
-
});
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
exports.NestedToken = NestedToken;
|
|
105
|
-
constants_1.classes['NestedToken'] = __filename;
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import Parser from '../../index';
|
|
2
|
-
import { Token } from '../index';
|
|
3
|
-
import type { AstText } from '../../lib/text';
|
|
4
|
-
declare type NowikiTypes = 'ext-inner' | 'comment' | 'dd' | 'double-underscore' | 'hr' | 'list' | 'noinclude' | 'quote';
|
|
5
|
-
/**
|
|
6
|
-
* 纯文字Token,不会被解析
|
|
7
|
-
* @classdesc `{childNodes: [AstText]}`
|
|
8
|
-
*/
|
|
9
|
-
export declare abstract class NowikiBaseToken extends Token {
|
|
10
|
-
type: NowikiTypes;
|
|
11
|
-
readonly childNodes: readonly [AstText];
|
|
12
|
-
abstract get firstChild(): AstText;
|
|
13
|
-
abstract get lastChild(): AstText;
|
|
14
|
-
abstract get children(): [];
|
|
15
|
-
abstract get firstElementChild(): undefined;
|
|
16
|
-
abstract get lastElementChild(): undefined;
|
|
17
|
-
/** 纯文本部分 */
|
|
18
|
-
get innerText(): string;
|
|
19
|
-
/** @param wikitext default: `''` */
|
|
20
|
-
constructor(wikitext?: string, config?: Parser.Config, accum?: Token[]);
|
|
21
|
-
/** @override */
|
|
22
|
-
cloneNode(this: this & {
|
|
23
|
-
constructor: new (...args: any[]) => unknown;
|
|
24
|
-
}): this;
|
|
25
|
-
/**
|
|
26
|
-
* @override
|
|
27
|
-
* @param str 新文本
|
|
28
|
-
*/
|
|
29
|
-
setText(str: string): string;
|
|
30
|
-
}
|
|
31
|
-
export {};
|
package/dist/src/nowiki/base.js
DELETED
|
@@ -1,93 +0,0 @@
|
|
|
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.NowikiBaseToken = void 0;
|
|
38
|
-
const debug_1 = require("../../util/debug");
|
|
39
|
-
const constants_1 = require("../../util/constants");
|
|
40
|
-
const fixed_1 = require("../../mixin/fixed");
|
|
41
|
-
const index_1 = require("../../index");
|
|
42
|
-
const index_2 = require("../index");
|
|
43
|
-
/**
|
|
44
|
-
* 纯文字Token,不会被解析
|
|
45
|
-
* @classdesc `{childNodes: [AstText]}`
|
|
46
|
-
*/
|
|
47
|
-
let NowikiBaseToken = (() => {
|
|
48
|
-
let _classDecorators = [fixed_1.fixedToken];
|
|
49
|
-
let _classDescriptor;
|
|
50
|
-
let _classExtraInitializers = [];
|
|
51
|
-
let _classThis;
|
|
52
|
-
let _classSuper = index_2.Token;
|
|
53
|
-
var NowikiBaseToken = class extends _classSuper {
|
|
54
|
-
static { _classThis = this; }
|
|
55
|
-
static {
|
|
56
|
-
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
57
|
-
__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
|
58
|
-
NowikiBaseToken = _classThis = _classDescriptor.value;
|
|
59
|
-
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
60
|
-
__runInitializers(_classThis, _classExtraInitializers);
|
|
61
|
-
}
|
|
62
|
-
/* NOT FOR BROWSER END */
|
|
63
|
-
/** 纯文本部分 */
|
|
64
|
-
get innerText() {
|
|
65
|
-
return this.firstChild.data;
|
|
66
|
-
}
|
|
67
|
-
/** @param wikitext default: `''` */
|
|
68
|
-
constructor(wikitext = '', config = index_1.default.getConfig(), accum = []) {
|
|
69
|
-
super(wikitext, config, accum);
|
|
70
|
-
}
|
|
71
|
-
/* NOT FOR BROWSER */
|
|
72
|
-
/** @override */
|
|
73
|
-
cloneNode() {
|
|
74
|
-
const { constructor, firstChild: { data }, type } = this;
|
|
75
|
-
return debug_1.Shadow.run(() => {
|
|
76
|
-
const token = new constructor(data, this.getAttribute('config'));
|
|
77
|
-
token.type = type;
|
|
78
|
-
token.afterBuild();
|
|
79
|
-
return token;
|
|
80
|
-
});
|
|
81
|
-
}
|
|
82
|
-
/**
|
|
83
|
-
* @override
|
|
84
|
-
* @param str 新文本
|
|
85
|
-
*/
|
|
86
|
-
setText(str) {
|
|
87
|
-
return super.setText(str, 0);
|
|
88
|
-
}
|
|
89
|
-
};
|
|
90
|
-
return NowikiBaseToken = _classThis;
|
|
91
|
-
})();
|
|
92
|
-
exports.NowikiBaseToken = NowikiBaseToken;
|
|
93
|
-
constants_1.classes['NowikiBaseToken'] = __filename;
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import Parser from '../../index';
|
|
2
|
-
import { NowikiBaseToken } from './base';
|
|
3
|
-
import type { LintError } from '../../base';
|
|
4
|
-
import type { Token } from '../index';
|
|
5
|
-
export declare abstract class CommentToken extends NowikiBaseToken {
|
|
6
|
-
readonly type = "comment";
|
|
7
|
-
closed: boolean;
|
|
8
|
-
/** 内部文本 */
|
|
9
|
-
get innerText(): string;
|
|
10
|
-
set innerText(text: string);
|
|
11
|
-
/** @param closed 是否闭合 */
|
|
12
|
-
constructor(wikitext: string, closed?: boolean, config?: Parser.Config, accum?: Token[]);
|
|
13
|
-
/** @override */
|
|
14
|
-
lint(start?: number): LintError[];
|
|
15
|
-
/** @override */
|
|
16
|
-
print(): string;
|
|
17
|
-
/** @override */
|
|
18
|
-
cloneNode(): this;
|
|
19
|
-
/**
|
|
20
|
-
* @override
|
|
21
|
-
* @throws `RangeError` 不允许包含`-->`
|
|
22
|
-
*/
|
|
23
|
-
setText(text: string): string;
|
|
24
|
-
}
|
|
25
|
-
export {};
|
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.CommentToken = void 0;
|
|
4
|
-
const lint_1 = require("../../util/lint");
|
|
5
|
-
const debug_1 = require("../../util/debug");
|
|
6
|
-
const constants_1 = require("../../util/constants");
|
|
7
|
-
const hidden_1 = require("../../mixin/hidden");
|
|
8
|
-
const index_1 = require("../../index");
|
|
9
|
-
const base_1 = require("./base");
|
|
10
|
-
/** HTML注释,不可见 */
|
|
11
|
-
class CommentToken extends (0, hidden_1.hiddenToken)(base_1.NowikiBaseToken) {
|
|
12
|
-
type = 'comment';
|
|
13
|
-
closed;
|
|
14
|
-
/* NOT FOR BROWSER */
|
|
15
|
-
/** 内部文本 */
|
|
16
|
-
get innerText() {
|
|
17
|
-
return super.innerText;
|
|
18
|
-
}
|
|
19
|
-
set innerText(text) {
|
|
20
|
-
this.setText(text);
|
|
21
|
-
}
|
|
22
|
-
/* NOT FOR BROWSER END */
|
|
23
|
-
/** @param closed 是否闭合 */
|
|
24
|
-
constructor(wikitext, closed = true, config = index_1.default.getConfig(), accum = []) {
|
|
25
|
-
super(wikitext, config, accum);
|
|
26
|
-
this.closed = closed;
|
|
27
|
-
}
|
|
28
|
-
/** @private */
|
|
29
|
-
getAttribute(key) {
|
|
30
|
-
return key === 'padding' ? 4 : super.getAttribute(key);
|
|
31
|
-
}
|
|
32
|
-
/** @override */
|
|
33
|
-
lint(start = this.getAbsoluteIndex()) {
|
|
34
|
-
if (this.closed) {
|
|
35
|
-
return [];
|
|
36
|
-
}
|
|
37
|
-
const e = (0, lint_1.generateForSelf)(this, { start }, 'unclosed-comment', index_1.default.msg('unclosed $1', 'HTML comment'));
|
|
38
|
-
e.fix = {
|
|
39
|
-
range: [e.endIndex, e.endIndex],
|
|
40
|
-
text: '-->',
|
|
41
|
-
};
|
|
42
|
-
return [e];
|
|
43
|
-
}
|
|
44
|
-
/** @private */
|
|
45
|
-
toString() {
|
|
46
|
-
/* NOT FOR BROWSER */
|
|
47
|
-
if (!this.closed && this.nextSibling) {
|
|
48
|
-
index_1.default.error('自动闭合HTML注释', this);
|
|
49
|
-
this.closed = true;
|
|
50
|
-
}
|
|
51
|
-
/* NOT FOR BROWSER END */
|
|
52
|
-
return `<!--${this.innerText}${this.closed ? '-->' : ''}`;
|
|
53
|
-
}
|
|
54
|
-
/** @override */
|
|
55
|
-
print() {
|
|
56
|
-
return super.print({ pre: '<!--', post: this.closed ? '-->' : '' });
|
|
57
|
-
}
|
|
58
|
-
/* NOT FOR BROWSER */
|
|
59
|
-
/** @override */
|
|
60
|
-
cloneNode() {
|
|
61
|
-
// @ts-expect-error abstract class
|
|
62
|
-
return debug_1.Shadow.run(() => new CommentToken(this.innerText, this.closed, this.getAttribute('config')));
|
|
63
|
-
}
|
|
64
|
-
/**
|
|
65
|
-
* @override
|
|
66
|
-
* @throws `RangeError` 不允许包含`-->`
|
|
67
|
-
*/
|
|
68
|
-
setText(text) {
|
|
69
|
-
if (text.includes('-->')) {
|
|
70
|
-
throw new RangeError('不允许包含 "-->"!');
|
|
71
|
-
}
|
|
72
|
-
return super.setText(text);
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
exports.CommentToken = CommentToken;
|
|
76
|
-
constants_1.classes['CommentToken'] = __filename;
|
package/dist/src/nowiki/dd.d.ts
DELETED
package/dist/src/nowiki/dd.js
DELETED
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.DdToken = void 0;
|
|
4
|
-
const constants_1 = require("../../util/constants");
|
|
5
|
-
const listBase_1 = require("./listBase");
|
|
6
|
-
/** `:` */
|
|
7
|
-
class DdToken extends listBase_1.ListBaseToken {
|
|
8
|
-
type = 'dd';
|
|
9
|
-
/* NOT FOR BROWSER */
|
|
10
|
-
/** 缩进数 */
|
|
11
|
-
get indent() {
|
|
12
|
-
return this.innerText.length;
|
|
13
|
-
}
|
|
14
|
-
set indent(indent) {
|
|
15
|
-
this.setText(':'.repeat(indent));
|
|
16
|
-
}
|
|
17
|
-
/** @private */
|
|
18
|
-
afterBuild() {
|
|
19
|
-
this.setAttribute('pattern', /^:+$/u);
|
|
20
|
-
super.afterBuild();
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
exports.DdToken = DdToken;
|
|
24
|
-
constants_1.classes['DdToken'] = __filename;
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import Parser from '../../index';
|
|
2
|
-
import { NowikiBaseToken } from './base';
|
|
3
|
-
import type { Token } from '../index';
|
|
4
|
-
export declare abstract class DoubleUnderscoreToken extends NowikiBaseToken {
|
|
5
|
-
#private;
|
|
6
|
-
readonly type = "double-underscore";
|
|
7
|
-
readonly name: string;
|
|
8
|
-
/**
|
|
9
|
-
* @param word 状态开关名
|
|
10
|
-
* @param sensitive 是否固定大小写
|
|
11
|
-
*/
|
|
12
|
-
constructor(word: string, sensitive: boolean, config?: Parser.Config, accum?: Token[]);
|
|
13
|
-
/** @override */
|
|
14
|
-
print(): string;
|
|
15
|
-
/** @override */
|
|
16
|
-
cloneNode(): this;
|
|
17
|
-
}
|
|
18
|
-
export {};
|
|
@@ -1,101 +0,0 @@
|
|
|
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.DoubleUnderscoreToken = void 0;
|
|
38
|
-
const debug_1 = require("../../util/debug");
|
|
39
|
-
const constants_1 = require("../../util/constants");
|
|
40
|
-
const hidden_1 = require("../../mixin/hidden");
|
|
41
|
-
const syntax_1 = require("../../mixin/syntax");
|
|
42
|
-
const index_1 = require("../../index");
|
|
43
|
-
const base_1 = require("./base");
|
|
44
|
-
/** 状态开关 */
|
|
45
|
-
let DoubleUnderscoreToken = (() => {
|
|
46
|
-
let _classDecorators = [(0, syntax_1.syntax)()];
|
|
47
|
-
let _classDescriptor;
|
|
48
|
-
let _classExtraInitializers = [];
|
|
49
|
-
let _classThis;
|
|
50
|
-
let _classSuper = (0, hidden_1.hiddenToken)(base_1.NowikiBaseToken);
|
|
51
|
-
var DoubleUnderscoreToken = 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
|
-
DoubleUnderscoreToken = _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
|
-
type = 'double-underscore';
|
|
61
|
-
#sensitive;
|
|
62
|
-
/* NOT FOR BROWSER END */
|
|
63
|
-
/**
|
|
64
|
-
* @param word 状态开关名
|
|
65
|
-
* @param sensitive 是否固定大小写
|
|
66
|
-
*/
|
|
67
|
-
constructor(word, sensitive, config = index_1.default.getConfig(), accum = []) {
|
|
68
|
-
super(word, config, accum);
|
|
69
|
-
/* NOT FOR BROWSER */
|
|
70
|
-
this.#sensitive = sensitive;
|
|
71
|
-
this.setAttribute('name', word.toLowerCase());
|
|
72
|
-
this.setAttribute('pattern', new RegExp(`^${word}$`, sensitive ? 'u' : 'iu'));
|
|
73
|
-
}
|
|
74
|
-
/** @private */
|
|
75
|
-
getAttribute(key) {
|
|
76
|
-
return key === 'padding' ? 2 : super.getAttribute(key);
|
|
77
|
-
}
|
|
78
|
-
/** @private */
|
|
79
|
-
toString() {
|
|
80
|
-
return `__${this.innerText}__`;
|
|
81
|
-
}
|
|
82
|
-
/** @override */
|
|
83
|
-
print() {
|
|
84
|
-
return super.print({ pre: '__', post: '__' });
|
|
85
|
-
}
|
|
86
|
-
/* NOT FOR BROWSER */
|
|
87
|
-
/** @override */
|
|
88
|
-
cloneNode() {
|
|
89
|
-
const config = this.getAttribute('config');
|
|
90
|
-
return debug_1.Shadow.run(() => {
|
|
91
|
-
// @ts-expect-error abstract class
|
|
92
|
-
const token = new DoubleUnderscoreToken(this.innerText, this.#sensitive, config);
|
|
93
|
-
token.afterBuild();
|
|
94
|
-
return token;
|
|
95
|
-
});
|
|
96
|
-
}
|
|
97
|
-
};
|
|
98
|
-
return DoubleUnderscoreToken = _classThis;
|
|
99
|
-
})();
|
|
100
|
-
exports.DoubleUnderscoreToken = DoubleUnderscoreToken;
|
|
101
|
-
constants_1.classes['DoubleUnderscoreToken'] = __filename;
|
package/dist/src/nowiki/hr.d.ts
DELETED
package/dist/src/nowiki/hr.js
DELETED
|
@@ -1,63 +0,0 @@
|
|
|
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.HrToken = void 0;
|
|
38
|
-
const constants_1 = require("../../util/constants");
|
|
39
|
-
const sol_1 = require("../../mixin/sol");
|
|
40
|
-
const syntax_1 = require("../../mixin/syntax");
|
|
41
|
-
const base_1 = require("./base");
|
|
42
|
-
/** `<hr>` */
|
|
43
|
-
let HrToken = (() => {
|
|
44
|
-
let _classDecorators = [sol_1.sol, (0, syntax_1.syntax)(/^-{4,}$/u)];
|
|
45
|
-
let _classDescriptor;
|
|
46
|
-
let _classExtraInitializers = [];
|
|
47
|
-
let _classThis;
|
|
48
|
-
let _classSuper = base_1.NowikiBaseToken;
|
|
49
|
-
var HrToken = class extends _classSuper {
|
|
50
|
-
static { _classThis = this; }
|
|
51
|
-
static {
|
|
52
|
-
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
53
|
-
__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
|
54
|
-
HrToken = _classThis = _classDescriptor.value;
|
|
55
|
-
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
56
|
-
__runInitializers(_classThis, _classExtraInitializers);
|
|
57
|
-
}
|
|
58
|
-
type = 'hr';
|
|
59
|
-
};
|
|
60
|
-
return HrToken = _classThis;
|
|
61
|
-
})();
|
|
62
|
-
exports.HrToken = HrToken;
|
|
63
|
-
constants_1.classes['HrToken'] = __filename;
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { NowikiBaseToken } from './base';
|
|
2
|
-
import type { LintError } from '../../base';
|
|
3
|
-
import type { AttributesToken, ExtToken } from '../../internal';
|
|
4
|
-
/** 扩展标签内的纯文字Token */
|
|
5
|
-
export declare abstract class NowikiToken extends NowikiBaseToken {
|
|
6
|
-
readonly type = "ext-inner";
|
|
7
|
-
readonly name: string;
|
|
8
|
-
abstract get nextSibling(): undefined;
|
|
9
|
-
abstract get previousSibling(): AttributesToken;
|
|
10
|
-
abstract get parentNode(): ExtToken | undefined;
|
|
11
|
-
abstract get nextElementSibling(): undefined;
|
|
12
|
-
abstract get previousElementSibling(): AttributesToken;
|
|
13
|
-
abstract get parentElement(): ExtToken | undefined;
|
|
14
|
-
/** @override */
|
|
15
|
-
lint(start?: number): LintError[];
|
|
16
|
-
}
|
package/dist/src/nowiki/index.js
DELETED
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.NowikiToken = void 0;
|
|
4
|
-
const lint_1 = require("../../util/lint");
|
|
5
|
-
const constants_1 = require("../../util/constants");
|
|
6
|
-
const index_1 = require("../../index");
|
|
7
|
-
const base_1 = require("./base");
|
|
8
|
-
/** 扩展标签内的纯文字Token */
|
|
9
|
-
class NowikiToken extends base_1.NowikiBaseToken {
|
|
10
|
-
type = 'ext-inner';
|
|
11
|
-
/* NOT FOR BROWSER END */
|
|
12
|
-
/** @override */
|
|
13
|
-
lint(start = this.getAbsoluteIndex()) {
|
|
14
|
-
const { name, firstChild: { data } } = this;
|
|
15
|
-
if ((name === 'templatestyles' || name === 'section') && data) {
|
|
16
|
-
const e = (0, lint_1.generateForSelf)(this, { start }, 'void-ext', index_1.default.msg('nothing should be in <$1>', name));
|
|
17
|
-
e.fix = {
|
|
18
|
-
range: [start - 1, e.endIndex + name.length + 3],
|
|
19
|
-
text: '/>',
|
|
20
|
-
};
|
|
21
|
-
return [e];
|
|
22
|
-
}
|
|
23
|
-
return super.lint(start, new RegExp(`<\\s*(?:\\/\\s*)${name === 'nowiki' ? '' : '?'}(${name})\\b`, 'giu'));
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
exports.NowikiToken = NowikiToken;
|
|
27
|
-
constants_1.classes['NowikiToken'] = __filename;
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { ListBaseToken } from './listBase';
|
|
2
|
-
import type { AstRange } from '../../lib/range';
|
|
3
|
-
/** 位于行首的`;:*#` */
|
|
4
|
-
export declare abstract class ListToken extends ListBaseToken {
|
|
5
|
-
readonly type = "list";
|
|
6
|
-
/** 是否包含`:` */
|
|
7
|
-
get dd(): boolean;
|
|
8
|
-
/** 是否包含`;` */
|
|
9
|
-
get dt(): boolean;
|
|
10
|
-
/** 是否包含`*` */
|
|
11
|
-
get ul(): boolean;
|
|
12
|
-
/** 是否包含`#` */
|
|
13
|
-
get ol(): boolean;
|
|
14
|
-
/** 获取列表行的范围 */
|
|
15
|
-
getRange(): AstRange;
|
|
16
|
-
}
|