wikiparser-node 1.4.2 → 1.4.3-b
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 +36 -0
- package/config/enwiki.json +1 -814
- package/config/llwiki.json +1 -35
- package/config/moegirl.json +1 -44
- package/config/zhwiki.json +1 -466
- package/extensions/dist/base.js +64 -0
- package/extensions/dist/editor.js +159 -0
- package/extensions/dist/highlight.js +59 -0
- package/extensions/dist/lint.js +48 -0
- package/extensions/editor.css +63 -0
- package/extensions/ui.css +141 -0
- package/package.json +30 -15
- package/config/.schema.json +0 -172
- package/dist/addon/table.d.ts +0 -6
- package/dist/addon/table.js +0 -560
- package/dist/base.d.ts +0 -53
- package/dist/index.d.ts +0 -32
- package/dist/index.js +0 -211
- package/dist/internal.d.ts +0 -44
- package/dist/lib/element.d.ts +0 -154
- package/dist/lib/element.js +0 -643
- package/dist/lib/node.d.ts +0 -146
- package/dist/lib/node.js +0 -425
- package/dist/lib/range.d.ts +0 -104
- package/dist/lib/range.js +0 -385
- package/dist/lib/ranges.d.ts +0 -26
- package/dist/lib/ranges.js +0 -118
- package/dist/lib/text.d.ts +0 -62
- package/dist/lib/text.js +0 -306
- package/dist/lib/title.d.ts +0 -38
- package/dist/lib/title.js +0 -172
- package/dist/mixin/attributesParent.d.ts +0 -20
- package/dist/mixin/attributesParent.js +0 -89
- package/dist/mixin/fixed.d.ts +0 -5
- package/dist/mixin/fixed.js +0 -28
- package/dist/mixin/flagsParent.d.ts +0 -61
- package/dist/mixin/flagsParent.js +0 -72
- package/dist/mixin/hidden.d.ts +0 -5
- package/dist/mixin/hidden.js +0 -24
- package/dist/mixin/magicLinkParent.d.ts +0 -34
- package/dist/mixin/magicLinkParent.js +0 -43
- package/dist/mixin/singleLine.d.ts +0 -5
- package/dist/mixin/singleLine.js +0 -25
- package/dist/mixin/sol.d.ts +0 -8
- package/dist/mixin/sol.js +0 -41
- package/dist/mixin/syntax.d.ts +0 -6
- package/dist/mixin/syntax.js +0 -54
- package/dist/parser/braces.js +0 -131
- package/dist/parser/commentAndExt.js +0 -90
- package/dist/parser/converter.js +0 -41
- package/dist/parser/externalLinks.js +0 -32
- package/dist/parser/hrAndDoubleUnderscore.js +0 -41
- package/dist/parser/html.js +0 -39
- package/dist/parser/links.js +0 -97
- package/dist/parser/list.js +0 -68
- package/dist/parser/magicLinks.js +0 -43
- package/dist/parser/quotes.js +0 -68
- package/dist/parser/selector.js +0 -162
- package/dist/parser/table.js +0 -124
- package/dist/src/arg.d.ts +0 -58
- package/dist/src/arg.js +0 -196
- package/dist/src/atom.d.ts +0 -12
- package/dist/src/atom.js +0 -27
- package/dist/src/attribute.d.ts +0 -67
- package/dist/src/attribute.js +0 -422
- package/dist/src/attributes.d.ts +0 -109
- package/dist/src/attributes.js +0 -347
- package/dist/src/converter.d.ts +0 -28
- package/dist/src/converter.js +0 -85
- package/dist/src/converterFlags.d.ts +0 -87
- package/dist/src/converterFlags.js +0 -227
- package/dist/src/converterRule.d.ts +0 -77
- package/dist/src/converterRule.js +0 -210
- package/dist/src/extLink.d.ts +0 -38
- package/dist/src/extLink.js +0 -137
- package/dist/src/gallery.d.ts +0 -54
- package/dist/src/gallery.js +0 -127
- package/dist/src/heading.d.ts +0 -47
- package/dist/src/heading.js +0 -143
- package/dist/src/hidden.d.ts +0 -7
- package/dist/src/hidden.js +0 -23
- package/dist/src/html.d.ts +0 -62
- package/dist/src/html.js +0 -286
- package/dist/src/imageParameter.d.ts +0 -65
- package/dist/src/imageParameter.js +0 -247
- package/dist/src/imagemap.d.ts +0 -56
- package/dist/src/imagemap.js +0 -156
- package/dist/src/imagemapLink.d.ts +0 -28
- package/dist/src/imagemapLink.js +0 -44
- package/dist/src/index.d.ts +0 -143
- package/dist/src/index.js +0 -804
- package/dist/src/link/base.d.ts +0 -52
- package/dist/src/link/base.js +0 -212
- 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 -96
- package/dist/src/link/file.js +0 -266
- package/dist/src/link/galleryImage.d.ts +0 -31
- package/dist/src/link/galleryImage.js +0 -109
- package/dist/src/link/index.d.ts +0 -56
- package/dist/src/link/index.js +0 -134
- package/dist/src/magicLink.d.ts +0 -51
- package/dist/src/magicLink.js +0 -149
- package/dist/src/nested.d.ts +0 -43
- package/dist/src/nested.js +0 -91
- package/dist/src/nowiki/base.d.ts +0 -27
- package/dist/src/nowiki/base.js +0 -42
- package/dist/src/nowiki/comment.d.ts +0 -27
- package/dist/src/nowiki/comment.js +0 -77
- 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 -51
- package/dist/src/nowiki/hr.d.ts +0 -8
- package/dist/src/nowiki/hr.js +0 -14
- package/dist/src/nowiki/index.d.ts +0 -16
- package/dist/src/nowiki/index.js +0 -20
- package/dist/src/nowiki/list.d.ts +0 -19
- package/dist/src/nowiki/list.js +0 -48
- package/dist/src/nowiki/listBase.d.ts +0 -5
- package/dist/src/nowiki/listBase.js +0 -11
- 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 -68
- 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 -68
- package/dist/src/paramTag/inputbox.d.ts +0 -8
- package/dist/src/paramTag/inputbox.js +0 -22
- package/dist/src/parameter.d.ts +0 -67
- package/dist/src/parameter.js +0 -213
- package/dist/src/pre.d.ts +0 -28
- package/dist/src/pre.js +0 -54
- package/dist/src/syntax.d.ts +0 -14
- package/dist/src/syntax.js +0 -35
- 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 -230
- package/dist/src/table/index.js +0 -390
- package/dist/src/table/td.d.ts +0 -88
- package/dist/src/table/td.js +0 -284
- package/dist/src/table/tr.d.ts +0 -32
- package/dist/src/table/tr.js +0 -57
- package/dist/src/table/trBase.d.ts +0 -53
- package/dist/src/table/trBase.js +0 -154
- package/dist/src/tagPair/ext.d.ts +0 -29
- package/dist/src/tagPair/ext.js +0 -153
- package/dist/src/tagPair/include.d.ts +0 -37
- package/dist/src/tagPair/include.js +0 -71
- package/dist/src/tagPair/index.d.ts +0 -27
- package/dist/src/tagPair/index.js +0 -79
- package/dist/src/transclude.d.ts +0 -167
- package/dist/src/transclude.js +0 -715
- package/dist/util/constants.js +0 -113
- package/dist/util/debug.js +0 -90
- package/dist/util/diff.js +0 -82
- package/dist/util/lint.js +0 -30
- package/dist/util/string.js +0 -53
- package/errors/README +0 -1
- package/printed/README +0 -1
package/dist/util/constants.js
DELETED
|
@@ -1,113 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.promises = exports.typeAliases = exports.aliases = exports.parsers = exports.mixins = exports.classes = exports.BuildMethod = exports.MAX_STAGE = void 0;
|
|
4
|
-
exports.MAX_STAGE = 11;
|
|
5
|
-
var BuildMethod;
|
|
6
|
-
(function (BuildMethod) {
|
|
7
|
-
BuildMethod[BuildMethod["String"] = 0] = "String";
|
|
8
|
-
BuildMethod[BuildMethod["Text"] = 1] = "Text";
|
|
9
|
-
})(BuildMethod || (exports.BuildMethod = BuildMethod = {}));
|
|
10
|
-
/* NOT FOR BROWSER */
|
|
11
|
-
exports.classes = {};
|
|
12
|
-
exports.mixins = {};
|
|
13
|
-
exports.parsers = {};
|
|
14
|
-
exports.aliases = [
|
|
15
|
-
['AstText'],
|
|
16
|
-
['CommentToken', 'ExtToken', 'IncludeToken', 'NoincludeToken'],
|
|
17
|
-
['ArgToken', 'TranscludeToken', 'HeadingToken'],
|
|
18
|
-
['HtmlToken'],
|
|
19
|
-
['TableToken'],
|
|
20
|
-
['HrToken', 'DoubleUnderscoreToken'],
|
|
21
|
-
['LinkToken', 'FileToken', 'CategoryToken'],
|
|
22
|
-
['QuoteToken'],
|
|
23
|
-
['ExtLinkToken'],
|
|
24
|
-
['MagicLinkToken'],
|
|
25
|
-
['ListToken', 'DdToken'],
|
|
26
|
-
['ConverterToken'],
|
|
27
|
-
];
|
|
28
|
-
exports.typeAliases = {
|
|
29
|
-
text: ['string', 'str'],
|
|
30
|
-
plain: ['regular', 'normal'],
|
|
31
|
-
root: undefined,
|
|
32
|
-
// comment and extension
|
|
33
|
-
onlyinclude: ['only-include'],
|
|
34
|
-
noinclude: ['no-include'],
|
|
35
|
-
include: ['includeonly', 'include-only'],
|
|
36
|
-
comment: undefined,
|
|
37
|
-
ext: ['extension'],
|
|
38
|
-
'ext-attrs': ['extension-attrs', 'ext-attributes', 'extension-attributes'],
|
|
39
|
-
'ext-attr-dirty': ['extension-attr-dirty', 'ext-attribute-dirty', 'extension-attribute-dirty'],
|
|
40
|
-
'ext-attr': ['extension-attr', 'ext-attribute', 'extension-attribute'],
|
|
41
|
-
'attr-key': ['attribute-key'],
|
|
42
|
-
'attr-value': ['attribute-value', 'attr-val', 'attribute-val'],
|
|
43
|
-
'ext-inner': ['extension-inner'],
|
|
44
|
-
// triple braces
|
|
45
|
-
arg: ['argument'],
|
|
46
|
-
'arg-name': ['argument-name'],
|
|
47
|
-
'arg-default': ['argument-default'],
|
|
48
|
-
hidden: ['arg-redundant'],
|
|
49
|
-
// double braces
|
|
50
|
-
'magic-word': ['parser-function', 'parser-func'],
|
|
51
|
-
'magic-word-name': ['parser-function-name', 'parser-func-name'],
|
|
52
|
-
'invoke-function': ['invoke-func', 'lua-function', 'lua-func', 'module-function', 'module-func'],
|
|
53
|
-
'invoke-module': ['lua-module'],
|
|
54
|
-
template: undefined,
|
|
55
|
-
'template-name': undefined,
|
|
56
|
-
parameter: ['param'],
|
|
57
|
-
'parameter-key': ['param-key'],
|
|
58
|
-
'parameter-value': ['parameter-val', 'param-value', 'param-val'],
|
|
59
|
-
// heading
|
|
60
|
-
heading: ['header'],
|
|
61
|
-
'heading-title': ['header-title'],
|
|
62
|
-
'heading-trail': ['header-trail'],
|
|
63
|
-
// html
|
|
64
|
-
html: undefined,
|
|
65
|
-
'html-attrs': ['html-attributes'],
|
|
66
|
-
'html-attr-dirty': ['html-attribute-dirty'],
|
|
67
|
-
'html-attr': ['html-attribute'],
|
|
68
|
-
// table
|
|
69
|
-
table: undefined,
|
|
70
|
-
tr: ['table-row'],
|
|
71
|
-
td: ['table-cell', 'table-data'],
|
|
72
|
-
'table-syntax': undefined,
|
|
73
|
-
'table-attrs': ['tr-attrs', 'td-attrs', 'table-attributes', 'tr-attributes', 'td-attributes'],
|
|
74
|
-
'table-attr-dirty': ['tr-attr-dirty', 'td-attr-dirty', 'table-attribute-dirty', 'tr-attribute-dirty', 'td-attribute-dirty'],
|
|
75
|
-
'table-attr': ['tr-attr', 'td-attr', 'table-attribute', 'tr-attribute', 'td-attribute'],
|
|
76
|
-
'table-inter': undefined,
|
|
77
|
-
'td-inner': ['table-cell-inner', 'table-data-inner'],
|
|
78
|
-
// hr and double-underscore
|
|
79
|
-
hr: ['horizontal'],
|
|
80
|
-
'double-underscore': ['underscore', 'behavior-switch', 'behaviour-switch'],
|
|
81
|
-
// link
|
|
82
|
-
link: ['wikilink'],
|
|
83
|
-
'link-target': ['wikilink-target'],
|
|
84
|
-
'link-text': ['wikilink-text'],
|
|
85
|
-
category: ['category-link', 'cat', 'cat-link'],
|
|
86
|
-
file: ['file-link', 'image', 'image-link', 'img', 'img-link'],
|
|
87
|
-
'gallery-image': ['gallery-file', 'gallery-img'],
|
|
88
|
-
'imagemap-image': ['imagemap-file', 'imagemap-img', 'image-map-image', 'image-map-file', 'image-map-img'],
|
|
89
|
-
'image-parameter': ['img-parameter', 'image-param', 'img-param'],
|
|
90
|
-
// quotes
|
|
91
|
-
quote: ['quotes', 'quot', 'apostrophe', 'apostrophes', 'apos'],
|
|
92
|
-
// external link
|
|
93
|
-
'ext-link': ['external-link'],
|
|
94
|
-
'ext-link-text': ['external-link-text'],
|
|
95
|
-
'ext-link-url': ['external-link-url'],
|
|
96
|
-
// magic link
|
|
97
|
-
'free-ext-link': ['free-external-link', 'magic-link'],
|
|
98
|
-
// list
|
|
99
|
-
list: ['ol', 'ordered-list', 'ul', 'unordered-list', 'dl', 'description-list'],
|
|
100
|
-
dd: ['indent', 'indentation'],
|
|
101
|
-
// converter
|
|
102
|
-
converter: ['convert', 'conversion'],
|
|
103
|
-
'converter-flags': ['convert-flags', 'conversion-flags'],
|
|
104
|
-
'converter-flag': ['convert-flag', 'conversion-flag'],
|
|
105
|
-
'converter-rule': ['convert-rule', 'conversion-rule'],
|
|
106
|
-
'converter-rule-variant': ['convert-rule-variant', 'conversion-rule-variant'],
|
|
107
|
-
'converter-rule-to': ['convert-rule-to', 'conversion-rule-to', 'converter-rule-noconvert'],
|
|
108
|
-
'converter-rule-from': ['convert-rule-from', 'conversion-rule-from'],
|
|
109
|
-
// specific extensions
|
|
110
|
-
'param-line': ['parameter-line'],
|
|
111
|
-
'imagemap-link': ['image-map-link'],
|
|
112
|
-
};
|
|
113
|
-
exports.promises = [Promise.resolve()];
|
package/dist/util/debug.js
DELETED
|
@@ -1,90 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.undo = exports.emptyArray = exports.setChildNodes = exports.isToken = exports.Shadow = void 0;
|
|
4
|
-
exports.Shadow = {
|
|
5
|
-
/* NOT FOR BROWSER */
|
|
6
|
-
running: false,
|
|
7
|
-
/* NOT FOR BROWSER END */
|
|
8
|
-
/** @private */
|
|
9
|
-
run(callback) {
|
|
10
|
-
/* NOT FOR BROWSER */
|
|
11
|
-
const { running } = this;
|
|
12
|
-
this.running = true;
|
|
13
|
-
try {
|
|
14
|
-
/* NOT FOR BROWSER END */
|
|
15
|
-
const result = callback();
|
|
16
|
-
/* NOT FOR BROWSER */
|
|
17
|
-
this.running = running;
|
|
18
|
-
/* NOT FOR BROWSER END */
|
|
19
|
-
return result;
|
|
20
|
-
/* NOT FOR BROWSER */
|
|
21
|
-
}
|
|
22
|
-
catch (e) {
|
|
23
|
-
this.running = running;
|
|
24
|
-
throw e;
|
|
25
|
-
}
|
|
26
|
-
},
|
|
27
|
-
};
|
|
28
|
-
/**
|
|
29
|
-
* 是否是某一特定类型的节点
|
|
30
|
-
* @param type 节点类型
|
|
31
|
-
*/
|
|
32
|
-
const isToken = (type) => (node) => node.type === type;
|
|
33
|
-
exports.isToken = isToken;
|
|
34
|
-
/**
|
|
35
|
-
* 更新chldNodes
|
|
36
|
-
* @param parent 父节点
|
|
37
|
-
* @param position 子节点位置
|
|
38
|
-
* @param deleteCount 移除的子节点数量
|
|
39
|
-
* @param inserted 插入的子节点
|
|
40
|
-
*/
|
|
41
|
-
const setChildNodes = (parent, position, deleteCount, inserted = []) => {
|
|
42
|
-
const childNodes = [...parent.childNodes], removed = childNodes.splice(position, deleteCount, ...inserted);
|
|
43
|
-
parent.setAttribute('childNodes', childNodes);
|
|
44
|
-
for (const node of inserted) {
|
|
45
|
-
node.setAttribute('parentNode', parent);
|
|
46
|
-
}
|
|
47
|
-
/* NOT FOR BROWSER */
|
|
48
|
-
for (const node of removed) {
|
|
49
|
-
node.setAttribute('parentNode', undefined);
|
|
50
|
-
}
|
|
51
|
-
/* NOT FOR BROWSER END */
|
|
52
|
-
return removed;
|
|
53
|
-
};
|
|
54
|
-
exports.setChildNodes = setChildNodes;
|
|
55
|
-
/* NOT FOR BROWSER */
|
|
56
|
-
/**
|
|
57
|
-
* 生成一个指定长度的空数组
|
|
58
|
-
* @param n 数组长度
|
|
59
|
-
* @param callback 回调函数
|
|
60
|
-
*/
|
|
61
|
-
const emptyArray = (n, callback) => new Array(n).fill(undefined).map((_, i) => callback(i));
|
|
62
|
-
exports.emptyArray = emptyArray;
|
|
63
|
-
/**
|
|
64
|
-
* 撤销最近一次Mutation
|
|
65
|
-
* @param e 事件
|
|
66
|
-
* @param data 事件数据
|
|
67
|
-
* @throws `RangeError` 无法撤销的事件类型
|
|
68
|
-
*/
|
|
69
|
-
const undo = (e, data) => {
|
|
70
|
-
const { target, type } = e;
|
|
71
|
-
switch (data.type) {
|
|
72
|
-
case 'remove':
|
|
73
|
-
(0, exports.setChildNodes)(target, data.position, 0, [data.removed]);
|
|
74
|
-
break;
|
|
75
|
-
case 'insert':
|
|
76
|
-
(0, exports.setChildNodes)(target, data.position, 1);
|
|
77
|
-
break;
|
|
78
|
-
case 'replace':
|
|
79
|
-
(0, exports.setChildNodes)(target.parentNode, data.position, 1, [data.oldToken]);
|
|
80
|
-
break;
|
|
81
|
-
case 'text':
|
|
82
|
-
if (target.type === 'text') {
|
|
83
|
-
target.replaceData(data.oldText);
|
|
84
|
-
}
|
|
85
|
-
break;
|
|
86
|
-
default:
|
|
87
|
-
throw new RangeError(`无法撤销未知类型的事件:${String(type)}`);
|
|
88
|
-
}
|
|
89
|
-
};
|
|
90
|
-
exports.undo = undo;
|
package/dist/util/diff.js
DELETED
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.info = exports.error = exports.diff = exports.cmd = void 0;
|
|
4
|
-
const fs = require("fs/promises");
|
|
5
|
-
const child_process_1 = require("child_process");
|
|
6
|
-
process.on('unhandledRejection', e => {
|
|
7
|
-
console.error(e);
|
|
8
|
-
});
|
|
9
|
-
/**
|
|
10
|
-
* 将shell命令转化为Promise对象
|
|
11
|
-
* @param command shell指令
|
|
12
|
-
* @param args shell输入参数
|
|
13
|
-
*/
|
|
14
|
-
const cmd = (command, args) => new Promise(resolve => {
|
|
15
|
-
let timer, shell;
|
|
16
|
-
/**
|
|
17
|
-
* 清除进程并返回
|
|
18
|
-
* @param val 返回值
|
|
19
|
-
*/
|
|
20
|
-
const r = (val) => {
|
|
21
|
-
clearTimeout(timer);
|
|
22
|
-
shell?.kill('SIGINT');
|
|
23
|
-
resolve(val);
|
|
24
|
-
};
|
|
25
|
-
try {
|
|
26
|
-
shell = (0, child_process_1.spawn)(command, args);
|
|
27
|
-
timer = setTimeout(() => {
|
|
28
|
-
shell.kill('SIGINT');
|
|
29
|
-
}, 60 * 1000);
|
|
30
|
-
let buf = '';
|
|
31
|
-
shell.stdout.on('data', data => {
|
|
32
|
-
buf += String(data);
|
|
33
|
-
});
|
|
34
|
-
shell.stdout.on('end', () => {
|
|
35
|
-
r(buf);
|
|
36
|
-
});
|
|
37
|
-
shell.on('exit', () => {
|
|
38
|
-
r(shell.killed ? undefined : '');
|
|
39
|
-
});
|
|
40
|
-
shell.on('error', () => {
|
|
41
|
-
r(undefined);
|
|
42
|
-
});
|
|
43
|
-
}
|
|
44
|
-
catch {
|
|
45
|
-
r(undefined);
|
|
46
|
-
}
|
|
47
|
-
});
|
|
48
|
-
exports.cmd = cmd;
|
|
49
|
-
/**
|
|
50
|
-
* 比较两个文件
|
|
51
|
-
* @param oldStr 旧文本
|
|
52
|
-
* @param newStr 新文本
|
|
53
|
-
* @param uid 唯一标识
|
|
54
|
-
*/
|
|
55
|
-
const diff = async (oldStr, newStr, uid = -1) => {
|
|
56
|
-
if (oldStr === newStr) {
|
|
57
|
-
return;
|
|
58
|
-
}
|
|
59
|
-
const oldFile = `diffOld${uid}`, newFile = `diffNew${uid}`;
|
|
60
|
-
await Promise.all([fs.writeFile(oldFile, oldStr), fs.writeFile(newFile, newStr)]);
|
|
61
|
-
const stdout = await (0, exports.cmd)('git', [
|
|
62
|
-
'diff',
|
|
63
|
-
'--color-words=[\xC0-\xFF][\x80-\xBF]+|<?/?\\w+/?>?|[^[:space:]]',
|
|
64
|
-
'-U0',
|
|
65
|
-
'--no-index',
|
|
66
|
-
oldFile,
|
|
67
|
-
newFile,
|
|
68
|
-
]);
|
|
69
|
-
await Promise.all([fs.unlink(oldFile), fs.unlink(newFile)]);
|
|
70
|
-
console.log(stdout?.split('\n').slice(4).join('\n'));
|
|
71
|
-
};
|
|
72
|
-
exports.diff = diff;
|
|
73
|
-
/** @implements */
|
|
74
|
-
const error = (msg, ...args) => {
|
|
75
|
-
console.error('\x1B[31m%s\x1B[0m', msg, ...args);
|
|
76
|
-
};
|
|
77
|
-
exports.error = error;
|
|
78
|
-
/** @implements */
|
|
79
|
-
const info = (msg, ...args) => {
|
|
80
|
-
console.info('\x1B[32m%s\x1B[0m', msg, ...args);
|
|
81
|
-
};
|
|
82
|
-
exports.info = info;
|
package/dist/util/lint.js
DELETED
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.generateForSelf = exports.generateForChild = void 0;
|
|
4
|
-
const index_1 = require("../index");
|
|
5
|
-
/**
|
|
6
|
-
* 生成lint函数
|
|
7
|
-
* @param func lint函数
|
|
8
|
-
*/
|
|
9
|
-
const factory = (func) => (token, boundingRect, msg, severity = 'error') => {
|
|
10
|
-
const { start } = boundingRect, { top, left } = 'top' in boundingRect ? boundingRect : token.getRootNode().posFromIndex(start), { offsetHeight, offsetWidth } = token, { startIndex, startLine, startCol } = func(token, start, top, left);
|
|
11
|
-
return {
|
|
12
|
-
message: index_1.default.msg(msg),
|
|
13
|
-
severity,
|
|
14
|
-
startIndex,
|
|
15
|
-
endIndex: startIndex + String(token).length,
|
|
16
|
-
startLine,
|
|
17
|
-
endLine: startLine + offsetHeight - 1,
|
|
18
|
-
startCol,
|
|
19
|
-
endCol: offsetHeight === 1 ? startCol + offsetWidth : offsetWidth,
|
|
20
|
-
};
|
|
21
|
-
};
|
|
22
|
-
exports.generateForChild = factory((child, start, line, col) => {
|
|
23
|
-
const index = child.getRelativeIndex(), { top, left } = child.parentNode.posFromIndex(index);
|
|
24
|
-
return {
|
|
25
|
-
startIndex: start + index,
|
|
26
|
-
startLine: line + top,
|
|
27
|
-
startCol: top ? left : col + left,
|
|
28
|
-
};
|
|
29
|
-
});
|
|
30
|
-
exports.generateForSelf = factory((_, startIndex, startLine, startCol) => ({ startIndex, startLine, startCol }));
|
package/dist/util/string.js
DELETED
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.normalizeSpace = exports.print = exports.noWrap = exports.decodeHtml = exports.text = exports.escapeRegExp = exports.removeComment = exports.tidy = exports.extUrlChar = exports.extUrlCharFirst = void 0;
|
|
4
|
-
exports.extUrlCharFirst = '(?:\\[[\\da-f:.]+\\]|[^[\\]<>"\0-\x1F\x7F\\p{Zs}\uFFFD])';
|
|
5
|
-
exports.extUrlChar = '(?:[^[\\]<>"\0-\x1F\x7F\\p{Zs}\uFFFD]|\0\\d+[c!~]\x7F)*';
|
|
6
|
-
/**
|
|
7
|
-
* 生成正则替换函数
|
|
8
|
-
* @param regex 正则表达式
|
|
9
|
-
* @param replace 替换字符串或函数
|
|
10
|
-
*/
|
|
11
|
-
const factory = (regex, replace) => (str) => str.replace(regex, replace);
|
|
12
|
-
/** 清理解析专用的不可见字符 */
|
|
13
|
-
exports.tidy = factory(/[\0\x7F]/gu, '');
|
|
14
|
-
/** remove half-parsed comment-like tokens */
|
|
15
|
-
exports.removeComment = factory(/\0\d+c\x7F/gu, '');
|
|
16
|
-
/** escape special chars for RegExp constructor */
|
|
17
|
-
exports.escapeRegExp = factory(/[\\{}()|.?*+^$[\]]/gu, '\\$&');
|
|
18
|
-
/**
|
|
19
|
-
* extract effective wikitext
|
|
20
|
-
* @param childNodes a Token's contents
|
|
21
|
-
* @param separator delimiter between nodes
|
|
22
|
-
*/
|
|
23
|
-
const text = (childNodes, separator = '') => childNodes.map(child => typeof child === 'string' ? child : child.text()).join(separator);
|
|
24
|
-
exports.text = text;
|
|
25
|
-
/** decode HTML entities */
|
|
26
|
-
exports.decodeHtml = factory(/&#(\d+|x[\da-f]+);/giu, (_, code) => String.fromCodePoint(Number(`${code.toLowerCase().startsWith('x') ? '0' : ''}${code}`)));
|
|
27
|
-
/** escape newlines */
|
|
28
|
-
exports.noWrap = factory(/\n/gu, '\\n');
|
|
29
|
-
/**
|
|
30
|
-
* 以HTML格式打印
|
|
31
|
-
* @param childNodes 子节点
|
|
32
|
-
* @param opt 选项
|
|
33
|
-
*/
|
|
34
|
-
const print = (childNodes, opt = {}) => {
|
|
35
|
-
const { pre = '', post = '', sep = '' } = opt;
|
|
36
|
-
return `${pre}${childNodes.map(child => child.print()).join(sep)}${post}`;
|
|
37
|
-
};
|
|
38
|
-
exports.print = print;
|
|
39
|
-
/* NOT FOR BROWSER */
|
|
40
|
-
/**
|
|
41
|
-
* convert newline in text nodes to single whitespace
|
|
42
|
-
* @param token 父节点
|
|
43
|
-
*/
|
|
44
|
-
const normalizeSpace = (token) => {
|
|
45
|
-
if (token) {
|
|
46
|
-
for (const child of token.childNodes) {
|
|
47
|
-
if (child.type === 'text') {
|
|
48
|
-
child.replaceData(child.data.replace(/\n+/gu, ' '));
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
};
|
|
53
|
-
exports.normalizeSpace = normalizeSpace;
|
package/errors/README
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
这里记录解析失败时处于半解析状态的维基文本以及错误信息。
|
package/printed/README
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
这里存放以 JSON 格式打印的 AST。
|