@e-mc/document 0.6.1 → 0.6.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +1 -1
- package/README.md +1 -1
- package/index.js +49 -35
- package/package.json +4 -4
- package/parse/dom.js +3 -2
- package/parse/index.js +25 -17
- package/transform/index.js +3 -2
package/LICENSE
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
Copyright 2023
|
|
1
|
+
Copyright 2023 Ninja Scroll
|
|
2
2
|
|
|
3
3
|
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
|
4
4
|
|
package/README.md
CHANGED
package/index.js
CHANGED
|
@@ -217,7 +217,7 @@ class Document extends core_1.Client {
|
|
|
217
217
|
let match;
|
|
218
218
|
while (match = pattern.exec(source)) {
|
|
219
219
|
const preceding = source.substring(lastIndex, match.index);
|
|
220
|
-
let opening = 0, closing =
|
|
220
|
+
let opening = 0, closing = 0;
|
|
221
221
|
for (let j = 0, q = preceding.length; j < q; ++j) {
|
|
222
222
|
switch (preceding[j]) {
|
|
223
223
|
case '{':
|
|
@@ -228,8 +228,11 @@ class Document extends core_1.Client {
|
|
|
228
228
|
break;
|
|
229
229
|
}
|
|
230
230
|
}
|
|
231
|
-
if (opening === closing
|
|
232
|
-
|
|
231
|
+
if (opening === closing) {
|
|
232
|
+
if (!multiple || match[1] && sanitizeValue(match[1]) === sanitizeValue(local[3])) {
|
|
233
|
+
return upgrade ? parse_1.XmlWriter.replaceMatch(match, source, value, pattern) : source;
|
|
234
|
+
}
|
|
235
|
+
lastIndex = match.index + match[0].length;
|
|
233
236
|
}
|
|
234
237
|
}
|
|
235
238
|
return spliceSource(source, lastIndex, lastIndex, ident.repeat(length) + value + newline);
|
|
@@ -250,6 +253,7 @@ class Document extends core_1.Client {
|
|
|
250
253
|
return lastIndex > 0 ? spliceSource(source, lastIndex, lastIndex, content) : source + newline + content;
|
|
251
254
|
}
|
|
252
255
|
static generateLintTable(messages, options) {
|
|
256
|
+
var _a, _b, _c;
|
|
253
257
|
const { leadingText, trailingText, pathname, filename, ruleWidth = 30, messageWidth = 60 } = options;
|
|
254
258
|
const result = [];
|
|
255
259
|
const truncate = (value, width) => value.length > width ? value.substring(0, width - 3) + '...' : value.padStart(width);
|
|
@@ -295,9 +299,9 @@ class Document extends core_1.Client {
|
|
|
295
299
|
maxWidth += maxLine + maxColumn;
|
|
296
300
|
const title = (leadingText || '') + (pathname || filename ? (leadingText ? ': ' : '') + (pathname && filename ? path.join(pathname, filename) : pathname || filename) : '');
|
|
297
301
|
const divider = { type: types_1.STATUS_TYPE.INFO, value: '-'.repeat(maxWidth), timeStamp };
|
|
298
|
-
errorCount = (options.errorCount
|
|
299
|
-
warningCount = (options.warningCount
|
|
300
|
-
fatalErrorCount = (options.fatalErrorCount
|
|
302
|
+
errorCount = ((_a = options.errorCount) !== null && _a !== void 0 ? _a : errorCount).toString();
|
|
303
|
+
warningCount = ((_b = options.warningCount) !== null && _b !== void 0 ? _b : warningCount).toString();
|
|
304
|
+
fatalErrorCount = ((_c = options.fatalErrorCount) !== null && _c !== void 0 ? _c : fatalErrorCount).toString();
|
|
301
305
|
const hasFatal = fatalErrorCount !== '0';
|
|
302
306
|
result.unshift(divider, { type: types_1.STATUS_TYPE.INFO, value: title + ' '.repeat(maxWidth - title.length - (hasFatal ? fatalErrorCount.length + 9 : 0)) + (hasFatal ? `fatal(${chalk.bold.bgRed.white(` ${fatalErrorCount} `)})` : ''), timeStamp, duration: currentTime - timeStamp }, divider);
|
|
303
307
|
result.push(divider);
|
|
@@ -323,7 +327,8 @@ class Document extends core_1.Client {
|
|
|
323
327
|
}
|
|
324
328
|
restart() { }
|
|
325
329
|
init(assets, config) {
|
|
326
|
-
var _a;
|
|
330
|
+
var _a, _b, _c;
|
|
331
|
+
var _d;
|
|
327
332
|
let ignoreModules;
|
|
328
333
|
if (config) {
|
|
329
334
|
const { baseUrl, ignoreExtensions } = config;
|
|
@@ -337,10 +342,10 @@ class Document extends core_1.Client {
|
|
|
337
342
|
this._extensions = ignoreExtensions.includes(this.moduleName) ? [] : this._extensions.filter(value => !ignoreExtensions.includes(value));
|
|
338
343
|
}
|
|
339
344
|
if (baseUrl) {
|
|
340
|
-
const username = this.host
|
|
345
|
+
const username = (_a = this.host) === null || _a === void 0 ? void 0 : _a.username;
|
|
341
346
|
let pages = this.settings.pages;
|
|
342
347
|
if (username) {
|
|
343
|
-
const users = this.settings.users
|
|
348
|
+
const users = (_c = (_b = this.settings.users) === null || _b === void 0 ? void 0 : _b[username]) === null || _c === void 0 ? void 0 : _c.pages;
|
|
344
349
|
if ((0, types_1.isPlainObject)(users)) {
|
|
345
350
|
pages = (0, types_1.isPlainObject)(pages) ? { ...pages, ...users } : users;
|
|
346
351
|
}
|
|
@@ -391,8 +396,8 @@ class Document extends core_1.Client {
|
|
|
391
396
|
}
|
|
392
397
|
ignoreModules = config.ignoreModules;
|
|
393
398
|
}
|
|
394
|
-
if (this.dataSource.length && !ignoreModules
|
|
395
|
-
const db = (
|
|
399
|
+
if (this.dataSource.length && !(ignoreModules === null || ignoreModules === void 0 ? void 0 : ignoreModules.includes('db'))) {
|
|
400
|
+
const db = (_d = this.module).db || (_d.db = {});
|
|
396
401
|
const handler = db.handler;
|
|
397
402
|
const database = this.dataSource.filter(this.forDb.bind(this));
|
|
398
403
|
let instance;
|
|
@@ -454,7 +459,7 @@ class Document extends core_1.Client {
|
|
|
454
459
|
this._transformConfig = null;
|
|
455
460
|
return;
|
|
456
461
|
}
|
|
457
|
-
switch (algorithm = algorithm
|
|
462
|
+
switch (algorithm = algorithm === null || algorithm === void 0 ? void 0 : algorithm.toLowerCase()) {
|
|
458
463
|
case 'md5':
|
|
459
464
|
case 'sha1':
|
|
460
465
|
case 'sha224':
|
|
@@ -572,11 +577,12 @@ class Document extends core_1.Client {
|
|
|
572
577
|
delete data[name];
|
|
573
578
|
}
|
|
574
579
|
resolveDir(name, ...paths) {
|
|
575
|
-
|
|
580
|
+
var _a, _b;
|
|
581
|
+
let baseDir = (_a = this.settings.directory) === null || _a === void 0 ? void 0 : _a[name];
|
|
576
582
|
if (baseDir) {
|
|
577
583
|
try {
|
|
578
584
|
baseDir = path.resolve(baseDir);
|
|
579
|
-
const username = this.host
|
|
585
|
+
const username = (_b = this.host) === null || _b === void 0 ? void 0 : _b.username;
|
|
580
586
|
let result;
|
|
581
587
|
if (username) {
|
|
582
588
|
const leading = path.join(baseDir, 'users', username);
|
|
@@ -652,6 +658,7 @@ class Document extends core_1.Client {
|
|
|
652
658
|
return null;
|
|
653
659
|
}
|
|
654
660
|
findVersion(name, fallback = '') {
|
|
661
|
+
var _a;
|
|
655
662
|
let result;
|
|
656
663
|
const versions = this.module.versions;
|
|
657
664
|
if (versions) {
|
|
@@ -663,7 +670,7 @@ class Document extends core_1.Client {
|
|
|
663
670
|
}
|
|
664
671
|
}
|
|
665
672
|
else {
|
|
666
|
-
result = this.module.versions
|
|
673
|
+
result = (_a = this.module.versions) === null || _a === void 0 ? void 0 : _a[name];
|
|
667
674
|
}
|
|
668
675
|
}
|
|
669
676
|
return result || fallback;
|
|
@@ -693,6 +700,7 @@ class Document extends core_1.Client {
|
|
|
693
700
|
}
|
|
694
701
|
locateSourceFiles(file, code, bundleContent) {
|
|
695
702
|
return (imports = this.imports) => {
|
|
703
|
+
var _a;
|
|
696
704
|
const href = file.uri;
|
|
697
705
|
const sourceFile = [];
|
|
698
706
|
let mainFile, invalid;
|
|
@@ -735,7 +743,7 @@ class Document extends core_1.Client {
|
|
|
735
743
|
invalid = true;
|
|
736
744
|
break;
|
|
737
745
|
}
|
|
738
|
-
sourceFile.push(['', this.resolveImports
|
|
746
|
+
sourceFile.push(['', ((_a = this.resolveImports) === null || _a === void 0 ? void 0 : _a.call(this, item, source, localFile)) || source, localFile]);
|
|
739
747
|
}
|
|
740
748
|
}
|
|
741
749
|
}
|
|
@@ -746,10 +754,11 @@ class Document extends core_1.Client {
|
|
|
746
754
|
}
|
|
747
755
|
resolveSourceFile(file) {
|
|
748
756
|
return (code, imports = this.imports) => {
|
|
757
|
+
var _a;
|
|
749
758
|
const uri = file.uri;
|
|
750
759
|
let source, sourceFile;
|
|
751
760
|
if (code && imports && Object.keys(imports).length) {
|
|
752
|
-
const output = this.resolveImports
|
|
761
|
+
const output = (_a = this.resolveImports) === null || _a === void 0 ? void 0 : _a.call(this, file, code, uri && this.findSourceRoot(uri, imports));
|
|
753
762
|
if (output) {
|
|
754
763
|
source = output;
|
|
755
764
|
}
|
|
@@ -790,20 +799,23 @@ class Document extends core_1.Client {
|
|
|
790
799
|
return item.source !== 'cloud';
|
|
791
800
|
}
|
|
792
801
|
hasEval(name) {
|
|
793
|
-
|
|
802
|
+
var _a;
|
|
803
|
+
return !!((_a = this.module.eval) === null || _a === void 0 ? void 0 : _a[name]);
|
|
794
804
|
}
|
|
795
805
|
settingsOf(name, option) {
|
|
796
|
-
|
|
806
|
+
var _a;
|
|
807
|
+
const options = (_a = this.settings.options) === null || _a === void 0 ? void 0 : _a[name];
|
|
797
808
|
if ((0, types_1.isObject)(options)) {
|
|
798
809
|
return options[option];
|
|
799
810
|
}
|
|
800
811
|
}
|
|
801
812
|
async parseTemplate(viewEngine, template, data) {
|
|
813
|
+
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
802
814
|
let target, stored;
|
|
803
815
|
if (typeof viewEngine === 'string') {
|
|
804
|
-
target = this.settings.view_engine
|
|
805
|
-
const username = this.host
|
|
806
|
-
const userConfig = username && this.settings.users
|
|
816
|
+
target = (_a = this.settings.view_engine) === null || _a === void 0 ? void 0 : _a[viewEngine];
|
|
817
|
+
const username = (_b = this.host) === null || _b === void 0 ? void 0 : _b.username;
|
|
818
|
+
const userConfig = username && ((_e = (_d = (_c = this.settings.users) === null || _c === void 0 ? void 0 : _c[username]) === null || _d === void 0 ? void 0 : _d.view_engine) === null || _e === void 0 ? void 0 : _e[viewEngine]);
|
|
807
819
|
if ((0, types_1.isPlainObject)(userConfig)) {
|
|
808
820
|
if ((0, types_1.isPlainObject)(target)) {
|
|
809
821
|
(0, types_1.cloneObject)(userConfig, { target, deep: true, preserve: true });
|
|
@@ -843,7 +855,7 @@ class Document extends core_1.Client {
|
|
|
843
855
|
(0, types_1.coerceObject)(output, stored);
|
|
844
856
|
}
|
|
845
857
|
}
|
|
846
|
-
const username = this.host
|
|
858
|
+
const username = ((_f = this.host) === null || _f === void 0 ? void 0 : _f.username) || '';
|
|
847
859
|
const cache = CACHE_TEMPLATE[name] || (CACHE_TEMPLATE[name] = {});
|
|
848
860
|
const cacheKey = username + core_1.Client.asHash(template + (compile ? core_1.Client.asString(compile) : ''));
|
|
849
861
|
let result = '', render, valid;
|
|
@@ -856,7 +868,7 @@ class Document extends core_1.Client {
|
|
|
856
868
|
}
|
|
857
869
|
for (let i = 0, j = 0, row; i < length; ++i) {
|
|
858
870
|
if ((0, types_1.isPlainObject)(row = data[i])) {
|
|
859
|
-
row.__index__
|
|
871
|
+
(_g = row.__index__) !== null && _g !== void 0 ? _g : (row.__index__ = ++j);
|
|
860
872
|
if (output) {
|
|
861
873
|
row = { ...output, ...row };
|
|
862
874
|
}
|
|
@@ -873,7 +885,7 @@ class Document extends core_1.Client {
|
|
|
873
885
|
}
|
|
874
886
|
}
|
|
875
887
|
}
|
|
876
|
-
return singleRow ? render.call(context, data)
|
|
888
|
+
return singleRow ? (_h = render.call(context, data)) !== null && _h !== void 0 ? _h : null : valid ? result : null;
|
|
877
889
|
}
|
|
878
890
|
catch (err) {
|
|
879
891
|
this.abort('view_engine');
|
|
@@ -882,13 +894,14 @@ class Document extends core_1.Client {
|
|
|
882
894
|
return null;
|
|
883
895
|
}
|
|
884
896
|
async transform(type, code, format, options = {}) {
|
|
897
|
+
var _a, _b, _c, _d;
|
|
885
898
|
let transform = this.settings.transform, data;
|
|
886
899
|
if (!transform || !(0, types_1.isObject)(data = transform[type])) {
|
|
887
900
|
return;
|
|
888
901
|
}
|
|
889
902
|
format = typeof format === 'string' ? format.trim().split(/\s*\+\s*/) : format.map(item => typeof item === 'string' ? item.trim() : '');
|
|
890
903
|
const moduleName = this.moduleName;
|
|
891
|
-
const username = this.host
|
|
904
|
+
const username = ((_a = this.host) === null || _a === void 0 ? void 0 : _a.username) || '';
|
|
892
905
|
const config = this._transformConfig;
|
|
893
906
|
const cacheData = config && options.cacheData;
|
|
894
907
|
const cacheType = username && core_1.Client.enabled("memory.settings.users", username) ? true : this.cacheDir || core_1.Client.enabled("memory.settings.users");
|
|
@@ -966,7 +979,7 @@ class Document extends core_1.Client {
|
|
|
966
979
|
}
|
|
967
980
|
}
|
|
968
981
|
if (result) {
|
|
969
|
-
result.storedLog
|
|
982
|
+
(_b = result.storedLog) === null || _b === void 0 ? void 0 : _b.forEach(log => this.addLog(log));
|
|
970
983
|
this.formatMessage(4, type, [joinString(cacheName, format.filter(value => value).join(' | '), options.filename), 'cache'], uri, { ...core_1.Client.LOG_STYLE_NOTICE, hintBold: true });
|
|
971
984
|
return result;
|
|
972
985
|
}
|
|
@@ -978,7 +991,7 @@ class Document extends core_1.Client {
|
|
|
978
991
|
const series = new transform_1.TransformSeries(type, code, options);
|
|
979
992
|
series.init(this, __dirname);
|
|
980
993
|
let valid, excluded, userData, userImports, ignoreCache, storedLog, sourceFiles;
|
|
981
|
-
if (username && (transform = this.settings.users
|
|
994
|
+
if (username && (transform = (_d = (_c = this.settings.users) === null || _c === void 0 ? void 0 : _c[username]) === null || _d === void 0 ? void 0 : _d.transform)) {
|
|
982
995
|
userData = transform[type];
|
|
983
996
|
userImports = transform.imports;
|
|
984
997
|
}
|
|
@@ -987,12 +1000,12 @@ class Document extends core_1.Client {
|
|
|
987
1000
|
this.abort('transform');
|
|
988
1001
|
};
|
|
989
1002
|
const includes = (name) => {
|
|
990
|
-
const include = config
|
|
991
|
-
if (include === true || include
|
|
1003
|
+
const include = config === null || config === void 0 ? void 0 : config.include[type];
|
|
1004
|
+
if (include === true || (include === null || include === void 0 ? void 0 : include.includes(name))) {
|
|
992
1005
|
const exclude = config.exclude[type];
|
|
993
1006
|
return !exclude || exclude === true && include !== true || Array.isArray(exclude) && !exclude.includes(name);
|
|
994
1007
|
}
|
|
995
|
-
return cacheData
|
|
1008
|
+
return (cacheData === null || cacheData === void 0 ? void 0 : cacheData.override) === true;
|
|
996
1009
|
};
|
|
997
1010
|
for (let i = 0, length = format.length, name; i < length; ++i) {
|
|
998
1011
|
if (this.aborted) {
|
|
@@ -1111,7 +1124,7 @@ class Document extends core_1.Client {
|
|
|
1111
1124
|
let transformer = CACHE_PACKAGE[plugin + username];
|
|
1112
1125
|
if (!transformer) {
|
|
1113
1126
|
try {
|
|
1114
|
-
let pkg = this.resolveDir('package', plugin + '.js') || userImports
|
|
1127
|
+
let pkg = this.resolveDir('package', plugin + '.js') || (userImports === null || userImports === void 0 ? void 0 : userImports[plugin]) || imports[plugin] || util_1.IMPORTS[plugin];
|
|
1115
1128
|
if ((0, types_1.isString)(pkg)) {
|
|
1116
1129
|
const match = /^(@?\S+)@(\d+(?:\.\d+(?:\.\S+)?)?|[a-z]+)$/.exec(pkg);
|
|
1117
1130
|
if (match) {
|
|
@@ -1180,7 +1193,7 @@ class Document extends core_1.Client {
|
|
|
1180
1193
|
output.map = sourceMap.map;
|
|
1181
1194
|
}
|
|
1182
1195
|
if ((0, types_1.isArray)(series.supplementChunks)) {
|
|
1183
|
-
output.chunks = series.supplementChunks.map(item => ({ code: item.code, map: output.map && item.sourceMap
|
|
1196
|
+
output.chunks = series.supplementChunks.map(item => { var _a; return ({ code: item.code, map: output.map && ((_a = item.sourceMap) === null || _a === void 0 ? void 0 : _a.map), entryPoint: item.entryPoint, filename: item.filename }); });
|
|
1184
1197
|
}
|
|
1185
1198
|
if (sourceFiles) {
|
|
1186
1199
|
output.sourceFiles = sourceFiles;
|
|
@@ -1270,6 +1283,7 @@ class Document extends core_1.Client {
|
|
|
1270
1283
|
return this._dataSource || [];
|
|
1271
1284
|
}
|
|
1272
1285
|
set imports(value) {
|
|
1286
|
+
var _a, _b, _c;
|
|
1273
1287
|
if (!(0, types_1.isPlainObject)(value)) {
|
|
1274
1288
|
this._imports = null;
|
|
1275
1289
|
return;
|
|
@@ -1279,8 +1293,8 @@ class Document extends core_1.Client {
|
|
|
1279
1293
|
this._imports = Object.assign(imports, value);
|
|
1280
1294
|
}
|
|
1281
1295
|
else {
|
|
1282
|
-
const username = this.host
|
|
1283
|
-
imports = username && this.settings.users
|
|
1296
|
+
const username = (_a = this.host) === null || _a === void 0 ? void 0 : _a.username;
|
|
1297
|
+
imports = username && ((_c = (_b = this.settings.users) === null || _b === void 0 ? void 0 : _b[username]) === null || _c === void 0 ? void 0 : _c.imports) || this.module.imports;
|
|
1284
1298
|
this._imports = Object.assign(this._imports || {}, (0, types_1.isPlainObject)(imports) ? imports : undefined, value);
|
|
1285
1299
|
}
|
|
1286
1300
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@e-mc/document",
|
|
3
|
-
"version": "0.6.
|
|
3
|
+
"version": "0.6.3",
|
|
4
4
|
"description": "Document constructor for E-mc.",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"types": "index.d.ts",
|
|
@@ -20,9 +20,9 @@
|
|
|
20
20
|
"license": "MIT",
|
|
21
21
|
"homepage": "https://github.com/anpham6/e-mc#readme",
|
|
22
22
|
"dependencies": {
|
|
23
|
-
"@e-mc/core": "0.6.
|
|
24
|
-
"@e-mc/db": "0.6.
|
|
25
|
-
"@e-mc/types": "0.6.
|
|
23
|
+
"@e-mc/core": "0.6.3",
|
|
24
|
+
"@e-mc/db": "0.6.3",
|
|
25
|
+
"@e-mc/types": "0.6.3",
|
|
26
26
|
"chalk": "4.1.2",
|
|
27
27
|
"htmlparser2": "^9.0.0",
|
|
28
28
|
"js-yaml": "^4.1.0",
|
package/parse/dom.js
CHANGED
|
@@ -34,7 +34,7 @@ class DomWriter extends index_1.XmlWriter {
|
|
|
34
34
|
tagGroup.push(new RegExp('^' + (0, types_1.escapePattern)(start)));
|
|
35
35
|
}
|
|
36
36
|
const end = ignoreTagGroup[i + 1];
|
|
37
|
-
if (end
|
|
37
|
+
if ((end === null || end === void 0 ? void 0 : end[end.length - 1]) === '>') {
|
|
38
38
|
tagGroup.push(new RegExp((0, types_1.escapePattern)(start) + '$'));
|
|
39
39
|
}
|
|
40
40
|
}
|
|
@@ -226,7 +226,8 @@ class HtmlElement extends index_1.XmlElement {
|
|
|
226
226
|
this._documentType = "HTML";
|
|
227
227
|
}
|
|
228
228
|
getTagOffset(source) {
|
|
229
|
-
|
|
229
|
+
var _a;
|
|
230
|
+
switch (((_a = this.node.append) === null || _a === void 0 ? void 0 : _a.tagName) || this.tagName) {
|
|
230
231
|
case 'html':
|
|
231
232
|
case 'title':
|
|
232
233
|
case 'style':
|
package/parse/index.js
CHANGED
|
@@ -11,7 +11,7 @@ var IGNORE_FLAG;
|
|
|
11
11
|
IGNORE_FLAG[IGNORE_FLAG["NONE"] = 0] = "NONE";
|
|
12
12
|
IGNORE_FLAG[IGNORE_FLAG["INTERIOR"] = 1] = "INTERIOR";
|
|
13
13
|
IGNORE_FLAG[IGNORE_FLAG["LOCATOR"] = 2] = "LOCATOR";
|
|
14
|
-
})(IGNORE_FLAG
|
|
14
|
+
})(IGNORE_FLAG = exports.IGNORE_FLAG || (exports.IGNORE_FLAG = {}));
|
|
15
15
|
const Parser = htmlparser2.Parser;
|
|
16
16
|
const DomHandler = domhandler.DomHandler;
|
|
17
17
|
const CACHE_TAGNAME = {};
|
|
@@ -235,7 +235,7 @@ class XmlWriter {
|
|
|
235
235
|
return result;
|
|
236
236
|
}
|
|
237
237
|
const nodes = domutils.getElementsByTagName(node.tagName, outDom, true);
|
|
238
|
-
if (!parser
|
|
238
|
+
if (!(parser === null || parser === void 0 ? void 0 : parser.xmlMode)) {
|
|
239
239
|
nodes.filter(item => item.next && item.next.startIndex <= item.endIndex).forEach(item => {
|
|
240
240
|
for (let i = 0, length = nodes.length; i < length; ++i) {
|
|
241
241
|
const element = nodes[i];
|
|
@@ -262,7 +262,7 @@ class XmlWriter {
|
|
|
262
262
|
const locator = node.locator;
|
|
263
263
|
if (locator && locatorAttr) {
|
|
264
264
|
const { element } = this.locateElement(source, locator, locatorAttr, { parser, outDom });
|
|
265
|
-
if (element
|
|
265
|
+
if ((element === null || element === void 0 ? void 0 : element.tagName) === node.tagName) {
|
|
266
266
|
result.element = element;
|
|
267
267
|
index = nodes.findIndex(item => item === element);
|
|
268
268
|
}
|
|
@@ -346,10 +346,12 @@ class XmlWriter {
|
|
|
346
346
|
CACHE_TAGVOID[type] = values;
|
|
347
347
|
}
|
|
348
348
|
static isTagVoid(type, tagName) {
|
|
349
|
-
|
|
349
|
+
var _a;
|
|
350
|
+
return !!((_a = CACHE_TAGVOID[type]) === null || _a === void 0 ? void 0 : _a.includes(tagName));
|
|
350
351
|
}
|
|
351
352
|
static getNodeId(node, document) {
|
|
352
|
-
|
|
353
|
+
var _a;
|
|
354
|
+
return ((_a = node.id) === null || _a === void 0 ? void 0 : _a[document]) || '';
|
|
353
355
|
}
|
|
354
356
|
static getNameOfId(document) {
|
|
355
357
|
return `data-${document}-id`;
|
|
@@ -424,7 +426,7 @@ class XmlWriter {
|
|
|
424
426
|
if ((ignoreCase ? tagName.toLowerCase() === other.tagName.toLowerCase() : tagName === other.tagName) && (index === other.index && isIndex(index) || tagIndex === other.tagIndex && tagCount === other.tagCount && isIndex(tagIndex) && isCount(tagCount))) {
|
|
425
427
|
return true;
|
|
426
428
|
}
|
|
427
|
-
return document && other.id && id
|
|
429
|
+
return document && other.id && (id === null || id === void 0 ? void 0 : id[document]) ? id[document] === other.id[document] : false;
|
|
428
430
|
}
|
|
429
431
|
static isIndex(value) {
|
|
430
432
|
return isIndex(value);
|
|
@@ -450,7 +452,7 @@ class XmlWriter {
|
|
|
450
452
|
this._patternIgnore = null;
|
|
451
453
|
this._writeStartIndex = -1;
|
|
452
454
|
this._source = source;
|
|
453
|
-
this.parser = options
|
|
455
|
+
this.parser = options === null || options === void 0 ? void 0 : options.parser;
|
|
454
456
|
}
|
|
455
457
|
init(offsetMap) {
|
|
456
458
|
const appending = [];
|
|
@@ -461,7 +463,7 @@ class XmlWriter {
|
|
|
461
463
|
}
|
|
462
464
|
if (isCount(item.tagCount)) {
|
|
463
465
|
const tagName = item.tagName;
|
|
464
|
-
item.tagCount += offsetMap
|
|
466
|
+
item.tagCount += (offsetMap === null || offsetMap === void 0 ? void 0 : offsetMap[tagName]) || 0;
|
|
465
467
|
this._tagCount[tagName] = item.tagCount;
|
|
466
468
|
}
|
|
467
469
|
deletePosition(item, rootName);
|
|
@@ -550,6 +552,7 @@ class XmlWriter {
|
|
|
550
552
|
return null;
|
|
551
553
|
}
|
|
552
554
|
write(element) {
|
|
555
|
+
var _a;
|
|
553
556
|
if (!element.modified) {
|
|
554
557
|
return true;
|
|
555
558
|
}
|
|
@@ -580,7 +583,7 @@ class XmlWriter {
|
|
|
580
583
|
if (append) {
|
|
581
584
|
const { tagName, id, textContent = '', prepend, nextSibling } = append;
|
|
582
585
|
if (!prepend) {
|
|
583
|
-
node.index = nextSibling
|
|
586
|
+
node.index = nextSibling !== null && nextSibling !== void 0 ? nextSibling : -1;
|
|
584
587
|
}
|
|
585
588
|
(node.id || (node.id = {}))[this.documentName] = id;
|
|
586
589
|
element.id = id;
|
|
@@ -603,7 +606,7 @@ class XmlWriter {
|
|
|
603
606
|
this.renameTag(node, element.tagName);
|
|
604
607
|
}
|
|
605
608
|
this.update(node, outerXml, append, element.tagOffset);
|
|
606
|
-
if (element.innerXml && !element.remove && (element.hasModifiedContent() || this.patternIgnore
|
|
609
|
+
if (element.innerXml && !element.remove && (element.hasModifiedContent() || ((_a = this.patternIgnore) === null || _a === void 0 ? void 0 : _a.test(element.tagName)))) {
|
|
607
610
|
this._hasInvalidContent = true;
|
|
608
611
|
this._writeStartIndex = -1;
|
|
609
612
|
}
|
|
@@ -802,6 +805,7 @@ class XmlWriter {
|
|
|
802
805
|
}
|
|
803
806
|
}
|
|
804
807
|
indexTag(tagName, append, offset = 0) {
|
|
808
|
+
var _a;
|
|
805
809
|
if (tagName in this._tagCount) {
|
|
806
810
|
const elements = [];
|
|
807
811
|
const revised = [];
|
|
@@ -871,7 +875,7 @@ class XmlWriter {
|
|
|
871
875
|
return;
|
|
872
876
|
}
|
|
873
877
|
}
|
|
874
|
-
const id = append ? append.id : revised[0].id
|
|
878
|
+
const id = append ? append.id : (_a = revised[0].id) === null || _a === void 0 ? void 0 : _a[this.documentName];
|
|
875
879
|
if (id) {
|
|
876
880
|
const element = XmlWriter.findElement(this.source, (append || revised[0]), { document: this.documentName, id, tagCount: nextCount, parser: this.parser });
|
|
877
881
|
if (element) {
|
|
@@ -893,7 +897,7 @@ class XmlWriter {
|
|
|
893
897
|
item.index = -1;
|
|
894
898
|
}
|
|
895
899
|
const append = item.append;
|
|
896
|
-
if (append
|
|
900
|
+
if ((append === null || append === void 0 ? void 0 : append.tagName) === tagName) {
|
|
897
901
|
delete append.tagCount;
|
|
898
902
|
const nextSibling = append.nextSibling;
|
|
899
903
|
if (isIndex(nextSibling)) {
|
|
@@ -954,6 +958,7 @@ class XmlWriter {
|
|
|
954
958
|
}
|
|
955
959
|
getElementsByTagName(tagName, ignoreCase = false, options) {
|
|
956
960
|
var _a;
|
|
961
|
+
var _b;
|
|
957
962
|
let tagVoid;
|
|
958
963
|
if (options) {
|
|
959
964
|
({ tagVoid } = options);
|
|
@@ -963,14 +968,14 @@ class XmlWriter {
|
|
|
963
968
|
const result = [];
|
|
964
969
|
const patternId = XmlWriter.getPatternId(this.nameOfId);
|
|
965
970
|
const flags = ignoreCase ? 'gi' : 'g';
|
|
966
|
-
const pattern = CACHE_TAGNAME[
|
|
971
|
+
const pattern = CACHE_TAGNAME[_b = tagName + flags + '3'] || (CACHE_TAGNAME[_b] = new RegExp(`<${escapeTagName(tagName) + PATTERN_TAGOPEN}*>`, flags));
|
|
967
972
|
pattern.lastIndex = 0;
|
|
968
973
|
let match;
|
|
969
974
|
while (match = pattern.exec(source)) {
|
|
970
975
|
const startIndex = match.index;
|
|
971
976
|
let outerXml = match[0], endIndex = startIndex + outerXml.length - 1;
|
|
972
977
|
if (!invalid || isValidIndex(invalid, startIndex, endIndex)) {
|
|
973
|
-
const id = patternId.exec(outerXml)
|
|
978
|
+
const id = (_a = patternId.exec(outerXml)) === null || _a === void 0 ? void 0 : _a[1];
|
|
974
979
|
if (!tagVoid) {
|
|
975
980
|
const [index, closeTag] = findCloseIndex(source, tagName, endIndex + 1, ignoreCase);
|
|
976
981
|
if (index !== -1) {
|
|
@@ -1152,6 +1157,7 @@ class XmlElement {
|
|
|
1152
1157
|
}
|
|
1153
1158
|
}
|
|
1154
1159
|
getAttribute(name) {
|
|
1160
|
+
var _a;
|
|
1155
1161
|
let result = this._attributes.get(this._ignoreCase ? name = name.toLowerCase() : name);
|
|
1156
1162
|
if (result) {
|
|
1157
1163
|
return result;
|
|
@@ -1164,7 +1170,7 @@ class XmlElement {
|
|
|
1164
1170
|
if (outerXml) {
|
|
1165
1171
|
const index = XmlWriter.findCloseTag(outerXml);
|
|
1166
1172
|
if (index !== -1) {
|
|
1167
|
-
return XmlWriter.getPatternId(this.nameOfId).exec(outerXml.substring(0, index))
|
|
1173
|
+
return ((_a = XmlWriter.getPatternId(this.nameOfId).exec(outerXml.substring(0, index))) === null || _a === void 0 ? void 0 : _a[1]) || '';
|
|
1168
1174
|
}
|
|
1169
1175
|
}
|
|
1170
1176
|
}
|
|
@@ -1376,7 +1382,8 @@ class XmlElement {
|
|
|
1376
1382
|
return [this.tagName, attributes, this.innerXml];
|
|
1377
1383
|
}
|
|
1378
1384
|
getInnerOffset(tagName) {
|
|
1379
|
-
|
|
1385
|
+
var _a;
|
|
1386
|
+
return ((_a = this._tagOffset) === null || _a === void 0 ? void 0 : _a[tagName]) || 0;
|
|
1380
1387
|
}
|
|
1381
1388
|
hasPosition() {
|
|
1382
1389
|
return isIndex(this.node.startIndex) && isIndex(this.node.endIndex);
|
|
@@ -1412,7 +1419,8 @@ class XmlElement {
|
|
|
1412
1419
|
return this._documentType || this.documentName;
|
|
1413
1420
|
}
|
|
1414
1421
|
get tagVoid() {
|
|
1415
|
-
|
|
1422
|
+
var _a;
|
|
1423
|
+
return (_a = this._tagVoid) !== null && _a !== void 0 ? _a : XmlWriter.isTagVoid(this.documentType, this.tagName);
|
|
1416
1424
|
}
|
|
1417
1425
|
set innerXml(value) {
|
|
1418
1426
|
if (!this.tagVoid && value !== this._innerXml) {
|
package/transform/index.js
CHANGED
|
@@ -136,8 +136,9 @@ class TransformSeries extends core_1.Module {
|
|
|
136
136
|
return context;
|
|
137
137
|
}
|
|
138
138
|
close(instance) {
|
|
139
|
+
var _e;
|
|
139
140
|
core_1.AbortComponent.detach(instance, this.signal);
|
|
140
|
-
this.host
|
|
141
|
+
(_e = this.host) === null || _e === void 0 ? void 0 : _e.release(this);
|
|
141
142
|
}
|
|
142
143
|
set code(value) {
|
|
143
144
|
this[kCode] = value;
|
|
@@ -312,6 +313,6 @@ class SourceMap {
|
|
|
312
313
|
return this[kMap];
|
|
313
314
|
}
|
|
314
315
|
}
|
|
315
|
-
exports.SourceMap = SourceMap;
|
|
316
316
|
_d = kMap;
|
|
317
317
|
SourceMap.RE_SOURCE_MAPPING_URL = /(?:\r\n|\n)*(?:(\/\/)|(\/\*))\s*[#@][ ]+sourceMappingURL=(data:[^,]+,)?(\S+)\s*(\*\/)?\r?\n?/g;
|
|
318
|
+
exports.SourceMap = SourceMap;
|