@e-mc/document 0.5.5 → 0.5.7
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/asset.js +0 -1
- package/index.js +47 -37
- package/package.json +4 -4
- package/parse/dom.js +3 -2
- package/parse/index.js +24 -16
- package/transform/index.js +2 -1
package/LICENSE
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
Copyright
|
|
1
|
+
Copyright 2024 An Pham
|
|
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/asset.js
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
2
|
exports.setInitialValue = exports.isEqual = void 0;
|
|
4
3
|
function isEqual(item, other) {
|
|
5
4
|
return !!(item.id && item.id === other.id || item.uri === other.uri && item.pathname === other.pathname && item.filename === other.filename && item.pathname && item.filename);
|
package/index.js
CHANGED
|
@@ -271,6 +271,7 @@ class Document extends core_1.Client {
|
|
|
271
271
|
return lastIndex > 0 ? spliceSource(source, lastIndex, lastIndex, content) : source + newline + content;
|
|
272
272
|
}
|
|
273
273
|
static generateLintTable(messages, options) {
|
|
274
|
+
var _a, _b, _c;
|
|
274
275
|
const { leadingText, trailingText, pathname, filename, ruleWidth = 30, messageWidth = 60 } = options;
|
|
275
276
|
const result = [];
|
|
276
277
|
const truncate = (value, width) => value.length > width ? value.substring(0, width - 3) + '...' : value.padStart(width);
|
|
@@ -316,9 +317,9 @@ class Document extends core_1.Client {
|
|
|
316
317
|
maxWidth += maxLine + maxColumn;
|
|
317
318
|
const title = (leadingText || '') + (pathname || filename ? (leadingText ? ': ' : '') + (pathname && filename ? path.join(pathname, filename) : pathname || filename) : '');
|
|
318
319
|
const divider = { type: types_1.STATUS_TYPE.INFO, value: '-'.repeat(maxWidth), timeStamp };
|
|
319
|
-
errorCount = (options.errorCount
|
|
320
|
-
warningCount = (options.warningCount
|
|
321
|
-
fatalErrorCount = (options.fatalErrorCount
|
|
320
|
+
errorCount = ((_a = options.errorCount) !== null && _a !== void 0 ? _a : errorCount).toString();
|
|
321
|
+
warningCount = ((_b = options.warningCount) !== null && _b !== void 0 ? _b : warningCount).toString();
|
|
322
|
+
fatalErrorCount = ((_c = options.fatalErrorCount) !== null && _c !== void 0 ? _c : fatalErrorCount).toString();
|
|
322
323
|
const hasFatal = fatalErrorCount !== '0';
|
|
323
324
|
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);
|
|
324
325
|
result.push(divider);
|
|
@@ -343,7 +344,8 @@ class Document extends core_1.Client {
|
|
|
343
344
|
}
|
|
344
345
|
restart() { }
|
|
345
346
|
init(assets, config) {
|
|
346
|
-
var _a;
|
|
347
|
+
var _a, _b, _c;
|
|
348
|
+
var _d;
|
|
347
349
|
let ignoreModules;
|
|
348
350
|
if (config) {
|
|
349
351
|
const { baseUrl, ignoreExtensions } = config;
|
|
@@ -357,10 +359,10 @@ class Document extends core_1.Client {
|
|
|
357
359
|
this._extensions = ignoreExtensions.includes(this.moduleName) ? [] : this._extensions.filter(value => !ignoreExtensions.includes(value));
|
|
358
360
|
}
|
|
359
361
|
if (baseUrl) {
|
|
360
|
-
const username = this.host
|
|
362
|
+
const username = (_a = this.host) === null || _a === void 0 ? void 0 : _a.username;
|
|
361
363
|
let pages = this.settings.pages;
|
|
362
364
|
if (username) {
|
|
363
|
-
const users = this.settings.users
|
|
365
|
+
const users = (_c = (_b = this.settings.users) === null || _b === void 0 ? void 0 : _b[username]) === null || _c === void 0 ? void 0 : _c.pages;
|
|
364
366
|
if ((0, types_1.isPlainObject)(users)) {
|
|
365
367
|
pages = (0, types_1.isPlainObject)(pages) ? { ...pages, ...users } : users;
|
|
366
368
|
}
|
|
@@ -408,8 +410,8 @@ class Document extends core_1.Client {
|
|
|
408
410
|
}
|
|
409
411
|
ignoreModules = config.ignoreModules;
|
|
410
412
|
}
|
|
411
|
-
if (this.dataSource.length && !ignoreModules
|
|
412
|
-
const db = (
|
|
413
|
+
if (this.dataSource.length && !(ignoreModules === null || ignoreModules === void 0 ? void 0 : ignoreModules.includes('db'))) {
|
|
414
|
+
const db = (_d = this.module).db || (_d.db = {});
|
|
413
415
|
const handler = db.handler;
|
|
414
416
|
const database = this.dataSource.filter(this.forDb.bind(this));
|
|
415
417
|
let instance;
|
|
@@ -471,7 +473,7 @@ class Document extends core_1.Client {
|
|
|
471
473
|
this._transformConfig = null;
|
|
472
474
|
return;
|
|
473
475
|
}
|
|
474
|
-
switch (algorithm = algorithm
|
|
476
|
+
switch (algorithm = algorithm === null || algorithm === void 0 ? void 0 : algorithm.toLowerCase()) {
|
|
475
477
|
case 'md5':
|
|
476
478
|
case 'sha1':
|
|
477
479
|
case 'sha224':
|
|
@@ -589,11 +591,12 @@ class Document extends core_1.Client {
|
|
|
589
591
|
delete data[name];
|
|
590
592
|
}
|
|
591
593
|
resolveDir(name, ...paths) {
|
|
592
|
-
|
|
594
|
+
var _a, _b;
|
|
595
|
+
let baseDir = (_a = this.settings.directory) === null || _a === void 0 ? void 0 : _a[name];
|
|
593
596
|
if (baseDir) {
|
|
594
597
|
try {
|
|
595
598
|
baseDir = path.resolve(baseDir);
|
|
596
|
-
const username = this.host
|
|
599
|
+
const username = (_b = this.host) === null || _b === void 0 ? void 0 : _b.username;
|
|
597
600
|
let result;
|
|
598
601
|
if (username) {
|
|
599
602
|
const leading = path.join(baseDir, 'users', username);
|
|
@@ -619,14 +622,14 @@ class Document extends core_1.Client {
|
|
|
619
622
|
}
|
|
620
623
|
let result;
|
|
621
624
|
if ((value = value.trim()).startsWith('npm:')) {
|
|
625
|
+
if (!core_1.Client.enabled("node.require.npm")) {
|
|
626
|
+
return null;
|
|
627
|
+
}
|
|
622
628
|
const pkgName = value.substring(4);
|
|
623
629
|
if (persist) {
|
|
624
630
|
result = CACHE_REQUIRE[pkgName];
|
|
625
631
|
}
|
|
626
632
|
if (!result) {
|
|
627
|
-
if (!core_1.Client.enabled("node.require.npm")) {
|
|
628
|
-
return null;
|
|
629
|
-
}
|
|
630
633
|
try {
|
|
631
634
|
if (!persist) {
|
|
632
635
|
delete require.cache[pkgName];
|
|
@@ -648,7 +651,7 @@ class Document extends core_1.Client {
|
|
|
648
651
|
}
|
|
649
652
|
}
|
|
650
653
|
try {
|
|
651
|
-
const source = result || this.readFile(value, { ownPermissionOnly: true, absolutePath: this.hasEval('absolute'), requireExt: true, encoding, cache }) || value;
|
|
654
|
+
const source = (result || this.readFile(value, { ownPermissionOnly: true, absolutePath: this.hasEval('absolute'), requireExt: true, encoding: (0, types_1.getEncoding)(encoding), cache })) || value;
|
|
652
655
|
if (typeof source !== 'string') {
|
|
653
656
|
result = source;
|
|
654
657
|
}
|
|
@@ -669,6 +672,7 @@ class Document extends core_1.Client {
|
|
|
669
672
|
return null;
|
|
670
673
|
}
|
|
671
674
|
findVersion(name, fallback = '') {
|
|
675
|
+
var _a;
|
|
672
676
|
let result;
|
|
673
677
|
const versions = this.module.versions;
|
|
674
678
|
if (versions) {
|
|
@@ -680,7 +684,7 @@ class Document extends core_1.Client {
|
|
|
680
684
|
}
|
|
681
685
|
}
|
|
682
686
|
else {
|
|
683
|
-
result = this.module.versions
|
|
687
|
+
result = (_a = this.module.versions) === null || _a === void 0 ? void 0 : _a[name];
|
|
684
688
|
}
|
|
685
689
|
}
|
|
686
690
|
return result || fallback;
|
|
@@ -710,6 +714,7 @@ class Document extends core_1.Client {
|
|
|
710
714
|
}
|
|
711
715
|
locateSourceFiles(file, code, bundleContent) {
|
|
712
716
|
return (imports = this.imports) => {
|
|
717
|
+
var _a;
|
|
713
718
|
const href = file.uri;
|
|
714
719
|
const sourceFile = [];
|
|
715
720
|
let mainFile, invalid;
|
|
@@ -752,7 +757,7 @@ class Document extends core_1.Client {
|
|
|
752
757
|
invalid = true;
|
|
753
758
|
break;
|
|
754
759
|
}
|
|
755
|
-
sourceFile.push(['', this.resolveImports
|
|
760
|
+
sourceFile.push(['', ((_a = this.resolveImports) === null || _a === void 0 ? void 0 : _a.call(this, item, source, localFile)) || source, localFile]);
|
|
756
761
|
}
|
|
757
762
|
}
|
|
758
763
|
}
|
|
@@ -763,10 +768,11 @@ class Document extends core_1.Client {
|
|
|
763
768
|
}
|
|
764
769
|
resolveSourceFile(file) {
|
|
765
770
|
return (code, imports = this.imports) => {
|
|
771
|
+
var _a;
|
|
766
772
|
const uri = file.uri;
|
|
767
773
|
let source, sourceFile;
|
|
768
774
|
if (code && imports && Object.keys(imports).length) {
|
|
769
|
-
const output = this.resolveImports
|
|
775
|
+
const output = (_a = this.resolveImports) === null || _a === void 0 ? void 0 : _a.call(this, file, code, uri && this.findSourceRoot(uri, imports));
|
|
770
776
|
if (output) {
|
|
771
777
|
source = output;
|
|
772
778
|
}
|
|
@@ -807,20 +813,23 @@ class Document extends core_1.Client {
|
|
|
807
813
|
return item.source !== 'cloud';
|
|
808
814
|
}
|
|
809
815
|
hasEval(name) {
|
|
810
|
-
|
|
816
|
+
var _a;
|
|
817
|
+
return !!((_a = this.module.eval) === null || _a === void 0 ? void 0 : _a[name]);
|
|
811
818
|
}
|
|
812
819
|
settingsOf(name, option) {
|
|
813
|
-
|
|
820
|
+
var _a;
|
|
821
|
+
const options = (_a = this.settings.options) === null || _a === void 0 ? void 0 : _a[name];
|
|
814
822
|
if ((0, types_1.isObject)(options)) {
|
|
815
823
|
return options[option];
|
|
816
824
|
}
|
|
817
825
|
}
|
|
818
826
|
async parseTemplate(viewEngine, template, data) {
|
|
827
|
+
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
819
828
|
let target, stored;
|
|
820
829
|
if (typeof viewEngine === 'string') {
|
|
821
|
-
target = this.settings.view_engine
|
|
822
|
-
const username = this.host
|
|
823
|
-
const userConfig = username && this.settings.users
|
|
830
|
+
target = (_a = this.settings.view_engine) === null || _a === void 0 ? void 0 : _a[viewEngine];
|
|
831
|
+
const username = (_b = this.host) === null || _b === void 0 ? void 0 : _b.username;
|
|
832
|
+
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]);
|
|
824
833
|
if ((0, types_1.isPlainObject)(userConfig)) {
|
|
825
834
|
if ((0, types_1.isPlainObject)(target)) {
|
|
826
835
|
(0, types_1.cloneObject)(userConfig, { target, deep: true, preserve: true });
|
|
@@ -860,7 +869,7 @@ class Document extends core_1.Client {
|
|
|
860
869
|
(0, types_1.coerceObject)(output, stored);
|
|
861
870
|
}
|
|
862
871
|
}
|
|
863
|
-
const username = this.host
|
|
872
|
+
const username = ((_f = this.host) === null || _f === void 0 ? void 0 : _f.username) || '';
|
|
864
873
|
const cache = CACHE_TEMPLATE[name] || (CACHE_TEMPLATE[name] = {});
|
|
865
874
|
const cacheKey = username + core_1.Client.asHash(template + (compile ? core_1.Client.asString(compile) : ''));
|
|
866
875
|
let result = '', render, valid;
|
|
@@ -873,7 +882,7 @@ class Document extends core_1.Client {
|
|
|
873
882
|
}
|
|
874
883
|
for (let i = 0, j = 0, row; i < length; ++i) {
|
|
875
884
|
if ((0, types_1.isPlainObject)(row = data[i])) {
|
|
876
|
-
row.__index__
|
|
885
|
+
(_g = row.__index__) !== null && _g !== void 0 ? _g : (row.__index__ = ++j);
|
|
877
886
|
if (output) {
|
|
878
887
|
row = { ...output, ...row };
|
|
879
888
|
}
|
|
@@ -890,7 +899,7 @@ class Document extends core_1.Client {
|
|
|
890
899
|
}
|
|
891
900
|
}
|
|
892
901
|
}
|
|
893
|
-
return singleRow ? render.call(context, data)
|
|
902
|
+
return singleRow ? (_h = render.call(context, data)) !== null && _h !== void 0 ? _h : null : valid ? result : null;
|
|
894
903
|
}
|
|
895
904
|
catch (err) {
|
|
896
905
|
this.abort('view_engine');
|
|
@@ -899,15 +908,16 @@ class Document extends core_1.Client {
|
|
|
899
908
|
return null;
|
|
900
909
|
}
|
|
901
910
|
async transform(type, code, format, options = {}) {
|
|
902
|
-
var _a;
|
|
911
|
+
var _a, _b, _c, _d;
|
|
912
|
+
var _e;
|
|
903
913
|
let transform = this.settings.transform;
|
|
904
|
-
const data = transform
|
|
914
|
+
const data = transform === null || transform === void 0 ? void 0 : transform[type];
|
|
905
915
|
if (!(0, types_1.isObject)(data)) {
|
|
906
916
|
return;
|
|
907
917
|
}
|
|
908
918
|
format = typeof format === 'string' ? format.trim().split(/\s*\+\s*/) : format.map(item => typeof item === 'string' ? item.trim() : '');
|
|
909
919
|
const moduleName = this.moduleName;
|
|
910
|
-
const username = this.host
|
|
920
|
+
const username = ((_a = this.host) === null || _a === void 0 ? void 0 : _a.username) || '';
|
|
911
921
|
const config = this._transformConfig;
|
|
912
922
|
const cacheData = config && options.cacheData;
|
|
913
923
|
const cacheType = username && core_1.Client.enabled("memory.settings.users", username) ? true : this.cacheDir || core_1.Client.enabled("memory.settings.users");
|
|
@@ -985,7 +995,7 @@ class Document extends core_1.Client {
|
|
|
985
995
|
}
|
|
986
996
|
}
|
|
987
997
|
if (result) {
|
|
988
|
-
result.storedLog
|
|
998
|
+
(_b = result.storedLog) === null || _b === void 0 ? void 0 : _b.forEach(log => this.addLog(log));
|
|
989
999
|
this.formatMessage(4, type, [joinString(cacheName, format.filter(value => value).join(' | '), options.filename), 'cache'], uri, { ...core_1.Client.LOG_STYLE_NOTICE, hintBold: true });
|
|
990
1000
|
return result;
|
|
991
1001
|
}
|
|
@@ -993,11 +1003,11 @@ class Document extends core_1.Client {
|
|
|
993
1003
|
if (cacheData) {
|
|
994
1004
|
delete options.cacheData;
|
|
995
1005
|
}
|
|
996
|
-
const imports = (
|
|
1006
|
+
const imports = (_e = transform).imports || (_e.imports = {});
|
|
997
1007
|
const series = new transform_1.TransformSeries(type, code, options);
|
|
998
1008
|
series.init(this, __dirname);
|
|
999
1009
|
let valid, excluded, userData, userImports, ignoreCache, storedLog, sourceFiles;
|
|
1000
|
-
if (username && (transform = this.settings.users
|
|
1010
|
+
if (username && (transform = (_d = (_c = this.settings.users) === null || _c === void 0 ? void 0 : _c[username]) === null || _d === void 0 ? void 0 : _d.transform)) {
|
|
1001
1011
|
userData = transform[type];
|
|
1002
1012
|
userImports = transform.imports;
|
|
1003
1013
|
}
|
|
@@ -1006,12 +1016,12 @@ class Document extends core_1.Client {
|
|
|
1006
1016
|
this.abort('transform');
|
|
1007
1017
|
};
|
|
1008
1018
|
const includes = (name) => {
|
|
1009
|
-
const include = config
|
|
1010
|
-
if (include === true || include
|
|
1019
|
+
const include = config === null || config === void 0 ? void 0 : config.include[type];
|
|
1020
|
+
if (include === true || (include === null || include === void 0 ? void 0 : include.includes(name))) {
|
|
1011
1021
|
const exclude = config.exclude[type];
|
|
1012
1022
|
return !exclude || exclude === true && include !== true || Array.isArray(exclude) && !exclude.includes(name);
|
|
1013
1023
|
}
|
|
1014
|
-
return cacheData
|
|
1024
|
+
return (cacheData === null || cacheData === void 0 ? void 0 : cacheData.override) === true;
|
|
1015
1025
|
};
|
|
1016
1026
|
for (let i = 0, length = format.length, name; i < length; ++i) {
|
|
1017
1027
|
if (this.aborted) {
|
|
@@ -1130,7 +1140,7 @@ class Document extends core_1.Client {
|
|
|
1130
1140
|
let transformer = CACHE_PACKAGE[plugin + username];
|
|
1131
1141
|
if (!transformer) {
|
|
1132
1142
|
try {
|
|
1133
|
-
let pkg = this.resolveDir('package', plugin + '.js') || userImports
|
|
1143
|
+
let pkg = this.resolveDir('package', plugin + '.js') || (userImports === null || userImports === void 0 ? void 0 : userImports[plugin]) || imports[plugin] || PIR_PLUGINS[plugin];
|
|
1134
1144
|
if (pkg) {
|
|
1135
1145
|
const match = /^(@?\S+)@(\d+(?:\.\d+(?:\.\S+)?)?|[a-z]+)$/.exec(pkg);
|
|
1136
1146
|
if (match) {
|
|
@@ -1198,7 +1208,7 @@ class Document extends core_1.Client {
|
|
|
1198
1208
|
output.map = sourceMap.map;
|
|
1199
1209
|
}
|
|
1200
1210
|
if ((0, types_1.isArray)(series.supplementChunks)) {
|
|
1201
|
-
output.chunks = series.supplementChunks.map(item => ({ code: item.code, map: output.map && item.sourceMap
|
|
1211
|
+
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 }); });
|
|
1202
1212
|
}
|
|
1203
1213
|
if (sourceFiles) {
|
|
1204
1214
|
output.sourceFiles = sourceFiles;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@e-mc/document",
|
|
3
|
-
"version": "0.5.
|
|
3
|
+
"version": "0.5.7",
|
|
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.5.
|
|
24
|
-
"@e-mc/db": "0.5.
|
|
25
|
-
"@e-mc/types": "0.5.
|
|
23
|
+
"@e-mc/core": "0.5.7",
|
|
24
|
+
"@e-mc/db": "0.5.7",
|
|
25
|
+
"@e-mc/types": "0.5.7",
|
|
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
|
@@ -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;
|