xml-disassembler 1.10.3 → 1.10.5

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/dist/index.cjs CHANGED
@@ -45,7 +45,6 @@ typeof SuppressedError === "function" ? SuppressedError : function (error, suppr
45
45
  return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
46
46
  };
47
47
 
48
- const XML_DEFAULT_DECLARATION = '<?xml version="1.0" encoding="UTF-8"?>';
49
48
  const INDENT = " ";
50
49
  const XML_PARSER_OPTION = {
51
50
  commentPropName: "!---",
@@ -60,34 +59,6 @@ const XML_PARSER_OPTION = {
60
59
  };
61
60
  const JSON_PARSER_OPTION = Object.assign(Object.assign({}, XML_PARSER_OPTION), { format: true, indentBy: INDENT, suppressBooleanAttributes: false, suppressEmptyNode: false });
62
61
 
63
- function buildReassembledFile(combinedXmlContents, reassembledPath, xmlElement, xmlRootElementHeader, xmlDeclarationStr) {
64
- return __awaiter(this, void 0, void 0, function* () {
65
- let finalXmlContent = combinedXmlContents.join("\n");
66
- const escapedXmlDeclaration = xmlDeclarationStr.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
67
- const xmlDeclarationLineRegex = new RegExp(`^\\s*${escapedXmlDeclaration}\\s*$`, "gm");
68
- finalXmlContent = finalXmlContent.replace(xmlDeclarationLineRegex, "");
69
- finalXmlContent = finalXmlContent.replace(new RegExp(`<${xmlElement}\\s*[^>]*>`, "g"), "");
70
- finalXmlContent = finalXmlContent.replace(new RegExp(`</${xmlElement}>`, "g"), "");
71
- finalXmlContent = finalXmlContent.replace(/<!\[CDATA\[\s*([\s\S]*?)\s*]]>/g, function (_, cdataContent) {
72
- const trimmedContent = cdataContent.trim();
73
- const lines = trimmedContent.split("\n");
74
- const indentedLines = lines.map(function (line) {
75
- return line.replace(/^\s*/, "");
76
- });
77
- return ("<![CDATA[\n" + INDENT + indentedLines.join("\n" + INDENT) + "\n]]>");
78
- });
79
- finalXmlContent = finalXmlContent.replace(/(\n\s*){2,}/g, `\n${INDENT}`);
80
- const closeTag = `</${xmlElement}>`;
81
- yield promises.writeFile(reassembledPath, `${xmlDeclarationStr}\n${xmlRootElementHeader}${finalXmlContent}${closeTag}`);
82
- logger.debug(`Created reassembled file: ${reassembledPath}`);
83
- });
84
- }
85
-
86
- function buildXMLString(element) {
87
- const xmlBuilder = new fastXmlParser.XMLBuilder(JSON_PARSER_OPTION);
88
- return xmlBuilder.build(element).trimEnd();
89
- }
90
-
91
62
  function stripWhitespaceTextNodes(node) {
92
63
  if (Array.isArray(node)) {
93
64
  return node.map(stripWhitespaceTextNodes).filter((entry) => {
@@ -141,45 +112,10 @@ function parseXML(input_1) {
141
112
  });
142
113
  }
143
114
 
144
- function buildRootElementHeader(rootElement, rootElementName) {
145
- let rootElementHeader = `<${rootElementName}`;
146
- for (const [attrKey, attrValue] of Object.entries(rootElement)) {
147
- if (attrKey.startsWith("@")) {
148
- const cleanAttrKey = attrKey.slice(2);
149
- rootElementHeader += ` ${cleanAttrKey}="${String(attrValue)}"`;
150
- }
151
- }
152
- rootElementHeader += ">";
153
- return rootElementHeader;
154
- }
155
-
156
- function buildXMLDeclaration(parsedXml) {
157
- let xmlDeclarationStr = XML_DEFAULT_DECLARATION;
158
- if (parsedXml["?xml"]) {
159
- const xmlDeclaration = parsedXml["?xml"];
160
- const attributes = Object.entries(xmlDeclaration)
161
- .map(([key, value]) => `${key.replace("@_", "")}="${value}"`)
162
- .join(" ");
163
- xmlDeclarationStr = `<?xml ${attributes}?>`;
164
- }
165
- return xmlDeclarationStr;
166
- }
167
-
168
- function parseRootElement(xmlParsed) {
169
- return __awaiter(this, void 0, void 0, function* () {
170
- const xmlDeclarationStr = buildXMLDeclaration(xmlParsed);
171
- const rootElementName = Object.keys(xmlParsed)[1];
172
- const rootElement = xmlParsed[rootElementName];
173
- const rootElementHeader = buildRootElementHeader(rootElement, rootElementName);
174
- return [rootElementName, rootElementHeader, xmlDeclarationStr];
175
- });
176
- }
177
-
178
115
  class ReassembleXMLFileHandler {
179
116
  processFilesInDirectory(dirPath) {
180
117
  return __awaiter(this, void 0, void 0, function* () {
181
- const combinedXmlContents = [];
182
- let rootResult = undefined;
118
+ const parsedXmlObjects = [];
183
119
  const files = yield promises.readdir(dirPath);
184
120
  files.sort((fileA, fileB) => {
185
121
  const fullNameA = fileA.split(".")[0].toLowerCase();
@@ -194,47 +130,43 @@ class ReassembleXMLFileHandler {
194
130
  const parsedObject = yield this.parseToXmlObject(filePath);
195
131
  if (parsedObject === undefined)
196
132
  continue;
197
- const rootResultFromFile = yield parseRootElement(parsedObject);
198
- rootResult = rootResultFromFile;
199
- const combinedXmlString = buildXMLString(parsedObject);
200
- combinedXmlContents.push(combinedXmlString);
133
+ parsedXmlObjects.push(parsedObject);
201
134
  }
202
135
  }
203
136
  else if (fileStat.isDirectory()) {
204
- const [subCombinedXmlContents, subRootResult] = yield this.processFilesInDirectory(filePath);
205
- combinedXmlContents.push(...subCombinedXmlContents);
206
- rootResult = subRootResult;
137
+ const subParsedObjects = yield this.processFilesInDirectory(filePath);
138
+ parsedXmlObjects.push(...subParsedObjects);
207
139
  }
208
140
  }
209
- return [combinedXmlContents, rootResult];
141
+ return parsedXmlObjects;
210
142
  });
211
143
  }
212
144
  reassemble(xmlAttributes) {
213
145
  return __awaiter(this, void 0, void 0, function* () {
214
146
  const { filePath, fileExtension, postPurge = false } = xmlAttributes;
215
- let combinedXmlContents = [];
216
147
  const fileStat = yield promises.stat(filePath);
217
148
  if (!fileStat.isDirectory()) {
218
149
  logger.error(`The provided path to reassemble is not a directory: ${filePath}`);
219
150
  return;
220
151
  }
221
152
  logger.debug(`Parsing directory to reassemble: ${filePath}`);
222
- const [subCombinedXmlContents, rootResult] = yield this.processFilesInDirectory(filePath);
223
- combinedXmlContents = subCombinedXmlContents;
153
+ const parsedXmlObjects = yield this.processFilesInDirectory(filePath);
154
+ if (!parsedXmlObjects.length) {
155
+ logger.error(`No files under ${filePath} were parsed successfully. A reassembled XML file was not created.`);
156
+ return;
157
+ }
158
+ const mergedXml = mergeXmlElements(parsedXmlObjects);
159
+ const xmlContent = buildXMLString(mergedXml);
160
+ const finalXml = xmlContent;
224
161
  const parentDirectory = posix.dirname(filePath);
225
162
  const subdirectoryBasename = posix.basename(filePath);
226
163
  const fileName = fileExtension
227
164
  ? `${subdirectoryBasename}.${fileExtension}`
228
165
  : `${subdirectoryBasename}.xml`;
229
166
  const outputPath = posix.join(parentDirectory, fileName);
230
- if (rootResult !== undefined) {
231
- const [rootElementName, rootElementHeader, xmlDeclarationStr] = rootResult;
232
- yield buildReassembledFile(combinedXmlContents, outputPath, rootElementName, rootElementHeader, xmlDeclarationStr);
233
- if (postPurge)
234
- yield promises.rm(filePath, { recursive: true });
235
- }
236
- else {
237
- logger.error(`No files under ${filePath} were parsed successfully. A reassembled XML file was not created.`);
167
+ yield promises.writeFile(outputPath, finalXml, "utf-8");
168
+ if (postPurge) {
169
+ yield promises.rm(filePath, { recursive: true });
238
170
  }
239
171
  });
240
172
  }
@@ -264,6 +196,41 @@ class ReassembleXMLFileHandler {
264
196
  });
265
197
  }
266
198
  }
199
+ function mergeXmlElements(elements) {
200
+ if (elements.length === 0)
201
+ throw new Error("No elements to merge.");
202
+ const first = elements[0];
203
+ const rootKey = Object.keys(first).find((k) => k !== "?xml");
204
+ if (!rootKey) {
205
+ throw new Error("No root element found in the provided XML elements.");
206
+ }
207
+ const mergedContent = {};
208
+ for (const element of elements) {
209
+ const current = element[rootKey];
210
+ for (const [childKey, value] of Object.entries(current)) {
211
+ if (Array.isArray(value)) {
212
+ mergedContent[childKey] = mergedContent[childKey]
213
+ ? mergedContent[childKey].concat(value)
214
+ : [...value];
215
+ }
216
+ else if (typeof value === "object") {
217
+ mergedContent[childKey] = mergedContent[childKey]
218
+ ? [].concat(mergedContent[childKey], value)
219
+ : [value];
220
+ }
221
+ else {
222
+ if (!mergedContent.hasOwnProperty(childKey)) {
223
+ mergedContent[childKey] = value;
224
+ }
225
+ }
226
+ }
227
+ }
228
+ const declaration = first["?xml"];
229
+ const finalMerged = declaration
230
+ ? { "?xml": declaration, [rootKey]: mergedContent }
231
+ : { [rootKey]: mergedContent };
232
+ return finalMerged;
233
+ }
267
234
 
268
235
  function parseUniqueIdElement(element, uniqueIdElements) {
269
236
  if (uniqueIdElements === undefined) {
@@ -294,6 +261,11 @@ function createShortHash(element) {
294
261
  return fullHash.slice(0, 8);
295
262
  }
296
263
 
264
+ function buildXMLString(element) {
265
+ const xmlBuilder = new fastXmlParser.XMLBuilder(JSON_PARSER_OPTION);
266
+ return xmlBuilder.build(element).trimEnd();
267
+ }
268
+
297
269
  function transformToYaml(xmlPath) {
298
270
  return __awaiter(this, void 0, void 0, function* () {
299
271
  const parsedXml = yield parseXML(xmlPath);
@@ -357,7 +329,7 @@ function getTransformer(format) {
357
329
  }
358
330
  }
359
331
 
360
- function buildNestedFile(element, disassembledPath, uniqueIdElements, rootElementName, rootAttributes, parentKey, xmlDeclarationStr, format) {
332
+ function buildNestedFile(element, disassembledPath, uniqueIdElements, rootElementName, rootAttributes, parentKey, xmlDeclaration, format) {
361
333
  return __awaiter(this, void 0, void 0, function* () {
362
334
  const fieldName = parseUniqueIdElement(element, uniqueIdElements);
363
335
  const outputDirectory = posix.join(disassembledPath, parentKey);
@@ -365,9 +337,10 @@ function buildNestedFile(element, disassembledPath, uniqueIdElements, rootElemen
365
337
  const outputPath = posix.join(outputDirectory, outputFileName);
366
338
  yield promises.mkdir(outputDirectory, { recursive: true });
367
339
  const finalXml = {
340
+ "?xml": xmlDeclaration,
368
341
  [rootElementName]: Object.assign(Object.assign({}, rootAttributes), { [parentKey]: element }),
369
342
  };
370
- const serialized = `${xmlDeclarationStr}\n${buildXMLString(finalXml)}`;
343
+ const serialized = `${buildXMLString(finalXml)}`;
371
344
  yield promises.writeFile(outputPath, serialized);
372
345
  logger.debug(`Created disassembled file: ${outputPath}`);
373
346
  const transformer = getTransformer(format);
@@ -380,9 +353,9 @@ function buildNestedFile(element, disassembledPath, uniqueIdElements, rootElemen
380
353
 
381
354
  function parseElement$1(params) {
382
355
  return __awaiter(this, void 0, void 0, function* () {
383
- const { element, disassembledPath, uniqueIdElements, rootElementName, rootAttributes, key, leafCount, hasNestedElements, xmlDeclarationStr, format, } = params;
356
+ const { element, disassembledPath, uniqueIdElements, rootElementName, rootAttributes, key, leafCount, hasNestedElements, xmlDeclaration, format, } = params;
384
357
  if (typeof element === "object" && element !== null) {
385
- yield buildNestedFile(element, disassembledPath, uniqueIdElements, rootElementName, rootAttributes, key, xmlDeclarationStr, format);
358
+ yield buildNestedFile(element, disassembledPath, uniqueIdElements, rootElementName, rootAttributes, key, xmlDeclaration, format);
386
359
  return [{}, leafCount, true];
387
360
  }
388
361
  const leafContent = {
@@ -392,14 +365,15 @@ function parseElement$1(params) {
392
365
  });
393
366
  }
394
367
 
395
- function buildLeafFile(leafContent, disassembledPath, baseName, rootElementName, rootAttributes, xmlDeclarationStr, format) {
368
+ function buildLeafFile(leafContent, disassembledPath, baseName, rootElementName, rootAttributes, xmlDeclaration, format) {
396
369
  return __awaiter(this, void 0, void 0, function* () {
397
370
  const leafOutputPath = posix.join(disassembledPath, `${baseName}.xml`);
398
371
  yield promises.mkdir(disassembledPath, { recursive: true });
399
372
  const wrappedXml = {
373
+ "?xml": xmlDeclaration,
400
374
  [rootElementName]: Object.assign(Object.assign({}, rootAttributes), leafContent),
401
375
  };
402
- const serialized = `${xmlDeclarationStr}\n${buildXMLString(wrappedXml)}`;
376
+ const serialized = `${buildXMLString(wrappedXml)}`;
403
377
  yield promises.writeFile(leafOutputPath, serialized);
404
378
  logger.debug(`Created disassembled file: ${leafOutputPath}`);
405
379
  const transformer = getTransformer(format);
@@ -425,8 +399,18 @@ function buildDisassembledFiles$1(filePath, disassembledPath, uniqueIdElements,
425
399
  const parsedXml = yield parseXML(filePath);
426
400
  if (parsedXml === undefined)
427
401
  return;
428
- const rootElementName = Object.keys(parsedXml)[1];
429
- const xmlDeclarationStr = buildXMLDeclaration(parsedXml);
402
+ const rawDeclaration = parsedXml["?xml"];
403
+ const xmlDeclaration = typeof rawDeclaration === "object" && rawDeclaration !== null
404
+ ? rawDeclaration
405
+ : {
406
+ "@_version": "1.0",
407
+ "@_encoding": "UTF-8",
408
+ };
409
+ const rootElementName = Object.keys(parsedXml).find((k) => k !== "?xml");
410
+ if (!rootElementName) {
411
+ logger.error(`Failed to identify root element in ${filePath}`);
412
+ return;
413
+ }
430
414
  const rootElement = parsedXml[rootElementName];
431
415
  const rootAttributes = extractRootAttributes(rootElement);
432
416
  let leafContent = {};
@@ -446,7 +430,7 @@ function buildDisassembledFiles$1(filePath, disassembledPath, uniqueIdElements,
446
430
  key,
447
431
  leafCount,
448
432
  hasNestedElements,
449
- xmlDeclarationStr,
433
+ xmlDeclaration,
450
434
  format,
451
435
  });
452
436
  const newContent = parsedLeafContent[key];
@@ -471,7 +455,7 @@ function buildDisassembledFiles$1(filePath, disassembledPath, uniqueIdElements,
471
455
  return;
472
456
  }
473
457
  if (leafCount > 0) {
474
- yield buildLeafFile(leafContent, disassembledPath, baseName, rootElementName, rootAttributes, xmlDeclarationStr, format);
458
+ yield buildLeafFile(leafContent, disassembledPath, baseName, rootElementName, rootAttributes, xmlDeclaration, format);
475
459
  }
476
460
  if (postPurge) {
477
461
  yield promises.unlink(filePath);
@@ -509,14 +493,15 @@ function parseElement(params) {
509
493
  });
510
494
  }
511
495
 
512
- function buildGroupedNestedFile(tag, elements, disassembledPath, rootElementName, rootAttributes, xmlDeclarationStr, format) {
496
+ function buildGroupedNestedFile(tag, elements, disassembledPath, rootElementName, rootAttributes, xmlDeclaration, format) {
513
497
  return __awaiter(this, void 0, void 0, function* () {
514
498
  const outputPath = posix.join(disassembledPath, `${tag}.xml`);
515
499
  yield promises.mkdir(disassembledPath, { recursive: true });
516
500
  const rootElement = {
501
+ "?xml": xmlDeclaration,
517
502
  [rootElementName]: Object.assign(Object.assign({}, rootAttributes), { [tag]: elements }),
518
503
  };
519
- const serialized = `${xmlDeclarationStr}\n${buildXMLString(rootElement)}`;
504
+ const serialized = `${buildXMLString(rootElement)}`;
520
505
  yield promises.writeFile(outputPath, serialized);
521
506
  logger.debug(`Created grouped nested file: ${outputPath}`);
522
507
  const transformer = getTransformer(format);
@@ -542,15 +527,25 @@ function buildDisassembledFiles(filePath, disassembledPath, baseName, postPurge,
542
527
  const parsedXml = yield parseXML(filePath);
543
528
  if (parsedXml === undefined)
544
529
  return;
545
- const rootElementName = Object.keys(parsedXml)[1];
546
- const xmlDeclarationStr = buildXMLDeclaration(parsedXml);
530
+ const rawDeclaration = parsedXml["?xml"];
531
+ const xmlDeclaration = typeof rawDeclaration === "object" && rawDeclaration !== null
532
+ ? rawDeclaration
533
+ : {
534
+ "@_version": "1.0",
535
+ "@_encoding": "UTF-8",
536
+ };
537
+ const rootElementName = Object.keys(parsedXml).find((k) => k !== "?xml");
538
+ if (!rootElementName) {
539
+ logger.error(`Failed to identify root element in ${filePath}`);
540
+ return;
541
+ }
547
542
  const rootElement = parsedXml[rootElementName];
548
543
  const rootAttributes = extractRootAttributes(rootElement);
549
544
  let leafContent = {};
550
545
  let leafCount = 0;
551
546
  let hasNestedElements = false;
552
547
  const nestedGroups = {};
553
- const keyOrder = Object.keys(parsedXml[rootElementName]).filter((k) => !k.startsWith("@"));
548
+ const keyOrder = Object.keys(rootElement).filter((k) => !k.startsWith("@"));
554
549
  for (const key of keyOrder) {
555
550
  const elements = Array.isArray(rootElement[key])
556
551
  ? rootElement[key]
@@ -590,11 +585,11 @@ function buildDisassembledFiles(filePath, disassembledPath, baseName, postPurge,
590
585
  return;
591
586
  }
592
587
  for (const tag in nestedGroups) {
593
- yield buildGroupedNestedFile(tag, nestedGroups[tag], disassembledPath, rootElementName, rootAttributes, xmlDeclarationStr, format);
588
+ yield buildGroupedNestedFile(tag, nestedGroups[tag], disassembledPath, rootElementName, rootAttributes, xmlDeclaration, format);
594
589
  }
595
590
  if (leafCount > 0) {
596
591
  const orderedLeafContent = orderXmlElementKeys(leafContent, keyOrder);
597
- yield buildLeafFile(orderedLeafContent, disassembledPath, baseName, rootElementName, rootAttributes, xmlDeclarationStr, format);
592
+ yield buildLeafFile(orderedLeafContent, disassembledPath, baseName, rootElementName, rootAttributes, xmlDeclaration, format);
598
593
  }
599
594
  if (postPurge) {
600
595
  yield promises.unlink(filePath);
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":["../node_modules/.pnpm/@rollup+plugin-typescript@12.1.2_rollup@4.40.2_tslib@2.8.1_typescript@5.8.3/node_modules/tslib/tslib.es6.js","../src/constants/constants.ts","../src/builders/buildReassembledFiles.ts","../src/builders/buildXMLString.ts","../src/parsers/stripWhitespace.ts","../src/parsers/parseXML.ts","../src/builders/buildRootElementHeader.ts","../src/builders/buildXmlDeclaration.ts","../src/parsers/parseRootElement.ts","../src/handlers/reassembleXMLFileHandler.ts","../src/parsers/strategies/uid/parseUniqueIdElements.ts","../src/transformers/transformers.ts","../src/transformers/getTransformer.ts","../src/builders/strategies/uid/buildNestedFiles.ts","../src/parsers/strategies/uid/parseElement.ts","../src/builders/buildLeafFile.ts","../src/builders/extractRootAttributes.ts","../src/builders/strategies/uid/buildDisassembledFiles.ts","../src/parsers/strategies/grouped-by-tag/parseElement.ts","../src/builders/strategies/grouped-by-tag/buildGroupNestedFile.ts","../src/builders/strategies/grouped-by-tag/buildDisassembledFiles.ts","../src/handlers/disassembleXMLFileHandler.ts","../src/index.ts"],"sourcesContent":["/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.unshift(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.unshift(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\r\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\r\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nvar ownKeys = function(o) {\r\n ownKeys = Object.getOwnPropertyNames || function (o) {\r\n var ar = [];\r\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\r\n return ar;\r\n };\r\n return ownKeys(o);\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n\r\nexport function __addDisposableResource(env, value, async) {\r\n if (value !== null && value !== void 0) {\r\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\r\n var dispose, inner;\r\n if (async) {\r\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\r\n dispose = value[Symbol.asyncDispose];\r\n }\r\n if (dispose === void 0) {\r\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\r\n dispose = value[Symbol.dispose];\r\n if (async) inner = dispose;\r\n }\r\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\r\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\r\n env.stack.push({ value: value, dispose: dispose, async: async });\r\n }\r\n else if (async) {\r\n env.stack.push({ async: true });\r\n }\r\n return value;\r\n\r\n}\r\n\r\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\r\n\r\nexport function __disposeResources(env) {\r\n function fail(e) {\r\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\r\n env.hasError = true;\r\n }\r\n var r, s = 0;\r\n function next() {\r\n while (r = env.stack.pop()) {\r\n try {\r\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\r\n if (r.dispose) {\r\n var result = r.dispose.call(r.value);\r\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\r\n }\r\n else s |= 1;\r\n }\r\n catch (e) {\r\n fail(e);\r\n }\r\n }\r\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\r\n if (env.hasError) throw env.error;\r\n }\r\n return next();\r\n}\r\n\r\nexport function __rewriteRelativeImportExtension(path, preserveJsx) {\r\n if (typeof path === \"string\" && /^\\.\\.?\\//.test(path)) {\r\n return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {\r\n return tsx ? preserveJsx ? \".jsx\" : \".js\" : d && (!ext || !cm) ? m : (d + ext + \".\" + cm.toLowerCase() + \"js\");\r\n });\r\n }\r\n return path;\r\n}\r\n\r\nexport default {\r\n __extends: __extends,\r\n __assign: __assign,\r\n __rest: __rest,\r\n __decorate: __decorate,\r\n __param: __param,\r\n __esDecorate: __esDecorate,\r\n __runInitializers: __runInitializers,\r\n __propKey: __propKey,\r\n __setFunctionName: __setFunctionName,\r\n __metadata: __metadata,\r\n __awaiter: __awaiter,\r\n __generator: __generator,\r\n __createBinding: __createBinding,\r\n __exportStar: __exportStar,\r\n __values: __values,\r\n __read: __read,\r\n __spread: __spread,\r\n __spreadArrays: __spreadArrays,\r\n __spreadArray: __spreadArray,\r\n __await: __await,\r\n __asyncGenerator: __asyncGenerator,\r\n __asyncDelegator: __asyncDelegator,\r\n __asyncValues: __asyncValues,\r\n __makeTemplateObject: __makeTemplateObject,\r\n __importStar: __importStar,\r\n __importDefault: __importDefault,\r\n __classPrivateFieldGet: __classPrivateFieldGet,\r\n __classPrivateFieldSet: __classPrivateFieldSet,\r\n __classPrivateFieldIn: __classPrivateFieldIn,\r\n __addDisposableResource: __addDisposableResource,\r\n __disposeResources: __disposeResources,\r\n __rewriteRelativeImportExtension: __rewriteRelativeImportExtension,\r\n};\r\n",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["writeFile","XMLBuilder","XMLParser","readFile","readdir","join","stat","dirname","basename","rm","parseYaml","parseJson5","parseToml","parseIni","createHash","stringifyYaml","stringifyJson5","stringifyToml","stringifyIni","mkdir","parseElement","buildDisassembledFiles","unlink","resolve","existsSync","relative","extname","buildDissassembledFilesTag","buildDisassembledFilesUID","getLogger","configure"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index.cjs","sources":["../node_modules/.pnpm/@rollup+plugin-typescript@12.1.2_rollup@4.40.2_tslib@2.8.1_typescript@5.8.3/node_modules/tslib/tslib.es6.js","../src/constants/constants.ts","../src/parsers/stripWhitespace.ts","../src/parsers/parseXML.ts","../src/handlers/reassembleXMLFileHandler.ts","../src/parsers/strategies/uid/parseUniqueIdElements.ts","../src/builders/buildXMLString.ts","../src/transformers/transformers.ts","../src/transformers/getTransformer.ts","../src/builders/strategies/uid/buildNestedFiles.ts","../src/parsers/strategies/uid/parseElement.ts","../src/builders/buildLeafFile.ts","../src/builders/extractRootAttributes.ts","../src/builders/strategies/uid/buildDisassembledFiles.ts","../src/parsers/strategies/grouped-by-tag/parseElement.ts","../src/builders/strategies/grouped-by-tag/buildGroupNestedFile.ts","../src/builders/strategies/grouped-by-tag/buildDisassembledFiles.ts","../src/handlers/disassembleXMLFileHandler.ts","../src/index.ts"],"sourcesContent":["/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.unshift(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.unshift(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\r\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\r\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nvar ownKeys = function(o) {\r\n ownKeys = Object.getOwnPropertyNames || function (o) {\r\n var ar = [];\r\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\r\n return ar;\r\n };\r\n return ownKeys(o);\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n\r\nexport function __addDisposableResource(env, value, async) {\r\n if (value !== null && value !== void 0) {\r\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\r\n var dispose, inner;\r\n if (async) {\r\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\r\n dispose = value[Symbol.asyncDispose];\r\n }\r\n if (dispose === void 0) {\r\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\r\n dispose = value[Symbol.dispose];\r\n if (async) inner = dispose;\r\n }\r\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\r\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\r\n env.stack.push({ value: value, dispose: dispose, async: async });\r\n }\r\n else if (async) {\r\n env.stack.push({ async: true });\r\n }\r\n return value;\r\n\r\n}\r\n\r\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\r\n\r\nexport function __disposeResources(env) {\r\n function fail(e) {\r\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\r\n env.hasError = true;\r\n }\r\n var r, s = 0;\r\n function next() {\r\n while (r = env.stack.pop()) {\r\n try {\r\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\r\n if (r.dispose) {\r\n var result = r.dispose.call(r.value);\r\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\r\n }\r\n else s |= 1;\r\n }\r\n catch (e) {\r\n fail(e);\r\n }\r\n }\r\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\r\n if (env.hasError) throw env.error;\r\n }\r\n return next();\r\n}\r\n\r\nexport function __rewriteRelativeImportExtension(path, preserveJsx) {\r\n if (typeof path === \"string\" && /^\\.\\.?\\//.test(path)) {\r\n return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {\r\n return tsx ? preserveJsx ? \".jsx\" : \".js\" : d && (!ext || !cm) ? m : (d + ext + \".\" + cm.toLowerCase() + \"js\");\r\n });\r\n }\r\n return path;\r\n}\r\n\r\nexport default {\r\n __extends: __extends,\r\n __assign: __assign,\r\n __rest: __rest,\r\n __decorate: __decorate,\r\n __param: __param,\r\n __esDecorate: __esDecorate,\r\n __runInitializers: __runInitializers,\r\n __propKey: __propKey,\r\n __setFunctionName: __setFunctionName,\r\n __metadata: __metadata,\r\n __awaiter: __awaiter,\r\n __generator: __generator,\r\n __createBinding: __createBinding,\r\n __exportStar: __exportStar,\r\n __values: __values,\r\n __read: __read,\r\n __spread: __spread,\r\n __spreadArrays: __spreadArrays,\r\n __spreadArray: __spreadArray,\r\n __await: __await,\r\n __asyncGenerator: __asyncGenerator,\r\n __asyncDelegator: __asyncDelegator,\r\n __asyncValues: __asyncValues,\r\n __makeTemplateObject: __makeTemplateObject,\r\n __importStar: __importStar,\r\n __importDefault: __importDefault,\r\n __classPrivateFieldGet: __classPrivateFieldGet,\r\n __classPrivateFieldSet: __classPrivateFieldSet,\r\n __classPrivateFieldIn: __classPrivateFieldIn,\r\n __addDisposableResource: __addDisposableResource,\r\n __disposeResources: __disposeResources,\r\n __rewriteRelativeImportExtension: __rewriteRelativeImportExtension,\r\n};\r\n",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["XMLParser","readFile","readdir","join","stat","dirname","basename","writeFile","rm","parseYaml","parseJson5","parseToml","parseIni","createHash","XMLBuilder","stringifyYaml","stringifyJson5","stringifyToml","stringifyIni","mkdir","parseElement","buildDisassembledFiles","unlink","resolve","existsSync","relative","extname","buildDissassembledFilesTag","buildDisassembledFilesUID","getLogger","configure"],"mappings":"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","x_google_ignoreList":[0]}
@@ -1,2 +1,2 @@
1
- "use strict";var e=require("log4js"),t=require("node:fs/promises"),i=require("node:path/posix"),n=require("yaml"),r=require("json5"),s=require("smol-toml"),o=require("ini"),l=require("node:fs"),a=require("node:path"),c=require("ignore"),d=require("node:crypto"),u=require("fast-xml-parser");function f(e,t,i,n){return new(i||(i=Promise))((function(r,s){function o(e){try{a(n.next(e))}catch(e){s(e)}}function l(e){try{a(n.throw(e))}catch(e){s(e)}}function a(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(o,l)}a((n=n.apply(e,t||[])).next())}))}"function"==typeof SuppressedError&&SuppressedError;const m=" ",y={commentPropName:"!---",ignoreAttributes:!1,ignoreNameSpace:!1,parseTagValue:!1,parseNodeValue:!1,parseAttributeValue:!1,trimValues:!1,processEntities:!1,cdataPropName:"![CDATA["},p=Object.assign(Object.assign({},y),{format:!0,indentBy:m,suppressBooleanAttributes:!1,suppressEmptyNode:!1});function h(e){return new u.XMLBuilder(p).build(e).trimEnd()}function g(e){if(Array.isArray(e))return e.map(g).filter((e=>!("object"==typeof e&&0===Object.keys(e).length)));if("object"==typeof e&&null!==e){const t={};for(const i in e){const n=e[i];if("#text"===i&&"string"==typeof n&&""===n.trim())continue;const r=g(n);void 0!==r&&(t[i]=r)}return t}return e}function v(e){return f(this,arguments,void 0,(function*(e,i=!1){const n=new u.XMLParser(y);let r;if(i)r=e;else try{r=yield t.readFile(e,"utf-8")}catch(t){return void S.error(`${e} could not be read. Check if the file exists and is accessible.`)}try{const e=n.parse(r,!0);return g(e)}catch(t){return void S.error(`${i?"Provided XML string":e} could not be parsed. Confirm formatting and try again.`)}}))}function b(e){let t='<?xml version="1.0" encoding="UTF-8"?>';if(e["?xml"]){const i=e["?xml"];t=`<?xml ${Object.entries(i).map((([e,t])=>`${e.replace("@_","")}="${t}"`)).join(" ")}?>`}return t}function $(e){return f(this,void 0,void 0,(function*(){const t=b(e),i=Object.keys(e)[1],n=function(e,t){let i=`<${t}`;for(const[t,n]of Object.entries(e))t.startsWith("@")&&(i+=` ${t.slice(2)}="${String(n)}"`);return i+=">",i}(e[i],i);return[i,n,t]}))}function x(e,t){if(void 0===t)return j(e);const i=t.split(",");for(const t of i)if(void 0!==e[t]&&"string"==typeof e[t])return e[t];for(const i in e)if("object"==typeof e[i]&&null!==e[i]){const n=x(e[i],t);if(void 0!==n)return n}return j(e)}function j(e){const t=d.createHash("sha256");t.update(JSON.stringify(e));return t.digest("hex").slice(0,8)}function P(e){return f(this,void 0,void 0,(function*(){const i=yield v(e),r=n.stringify(i),s=e.replace(/\.xml$/,".yaml");yield t.writeFile(s,r),S.debug(`${e} has been transformed into ${s}`)}))}function w(e){return f(this,void 0,void 0,(function*(){const i=yield v(e),n=r.stringify(i,null,2),s=e.replace(/\.xml$/,".json5");yield t.writeFile(s,n),S.debug(`${e} has been transformed into ${s}`)}))}function A(e){return f(this,void 0,void 0,(function*(){const i=yield v(e),n=JSON.stringify(i,null,2),r=e.replace(/\.xml$/,".json");yield t.writeFile(r,n),S.debug(`${e} has been transformed into ${r}`)}))}function F(e){return f(this,void 0,void 0,(function*(){const i=yield v(e),n=s.stringify(i),r=e.replace(/\.xml$/,".toml");yield t.writeFile(r,n),S.debug(`${e} has been transformed into ${r}`)}))}function C(e){return f(this,void 0,void 0,(function*(){const i=yield v(e),n=o.stringify(i),r=e.replace(/\.xml$/,".ini");yield t.writeFile(r,n),S.debug(`${e} has been transformed into ${r}`)}))}function E(e){switch(e){case"yaml":return P;case"json5":return w;case"json":return A;case"toml":return F;case"ini":return C;default:return}}function O(e,n,r,s,o,l,a,c){return f(this,void 0,void 0,(function*(){const d=x(e,r),u=i.join(n,l),f=`${d}.${l}-meta.xml`,m=i.join(u,f);yield t.mkdir(u,{recursive:!0});const y={[s]:Object.assign(Object.assign({},o),{[l]:e})},p=`${a}\n${h(y)}`;yield t.writeFile(m,p),S.debug(`Created disassembled file: ${m}`);const g=E(c);g&&(yield g(m),yield t.rm(m))}))}function q(e){return f(this,void 0,void 0,(function*(){const{element:t,disassembledPath:i,uniqueIdElements:n,rootElementName:r,rootAttributes:s,key:o,leafCount:l,hasNestedElements:a,xmlDeclarationStr:c,format:d}=e;if("object"==typeof t&&null!==t)return yield O(t,i,n,r,s,o,c,d),[{},l,!0];return[{[o]:t},l+1,a]}))}function T(e,n,r,s,o,l,a){return f(this,void 0,void 0,(function*(){const c=i.join(n,`${r}.xml`);yield t.mkdir(n,{recursive:!0});const d={[s]:Object.assign(Object.assign({},o),e)},u=`${l}\n${h(d)}`;yield t.writeFile(c,u),S.debug(`Created disassembled file: ${c}`);const f=E(a);f&&(yield f(c),yield t.rm(c))}))}function k(e){const t={};for(const[i,n]of Object.entries(e))i.startsWith("@")&&(t[i]=n);return t}function N(e){return f(this,void 0,void 0,(function*(){const{element:t,key:i,hasNestedElements:n}=e,r={},s=Array.isArray(t),o="object"==typeof t&&null!==t&&Object.keys(t).length>1;if(s||o)return r[i]=[t],{leafContent:{},leafCount:e.leafCount,hasNestedElements:!0,nestedGroups:r};return{leafContent:{[i]:t},leafCount:e.leafCount+1,hasNestedElements:n,nestedGroups:r}}))}function L(e,n,r,s,o,l,a){return f(this,void 0,void 0,(function*(){const c=i.join(r,`${e}.xml`);yield t.mkdir(r,{recursive:!0});const d={[s]:Object.assign(Object.assign({},o),{[e]:n})},u=`${l}\n${h(d)}`;yield t.writeFile(c,u),S.debug(`Created grouped nested file: ${c}`);const f=E(a);f&&(yield f(c),yield t.rm(c))}))}const S=e.getLogger();e.configure({appenders:{disassemble:{type:"file",filename:"disassemble.log"}},categories:{default:{appenders:["disassemble"],level:"error"}}}),exports.DisassembleXMLFileHandler=class{constructor(){this.ign=c()}disassemble(e){return f(this,void 0,void 0,(function*(){const{filePath:i,uniqueIdElements:n,strategy:r="unique-id",prePurge:s=!1,postPurge:o=!1,ignorePath:c=".xmldisassemblerignore",format:d="xml"}=e,u=a.resolve(c);if(l.existsSync(u)){const e=yield t.readFile(u);this.ign.add(e.toString())}const f=yield t.stat(i),m=this.posixPath(a.relative(process.cwd(),i));if(f.isFile()){const e=a.resolve(i);if(!e.endsWith(".xml"))return void S.error(`The file path provided is not an XML file: ${e}`);if(this.ign.ignores(m))return void S.warn(`File ignored by ${c}: ${e}`);const t=a.dirname(e);yield this.processFile({dirPath:t,strategy:r,filePath:e,uniqueIdElements:n,prePurge:s,postPurge:o,format:d})}else if(f.isDirectory()){const e=yield t.readdir(i);for(const t of e){const e=a.join(i,t),l=this.posixPath(a.relative(process.cwd(),e));e.endsWith(".xml")&&!this.ign.ignores(l)?yield this.processFile({dirPath:i,strategy:r,filePath:e,uniqueIdElements:n,prePurge:s,postPurge:o,format:d}):this.ign.ignores(l)&&S.warn(`File ignored by ${c}: ${e}`)}}}))}processFile(e){return f(this,void 0,void 0,(function*(){const{dirPath:i,strategy:n,filePath:r,uniqueIdElements:s,prePurge:o,postPurge:c,format:d}=e;S.debug(`Parsing file to disassemble: ${r}`);const u=a.basename(r,a.extname(r)),m=u.split(".")[0];let y;y=a.join(i,m),o&&l.existsSync(y)&&(yield t.rm(y,{recursive:!0})),"grouped-by-tag"===n?yield function(e,i,n,r,s){return f(this,void 0,void 0,(function*(){var o;const l=yield v(e);if(void 0===l)return;const a=Object.keys(l)[1],c=b(l),d=l[a],u=k(d);let f={},m=0,y=!1;const p={},h=Object.keys(l[a]).filter((e=>!e.startsWith("@")));for(const e of h){const t=Array.isArray(d[e])?d[e]:[d[e]];for(const i of t){const t=yield N({element:i,key:e,leafCount:m,hasNestedElements:y});if(Object.keys(t.leafContent).length>0){const i=t.leafContent[e];if(void 0!==i){const t=f[e],n=Array.isArray(t)?t:void 0!==t?[t]:[],r=Array.isArray(i)?i:[i];f[e]=[...n,...r]}}m=t.leafCount,y=t.hasNestedElements;for(const e in t.nestedGroups)p[e]||(p[e]=[]),p[e].push(...null!==(o=t.nestedGroups[e])&&void 0!==o?o:[])}}if(!y&&m>0)S.error(`The XML file ${e} only has leaf elements. This file will not be disassembled.`);else{for(const e in p)yield L(e,p[e],i,a,u,c,s);if(m>0){const e=function(e,t){const i={};for(const n of t)void 0!==e[n]&&(i[n]=e[n]);return i}(f,h);yield T(e,i,n,a,u,c,s)}r&&(yield t.unlink(e))}}))}(r,y,u,c,d):yield function(e,i,n,r,s,o){return f(this,void 0,void 0,(function*(){const l=yield v(e);if(void 0===l)return;const a=Object.keys(l)[1],c=b(l),d=l[a],u=k(d);let f={},m=0,y=!1;for(const e of Object.keys(d).filter((e=>!e.startsWith("@")))){const t=Array.isArray(d[e])?d[e]:[d[e]];for(const r of t){const[t,s,l]=yield q({element:r,disassembledPath:i,uniqueIdElements:n,rootElementName:a,rootAttributes:u,key:e,leafCount:m,hasNestedElements:y,xmlDeclarationStr:c,format:o}),d=t[e];if(void 0!==d){const t=f[e],i=Array.isArray(t)?t:void 0!==t?[t]:[],n=Array.isArray(d)?d:[d];f[e]=[...i,...n]}m=s,y=l}}y?(m>0&&(yield T(f,i,r,a,u,c,o)),s&&(yield t.unlink(e))):S.error(`The XML file ${e} only has leaf elements. This file will not be disassembled.`)}))}(r,y,s,u,c,d)}))}posixPath(e){return e.replace(/\\+/g,"/")}},exports.ReassembleXMLFileHandler=class{processFilesInDirectory(e){return f(this,void 0,void 0,(function*(){const n=[];let r;const s=yield t.readdir(e);s.sort(((e,t)=>{const i=e.split(".")[0].toLowerCase(),n=t.split(".")[0].toLowerCase();return i.localeCompare(n)}));for(const o of s){const s=i.join(e,o),l=yield t.stat(s);if(l.isFile()){if(/\.(xml|json|json5|ya?ml|toml|ini)$/.test(o)){const e=yield this.parseToXmlObject(s);if(void 0===e)continue;r=yield $(e);const t=h(e);n.push(t)}}else if(l.isDirectory()){const[e,t]=yield this.processFilesInDirectory(s);n.push(...e),r=t}}return[n,r]}))}reassemble(e){return f(this,void 0,void 0,(function*(){const{filePath:n,fileExtension:r,postPurge:s=!1}=e;let o=[];if(!(yield t.stat(n)).isDirectory())return void S.error(`The provided path to reassemble is not a directory: ${n}`);S.debug(`Parsing directory to reassemble: ${n}`);const[l,a]=yield this.processFilesInDirectory(n);o=l;const c=i.dirname(n),d=i.basename(n),u=r?`${d}.${r}`:`${d}.xml`,y=i.join(c,u);if(void 0!==a){const[e,i,r]=a;yield function(e,i,n,r,s){return f(this,void 0,void 0,(function*(){let o=e.join("\n");const l=s.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),a=new RegExp(`^\\s*${l}\\s*$`,"gm");o=o.replace(a,""),o=o.replace(new RegExp(`<${n}\\s*[^>]*>`,"g"),""),o=o.replace(new RegExp(`</${n}>`,"g"),""),o=o.replace(/<!\[CDATA\[\s*([\s\S]*?)\s*]]>/g,(function(e,t){const i=t.trim().split("\n").map((function(e){return e.replace(/^\s*/,"")}));return"<![CDATA[\n"+m+i.join("\n"+m)+"\n]]>"})),o=o.replace(/(\n\s*){2,}/g,`\n${m}`);const c=`</${n}>`;yield t.writeFile(i,`${s}\n${r}${o}${c}`),S.debug(`Created reassembled file: ${i}`)}))}(o,y,e,i,r),s&&(yield t.rm(n,{recursive:!0}))}else S.error(`No files under ${n} were parsed successfully. A reassembled XML file was not created.`)}))}parseToXmlObject(e){return f(this,void 0,void 0,(function*(){if(e.endsWith(".xml"))return yield v(e);const i=yield t.readFile(e,"utf-8");let l;return e.endsWith(".yaml")||e.endsWith(".yml")?l=n.parse(i):e.endsWith(".json5")?l=r.parse(i):e.endsWith(".json")?l=JSON.parse(i):e.endsWith(".toml")?l=s.parse(i):e.endsWith(".ini")&&(l=o.parse(i)),l}))}},exports.buildXMLString=h,exports.logger=S,exports.parseXML=v,exports.setLogLevel=function(t){e.getLogger().level=t},exports.transformToIni=C,exports.transformToJson=A,exports.transformToJson5=w,exports.transformToToml=F,exports.transformToYaml=P;
1
+ "use strict";var e=require("log4js"),t=require("node:fs/promises"),i=require("node:path/posix"),r=require("yaml"),n=require("json5"),o=require("smol-toml"),s=require("ini"),l=require("node:fs"),d=require("node:path"),a=require("ignore"),c=require("node:crypto"),u=require("fast-xml-parser");function f(e,t,i,r){return new(i||(i=Promise))((function(n,o){function s(e){try{d(r.next(e))}catch(e){o(e)}}function l(e){try{d(r.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?n(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(s,l)}d((r=r.apply(e,t||[])).next())}))}"function"==typeof SuppressedError&&SuppressedError;const m={commentPropName:"!---",ignoreAttributes:!1,ignoreNameSpace:!1,parseTagValue:!1,parseNodeValue:!1,parseAttributeValue:!1,trimValues:!1,processEntities:!1,cdataPropName:"![CDATA["},y=Object.assign(Object.assign({},m),{format:!0,indentBy:" ",suppressBooleanAttributes:!1,suppressEmptyNode:!1});function p(e){if(Array.isArray(e))return e.map(p).filter((e=>!("object"==typeof e&&0===Object.keys(e).length)));if("object"==typeof e&&null!==e){const t={};for(const i in e){const r=e[i];if("#text"===i&&"string"==typeof r&&""===r.trim())continue;const n=p(r);void 0!==n&&(t[i]=n)}return t}return e}function h(e){return f(this,arguments,void 0,(function*(e,i=!1){const r=new u.XMLParser(m);let n;if(i)n=e;else try{n=yield t.readFile(e,"utf-8")}catch(t){return void k.error(`${e} could not be read. Check if the file exists and is accessible.`)}try{const e=r.parse(n,!0);return p(e)}catch(t){return void k.error(`${i?"Provided XML string":e} could not be parsed. Confirm formatting and try again.`)}}))}function g(e,t){if(void 0===t)return v(e);const i=t.split(",");for(const t of i)if(void 0!==e[t]&&"string"==typeof e[t])return e[t];for(const i in e)if("object"==typeof e[i]&&null!==e[i]){const r=g(e[i],t);if(void 0!==r)return r}return v(e)}function v(e){const t=c.createHash("sha256");t.update(JSON.stringify(e));return t.digest("hex").slice(0,8)}function b(e){return new u.XMLBuilder(y).build(e).trimEnd()}function x(e){return f(this,void 0,void 0,(function*(){const i=yield h(e),n=r.stringify(i),o=e.replace(/\.xml$/,".yaml");yield t.writeFile(o,n),k.debug(`${e} has been transformed into ${o}`)}))}function j(e){return f(this,void 0,void 0,(function*(){const i=yield h(e),r=n.stringify(i,null,2),o=e.replace(/\.xml$/,".json5");yield t.writeFile(o,r),k.debug(`${e} has been transformed into ${o}`)}))}function $(e){return f(this,void 0,void 0,(function*(){const i=yield h(e),r=JSON.stringify(i,null,2),n=e.replace(/\.xml$/,".json");yield t.writeFile(n,r),k.debug(`${e} has been transformed into ${n}`)}))}function P(e){return f(this,void 0,void 0,(function*(){const i=yield h(e),r=o.stringify(i),n=e.replace(/\.xml$/,".toml");yield t.writeFile(n,r),k.debug(`${e} has been transformed into ${n}`)}))}function w(e){return f(this,void 0,void 0,(function*(){const i=yield h(e),r=s.stringify(i),n=e.replace(/\.xml$/,".ini");yield t.writeFile(n,r),k.debug(`${e} has been transformed into ${n}`)}))}function F(e){switch(e){case"yaml":return x;case"json5":return j;case"json":return $;case"toml":return P;case"ini":return w;default:return}}function A(e,r,n,o,s,l,d,a){return f(this,void 0,void 0,(function*(){const c=g(e,n),u=i.join(r,l),f=`${c}.${l}-meta.xml`,m=i.join(u,f);yield t.mkdir(u,{recursive:!0});const y=`${b({"?xml":d,[o]:Object.assign(Object.assign({},s),{[l]:e})})}`;yield t.writeFile(m,y),k.debug(`Created disassembled file: ${m}`);const p=F(a);p&&(yield p(m),yield t.rm(m))}))}function O(e){return f(this,void 0,void 0,(function*(){const{element:t,disassembledPath:i,uniqueIdElements:r,rootElementName:n,rootAttributes:o,key:s,leafCount:l,hasNestedElements:d,xmlDeclaration:a,format:c}=e;if("object"==typeof t&&null!==t)return yield A(t,i,r,n,o,s,a,c),[{},l,!0];return[{[s]:t},l+1,d]}))}function E(e,r,n,o,s,l,d){return f(this,void 0,void 0,(function*(){const a=i.join(r,`${n}.xml`);yield t.mkdir(r,{recursive:!0});const c=`${b({"?xml":l,[o]:Object.assign(Object.assign({},s),e)})}`;yield t.writeFile(a,c),k.debug(`Created disassembled file: ${a}`);const u=F(d);u&&(yield u(a),yield t.rm(a))}))}function C(e){const t={};for(const[i,r]of Object.entries(e))i.startsWith("@")&&(t[i]=r);return t}function N(e){return f(this,void 0,void 0,(function*(){const{element:t,key:i,hasNestedElements:r}=e,n={},o=Array.isArray(t),s="object"==typeof t&&null!==t&&Object.keys(t).length>1;if(o||s)return n[i]=[t],{leafContent:{},leafCount:e.leafCount,hasNestedElements:!0,nestedGroups:n};return{leafContent:{[i]:t},leafCount:e.leafCount+1,hasNestedElements:r,nestedGroups:n}}))}function q(e,r,n,o,s,l,d){return f(this,void 0,void 0,(function*(){const a=i.join(n,`${e}.xml`);yield t.mkdir(n,{recursive:!0});const c=`${b({"?xml":l,[o]:Object.assign(Object.assign({},s),{[e]:r})})}`;yield t.writeFile(a,c),k.debug(`Created grouped nested file: ${a}`);const u=F(d);u&&(yield u(a),yield t.rm(a))}))}const k=e.getLogger();e.configure({appenders:{disassemble:{type:"file",filename:"disassemble.log"}},categories:{default:{appenders:["disassemble"],level:"error"}}}),exports.DisassembleXMLFileHandler=class{constructor(){this.ign=a()}disassemble(e){return f(this,void 0,void 0,(function*(){const{filePath:i,uniqueIdElements:r,strategy:n="unique-id",prePurge:o=!1,postPurge:s=!1,ignorePath:a=".xmldisassemblerignore",format:c="xml"}=e,u=d.resolve(a);if(l.existsSync(u)){const e=yield t.readFile(u);this.ign.add(e.toString())}const f=yield t.stat(i),m=this.posixPath(d.relative(process.cwd(),i));if(f.isFile()){const e=d.resolve(i);if(!e.endsWith(".xml"))return void k.error(`The file path provided is not an XML file: ${e}`);if(this.ign.ignores(m))return void k.warn(`File ignored by ${a}: ${e}`);const t=d.dirname(e);yield this.processFile({dirPath:t,strategy:n,filePath:e,uniqueIdElements:r,prePurge:o,postPurge:s,format:c})}else if(f.isDirectory()){const e=yield t.readdir(i);for(const t of e){const e=d.join(i,t),l=this.posixPath(d.relative(process.cwd(),e));e.endsWith(".xml")&&!this.ign.ignores(l)?yield this.processFile({dirPath:i,strategy:n,filePath:e,uniqueIdElements:r,prePurge:o,postPurge:s,format:c}):this.ign.ignores(l)&&k.warn(`File ignored by ${a}: ${e}`)}}}))}processFile(e){return f(this,void 0,void 0,(function*(){const{dirPath:i,strategy:r,filePath:n,uniqueIdElements:o,prePurge:s,postPurge:a,format:c}=e;k.debug(`Parsing file to disassemble: ${n}`);const u=d.basename(n,d.extname(n)),m=u.split(".")[0];let y;y=d.join(i,m),s&&l.existsSync(y)&&(yield t.rm(y,{recursive:!0})),"grouped-by-tag"===r?yield function(e,i,r,n,o){return f(this,void 0,void 0,(function*(){var s;const l=yield h(e);if(void 0===l)return;const d=l["?xml"],a="object"==typeof d&&null!==d?d:{"@_version":"1.0","@_encoding":"UTF-8"},c=Object.keys(l).find((e=>"?xml"!==e));if(!c)return void k.error(`Failed to identify root element in ${e}`);const u=l[c],f=C(u);let m={},y=0,p=!1;const g={},v=Object.keys(u).filter((e=>!e.startsWith("@")));for(const e of v){const t=Array.isArray(u[e])?u[e]:[u[e]];for(const i of t){const t=yield N({element:i,key:e,leafCount:y,hasNestedElements:p});if(Object.keys(t.leafContent).length>0){const i=t.leafContent[e];if(void 0!==i){const t=m[e],r=Array.isArray(t)?t:void 0!==t?[t]:[],n=Array.isArray(i)?i:[i];m[e]=[...r,...n]}}y=t.leafCount,p=t.hasNestedElements;for(const e in t.nestedGroups)g[e]||(g[e]=[]),g[e].push(...null!==(s=t.nestedGroups[e])&&void 0!==s?s:[])}}if(!p&&y>0)k.error(`The XML file ${e} only has leaf elements. This file will not be disassembled.`);else{for(const e in g)yield q(e,g[e],i,c,f,a,o);if(y>0){const e=function(e,t){const i={};for(const r of t)void 0!==e[r]&&(i[r]=e[r]);return i}(m,v);yield E(e,i,r,c,f,a,o)}n&&(yield t.unlink(e))}}))}(n,y,u,a,c):yield function(e,i,r,n,o,s){return f(this,void 0,void 0,(function*(){const l=yield h(e);if(void 0===l)return;const d=l["?xml"],a="object"==typeof d&&null!==d?d:{"@_version":"1.0","@_encoding":"UTF-8"},c=Object.keys(l).find((e=>"?xml"!==e));if(!c)return void k.error(`Failed to identify root element in ${e}`);const u=l[c],f=C(u);let m={},y=0,p=!1;for(const e of Object.keys(u).filter((e=>!e.startsWith("@")))){const t=Array.isArray(u[e])?u[e]:[u[e]];for(const n of t){const[t,o,l]=yield O({element:n,disassembledPath:i,uniqueIdElements:r,rootElementName:c,rootAttributes:f,key:e,leafCount:y,hasNestedElements:p,xmlDeclaration:a,format:s}),d=t[e];if(void 0!==d){const t=m[e],i=Array.isArray(t)?t:void 0!==t?[t]:[],r=Array.isArray(d)?d:[d];m[e]=[...i,...r]}y=o,p=l}}p?(y>0&&(yield E(m,i,n,c,f,a,s)),o&&(yield t.unlink(e))):k.error(`The XML file ${e} only has leaf elements. This file will not be disassembled.`)}))}(n,y,o,u,a,c)}))}posixPath(e){return e.replace(/\\+/g,"/")}},exports.ReassembleXMLFileHandler=class{processFilesInDirectory(e){return f(this,void 0,void 0,(function*(){const r=[],n=yield t.readdir(e);n.sort(((e,t)=>{const i=e.split(".")[0].toLowerCase(),r=t.split(".")[0].toLowerCase();return i.localeCompare(r)}));for(const o of n){const n=i.join(e,o),s=yield t.stat(n);if(s.isFile()){if(/\.(xml|json|json5|ya?ml|toml|ini)$/.test(o)){const e=yield this.parseToXmlObject(n);if(void 0===e)continue;r.push(e)}}else if(s.isDirectory()){const e=yield this.processFilesInDirectory(n);r.push(...e)}}return r}))}reassemble(e){return f(this,void 0,void 0,(function*(){const{filePath:r,fileExtension:n,postPurge:o=!1}=e;if(!(yield t.stat(r)).isDirectory())return void k.error(`The provided path to reassemble is not a directory: ${r}`);k.debug(`Parsing directory to reassemble: ${r}`);const s=yield this.processFilesInDirectory(r);if(!s.length)return void k.error(`No files under ${r} were parsed successfully. A reassembled XML file was not created.`);const l=b(function(e){if(0===e.length)throw new Error("No elements to merge.");const t=e[0],i=Object.keys(t).find((e=>"?xml"!==e));if(!i)throw new Error("No root element found in the provided XML elements.");const r={};for(const t of e){const e=t[i];for(const[t,i]of Object.entries(e))Array.isArray(i)?r[t]=r[t]?r[t].concat(i):[...i]:"object"==typeof i?r[t]=r[t]?[].concat(r[t],i):[i]:r.hasOwnProperty(t)||(r[t]=i)}const n=t["?xml"];return n?{"?xml":n,[i]:r}:{[i]:r}}(s)),d=i.dirname(r),a=i.basename(r),c=n?`${a}.${n}`:`${a}.xml`,u=i.join(d,c);yield t.writeFile(u,l,"utf-8"),o&&(yield t.rm(r,{recursive:!0}))}))}parseToXmlObject(e){return f(this,void 0,void 0,(function*(){if(e.endsWith(".xml"))return yield h(e);const i=yield t.readFile(e,"utf-8");let l;return e.endsWith(".yaml")||e.endsWith(".yml")?l=r.parse(i):e.endsWith(".json5")?l=n.parse(i):e.endsWith(".json")?l=JSON.parse(i):e.endsWith(".toml")?l=o.parse(i):e.endsWith(".ini")&&(l=s.parse(i)),l}))}},exports.buildXMLString=b,exports.logger=k,exports.parseXML=h,exports.setLogLevel=function(t){e.getLogger().level=t},exports.transformToIni=w,exports.transformToJson=$,exports.transformToJson5=j,exports.transformToToml=P,exports.transformToYaml=x;
2
2
  //# sourceMappingURL=index.min.cjs.map