xml-disassembler 1.0.4 → 1.0.6-release.1

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/CHANGELOG.md CHANGED
@@ -1,3 +1,15 @@
1
+ ## [1.0.6-release.1](https://github.com/mcarvin8/xml-disassembler/compare/v1.0.5...v1.0.6-release.1) (2024-02-23)
2
+
3
+ ### Bug Fixes
4
+
5
+ - configure logging with log4js ([65b106a](https://github.com/mcarvin8/xml-disassembler/commit/65b106afac9206c3db4a9ef352e3b08d2085b051))
6
+
7
+ ## [1.0.5](https://github.com/mcarvin8/xml-disassembler/compare/v1.0.4...v1.0.5) (2024-02-22)
8
+
9
+ ### Bug Fixes
10
+
11
+ - dynamically get xml namespace and add to disassembled/reassembled files if defined ([59544ee](https://github.com/mcarvin8/xml-disassembler/commit/59544ee961f2aa637ca8c90a0b2477c0fa5aadb1))
12
+
1
13
  ## [1.0.4](https://github.com/mcarvin8/xml-disassembler/compare/v1.0.3...v1.0.4) (2024-02-22)
2
14
 
3
15
  ### Bug Fixes
package/README.md CHANGED
@@ -127,7 +127,6 @@ Import the `ReassembleXMLFileHandler` class from the package.
127
127
  /*
128
128
  FLAGS
129
129
  - xmlPath: Path to the disassembled XML files to reassemble (must be a directory)
130
- - xmlNamespace: (Optional) Namespace for the final XML (default: None)
131
130
  - fileExtension: (Optional) Desired file extension for the final XML (default: `.xml`)
132
131
  */
133
132
  import { ReassembleXMLFileHandler } from "xml-disassembler";
@@ -135,7 +134,6 @@ import { ReassembleXMLFileHandler } from "xml-disassembler";
135
134
  const handler = new ReassembleXMLFileHandler();
136
135
  await handler.reassemble({
137
136
  xmlPath: "test/baselines/general/HR_Admin",
138
- xmlNamespace: "http://soap.sforce.com/2006/04/metadata",
139
137
  fileExtension: "permissionset-meta.xml",
140
138
  });
141
139
  ```
@@ -0,0 +1,69 @@
1
+ [2024-02-23T17:03:25.860] [DEBUG] default - Parsing file: test/baselines/general/HR_Admin.permissionset-meta.xml
2
+ [2024-02-23T17:03:25.866] [DEBUG] default - XML content saved to: test/baselines/general/HR_Admin/applicationVisibilities/JobApps__Recruiting.applicationVisibilities-meta.xml
3
+ [2024-02-23T17:03:25.866] [DEBUG] default - XML content saved to: test/baselines/general/HR_Admin/classAccesses/Send_Email_Confirmation.classAccesses-meta.xml
4
+ [2024-02-23T17:03:25.866] [DEBUG] default - XML content saved to: test/baselines/general/HR_Admin/fieldPermissions/Job_Request__c.Salary__c.fieldPermissions-meta.xml
5
+ [2024-02-23T17:03:25.867] [DEBUG] default - XML content saved to: test/baselines/general/HR_Admin/objectPermissions/Job_Request__c.objectPermissions-meta.xml
6
+ [2024-02-23T17:03:25.867] [DEBUG] default - XML content saved to: test/baselines/general/HR_Admin/pageAccesses/Job_Request_Web_Form.pageAccesses-meta.xml
7
+ [2024-02-23T17:03:25.867] [DEBUG] default - XML content saved to: test/baselines/general/HR_Admin/recordTypeVisibilities/Recruiting.DevManager.recordTypeVisibilities-meta.xml
8
+ [2024-02-23T17:03:25.867] [DEBUG] default - XML content saved to: test/baselines/general/HR_Admin/tabSettings/Job_Request__c.tabSettings-meta.xml
9
+ [2024-02-23T17:03:25.867] [DEBUG] default - XML content saved to: test/baselines/general/HR_Admin/userPermissions/APIEnabled.userPermissions-meta.xml
10
+ [2024-02-23T17:03:25.868] [DEBUG] default - All leaf elements saved to: test/baselines/general/HR_Admin/HR_Admin.permissionset-meta.xml
11
+ [2024-02-23T17:03:25.876] [DEBUG] default - Created reassembled file: test/baselines/general/HR_Admin.permissionset-meta.xml
12
+ [2024-02-23T17:03:25.878] [DEBUG] default - Parsing file: test/baselines/cdata/VidLand_US.marketingappextension-meta.xml
13
+ [2024-02-23T17:03:25.878] [DEBUG] default - XML content saved to: test/baselines/cdata/VidLand_US/marketingAppExtActions/register_user.marketingAppExtActions-meta.xml
14
+ [2024-02-23T17:03:25.879] [DEBUG] default - All leaf elements saved to: test/baselines/cdata/VidLand_US/VidLand_US.marketingappextension-meta.xml
15
+ [2024-02-23T17:03:25.881] [DEBUG] default - Created reassembled file: test/baselines/cdata/VidLand_US.xml
16
+ [2024-02-23T17:03:25.887] [DEBUG] default - Parsing file: test/baselines/comments/Numbers-fr.globalValueSetTranslation-meta.xml
17
+ [2024-02-23T17:03:25.887] [DEBUG] default - XML content saved to: test/baselines/comments/Numbers-fr/valueTranslation/d7dd1420.valueTranslation-meta.xml
18
+ [2024-02-23T17:03:25.888] [DEBUG] default - XML content saved to: test/baselines/comments/Numbers-fr/valueTranslation/d8852ede.valueTranslation-meta.xml
19
+ [2024-02-23T17:03:25.888] [DEBUG] default - XML content saved to: test/baselines/comments/Numbers-fr/valueTranslation/30e8b6d2.valueTranslation-meta.xml
20
+ [2024-02-23T17:03:25.897] [DEBUG] default - Created reassembled file: test/baselines/comments/Numbers-fr.xml
21
+ [2024-02-23T17:03:25.898] [DEBUG] default - Parsing file: test/baselines/child-unique-id-element/Get_Info.flow-meta.xml
22
+ [2024-02-23T17:03:25.901] [DEBUG] default - XML content saved to: test/baselines/child-unique-id-element/Get_Info/actionCalls/Get_Info.actionCalls-meta.xml
23
+ [2024-02-23T17:03:25.901] [DEBUG] default - XML content saved to: test/baselines/child-unique-id-element/Get_Info/actionCalls/Post_to_Contact_s_Feed.actionCalls-meta.xml
24
+ [2024-02-23T17:03:25.901] [DEBUG] default - XML content saved to: test/baselines/child-unique-id-element/Get_Info/assignments/Set_Contact_ID.assignments-meta.xml
25
+ [2024-02-23T17:03:25.901] [DEBUG] default - XML content saved to: test/baselines/child-unique-id-element/Get_Info/decisions/Update_If_Existing.decisions-meta.xml
26
+ [2024-02-23T17:03:25.902] [DEBUG] default - XML content saved to: test/baselines/child-unique-id-element/Get_Info/decisions/Update_or_Create.decisions-meta.xml
27
+ [2024-02-23T17:03:25.902] [DEBUG] default - XML content saved to: test/baselines/child-unique-id-element/Get_Info/dynamicChoiceSets/accounts.dynamicChoiceSets-meta.xml
28
+ [2024-02-23T17:03:25.902] [DEBUG] default - XML content saved to: test/baselines/child-unique-id-element/Get_Info/formulas/created_or_updated.formulas-meta.xml
29
+ [2024-02-23T17:03:25.902] [DEBUG] default - XML content saved to: test/baselines/child-unique-id-element/Get_Info/processMetadataValues/BuilderType.processMetadataValues-meta.xml
30
+ [2024-02-23T17:03:25.902] [DEBUG] default - XML content saved to: test/baselines/child-unique-id-element/Get_Info/processMetadataValues/CanvasMode.processMetadataValues-meta.xml
31
+ [2024-02-23T17:03:25.902] [DEBUG] default - XML content saved to: test/baselines/child-unique-id-element/Get_Info/processMetadataValues/OriginBuilderType.processMetadataValues-meta.xml
32
+ [2024-02-23T17:03:25.903] [DEBUG] default - XML content saved to: test/baselines/child-unique-id-element/Get_Info/recordCreates/Create_Contact.recordCreates-meta.xml
33
+ [2024-02-23T17:03:25.903] [DEBUG] default - XML content saved to: test/baselines/child-unique-id-element/Get_Info/recordLookups/Find_a_Match.recordLookups-meta.xml
34
+ [2024-02-23T17:03:25.903] [DEBUG] default - XML content saved to: test/baselines/child-unique-id-element/Get_Info/recordUpdates/Update_Contact.recordUpdates-meta.xml
35
+ [2024-02-23T17:03:25.903] [DEBUG] default - XML content saved to: test/baselines/child-unique-id-element/Get_Info/screens/Confirm.screens-meta.xml
36
+ [2024-02-23T17:03:25.903] [DEBUG] default - XML content saved to: test/baselines/child-unique-id-element/Get_Info/screens/Contact_Info.screens-meta.xml
37
+ [2024-02-23T17:03:25.903] [DEBUG] default - XML content saved to: test/baselines/child-unique-id-element/Get_Info/start/Contact_Info.start-meta.xml
38
+ [2024-02-23T17:03:25.904] [DEBUG] default - XML content saved to: test/baselines/child-unique-id-element/Get_Info/textTemplates/chatterMessage.textTemplates-meta.xml
39
+ [2024-02-23T17:03:25.904] [DEBUG] default - XML content saved to: test/baselines/child-unique-id-element/Get_Info/variables/ComplexObjectExample.variables-meta.xml
40
+ [2024-02-23T17:03:25.904] [DEBUG] default - XML content saved to: test/baselines/child-unique-id-element/Get_Info/variables/contact.variables-meta.xml
41
+ [2024-02-23T17:03:25.904] [DEBUG] default - XML content saved to: test/baselines/child-unique-id-element/Get_Info/variables/existingId.variables-meta.xml
42
+ [2024-02-23T17:03:25.904] [DEBUG] default - XML content saved to: test/baselines/child-unique-id-element/Get_Info/variables/updateExisting.variables-meta.xml
43
+ [2024-02-23T17:03:25.904] [DEBUG] default - All leaf elements saved to: test/baselines/child-unique-id-element/Get_Info/Get_Info.flow-meta.xml
44
+ [2024-02-23T17:03:25.905] [DEBUG] default - Parsing file: test/baselines/array-of-leafs/Dreamhouse.app-meta.xml
45
+ [2024-02-23T17:03:25.906] [DEBUG] default - XML content saved to: test/baselines/array-of-leafs/Dreamhouse/actionOverrides/39049d21.actionOverrides-meta.xml
46
+ [2024-02-23T17:03:25.906] [DEBUG] default - XML content saved to: test/baselines/array-of-leafs/Dreamhouse/actionOverrides/735c1659.actionOverrides-meta.xml
47
+ [2024-02-23T17:03:25.907] [DEBUG] default - XML content saved to: test/baselines/array-of-leafs/Dreamhouse/actionOverrides/b04e9f9b.actionOverrides-meta.xml
48
+ [2024-02-23T17:03:25.907] [DEBUG] default - XML content saved to: test/baselines/array-of-leafs/Dreamhouse/actionOverrides/c8cc7a99.actionOverrides-meta.xml
49
+ [2024-02-23T17:03:25.907] [DEBUG] default - XML content saved to: test/baselines/array-of-leafs/Dreamhouse/brand/c9db422b.brand-meta.xml
50
+ [2024-02-23T17:03:25.907] [DEBUG] default - All leaf elements saved to: test/baselines/array-of-leafs/Dreamhouse/Dreamhouse.app-meta.xml
51
+ [2024-02-23T17:03:25.910] [DEBUG] default - Created reassembled file: test/baselines/array-of-leafs/Dreamhouse.app-meta.xml
52
+ [2024-02-23T17:03:25.911] [DEBUG] default - Parsing file: test/baselines/array-of-leafs/Dreamhouse.app-meta.xml
53
+ [2024-02-23T17:03:25.914] [DEBUG] default - XML content saved to: test/baselines/array-of-leafs/Dreamhouse/actionOverrides/39049d21.actionOverrides-meta.xml
54
+ [2024-02-23T17:03:25.914] [DEBUG] default - XML content saved to: test/baselines/array-of-leafs/Dreamhouse/actionOverrides/735c1659.actionOverrides-meta.xml
55
+ [2024-02-23T17:03:25.914] [DEBUG] default - XML content saved to: test/baselines/array-of-leafs/Dreamhouse/actionOverrides/b04e9f9b.actionOverrides-meta.xml
56
+ [2024-02-23T17:03:25.914] [DEBUG] default - XML content saved to: test/baselines/array-of-leafs/Dreamhouse/actionOverrides/c8cc7a99.actionOverrides-meta.xml
57
+ [2024-02-23T17:03:25.914] [DEBUG] default - XML content saved to: test/baselines/array-of-leafs/Dreamhouse/brand/c9db422b.brand-meta.xml
58
+ [2024-02-23T17:03:25.914] [DEBUG] default - All leaf elements saved to: test/baselines/array-of-leafs/Dreamhouse/Dreamhouse.app-meta.xml
59
+ [2024-02-23T17:03:25.915] [DEBUG] default - Parsing file: test/baselines/no-namespace/HR_Admin.permissionset-meta.xml
60
+ [2024-02-23T17:03:25.916] [DEBUG] default - XML content saved to: test/baselines/no-namespace/HR_Admin/applicationVisibilities/JobApps__Recruiting.applicationVisibilities-meta.xml
61
+ [2024-02-23T17:03:25.916] [DEBUG] default - XML content saved to: test/baselines/no-namespace/HR_Admin/classAccesses/Send_Email_Confirmation.classAccesses-meta.xml
62
+ [2024-02-23T17:03:25.916] [DEBUG] default - XML content saved to: test/baselines/no-namespace/HR_Admin/fieldPermissions/Job_Request__c.Salary__c.fieldPermissions-meta.xml
63
+ [2024-02-23T17:03:25.917] [DEBUG] default - XML content saved to: test/baselines/no-namespace/HR_Admin/objectPermissions/Job_Request__c.objectPermissions-meta.xml
64
+ [2024-02-23T17:03:25.917] [DEBUG] default - XML content saved to: test/baselines/no-namespace/HR_Admin/pageAccesses/Job_Request_Web_Form.pageAccesses-meta.xml
65
+ [2024-02-23T17:03:25.917] [DEBUG] default - XML content saved to: test/baselines/no-namespace/HR_Admin/recordTypeVisibilities/Recruiting.DevManager.recordTypeVisibilities-meta.xml
66
+ [2024-02-23T17:03:25.917] [DEBUG] default - XML content saved to: test/baselines/no-namespace/HR_Admin/tabSettings/Job_Request__c.tabSettings-meta.xml
67
+ [2024-02-23T17:03:25.917] [DEBUG] default - XML content saved to: test/baselines/no-namespace/HR_Admin/userPermissions/APIEnabled.userPermissions-meta.xml
68
+ [2024-02-23T17:03:25.917] [DEBUG] default - All leaf elements saved to: test/baselines/no-namespace/HR_Admin/HR_Admin.permissionset-meta.xml
69
+ [2024-02-23T17:03:25.921] [DEBUG] default - Created reassembled file: test/baselines/no-namespace/HR_Admin.permissionset-meta.xml
package/dist/index.cjs CHANGED
@@ -1,9 +1,10 @@
1
1
  'use strict';
2
2
 
3
+ var log4js = require('log4js');
3
4
  var fs = require('node:fs/promises');
4
5
  var path = require('node:path');
5
- var fastXmlParser = require('fast-xml-parser');
6
6
  var fs$1 = require('node:fs');
7
+ var fastXmlParser = require('fast-xml-parser');
7
8
  var node_crypto = require('node:crypto');
8
9
 
9
10
  function _interopNamespaceDefault(e) {
@@ -23,6 +24,7 @@ function _interopNamespaceDefault(e) {
23
24
  return Object.freeze(n);
24
25
  }
25
26
 
27
+ var log4js__namespace = /*#__PURE__*/_interopNamespaceDefault(log4js);
26
28
  var fs__namespace = /*#__PURE__*/_interopNamespaceDefault(fs);
27
29
  var path__namespace = /*#__PURE__*/_interopNamespaceDefault(path);
28
30
  var fs__namespace$1 = /*#__PURE__*/_interopNamespaceDefault(fs$1);
@@ -93,7 +95,7 @@ function buildReassembledFile(combinedXmlContents, filePath, xmlElement, xmlName
93
95
  : `<${xmlElement}>`;
94
96
  const closeTag = `</${xmlElement}>`;
95
97
  yield fs__namespace.writeFile(filePath, `${XML_HEADER}\n${openTag}${finalXmlContent}${closeTag}`);
96
- console.log(`Created reassembled file: ${filePath}`);
98
+ logger.debug(`Created reassembled file: ${filePath}`);
97
99
  });
98
100
  }
99
101
 
@@ -139,8 +141,16 @@ class ReassembleXMLFileHandler {
139
141
  const xmlContent = yield fs__namespace.readFile(filePath, "utf-8");
140
142
  const xmlParsed = xmlParser.parse(xmlContent);
141
143
  const rootElementName = Object.keys(xmlParsed)[1];
144
+ const rootElement = xmlParsed[rootElementName];
145
+ let rootElementNamespace;
146
+ if (rootElement["@_xmlns"] !== undefined) {
147
+ rootElementNamespace = String(rootElement["@_xmlns"]);
148
+ }
149
+ else {
150
+ rootElementNamespace = undefined;
151
+ }
142
152
  if (rootElementName !== undefined) {
143
- return rootElementName;
153
+ return [rootElementName, rootElementNamespace];
144
154
  }
145
155
  }
146
156
  }
@@ -149,10 +159,11 @@ class ReassembleXMLFileHandler {
149
159
  }
150
160
  reassemble(xmlAttributes) {
151
161
  return __awaiter(this, void 0, void 0, function* () {
152
- const { xmlPath, xmlNamespace, fileExtension } = xmlAttributes;
162
+ const { xmlPath, fileExtension } = xmlAttributes;
153
163
  const combinedXmlContents = [];
154
164
  const fileStat = yield fs__namespace.stat(xmlPath);
155
165
  if (!fileStat.isDirectory()) {
166
+ logger.error("The provided xmlPath is not a directory.");
156
167
  throw new Error("The provided xmlPath is not a directory.");
157
168
  }
158
169
  const filesInxmlPath = yield fs__namespace.readdir(xmlPath);
@@ -168,15 +179,16 @@ class ReassembleXMLFileHandler {
168
179
  combinedXmlContents.push(...subdirectoryContents);
169
180
  }
170
181
  }
171
- let rootElementName = yield this.processFilesForRootElement(xmlPath);
182
+ const rootResult = yield this.processFilesForRootElement(xmlPath);
172
183
  const parentDirectory = path__namespace.dirname(xmlPath);
173
184
  const subdirectoryBasename = path__namespace.basename(xmlPath);
174
185
  const fileName = fileExtension
175
186
  ? `${subdirectoryBasename}.${fileExtension}`
176
187
  : `${subdirectoryBasename}.xml`;
177
188
  const filePath = path__namespace.join(parentDirectory, fileName);
178
- if (rootElementName !== undefined) {
179
- yield buildReassembledFile(combinedXmlContents, filePath, rootElementName, xmlNamespace);
189
+ if (rootResult !== undefined) {
190
+ const [rootElementName, rootElementNamespace] = rootResult;
191
+ yield buildReassembledFile(combinedXmlContents, filePath, rootElementName, rootElementNamespace);
180
192
  }
181
193
  else {
182
194
  console.error("Root element name is undefined");
@@ -230,6 +242,13 @@ function buildDisassembledFiles(xmlString, metadataPath, uniqueIdElements, baseN
230
242
  const result = xmlParser.parse(xmlString);
231
243
  const rootElementName = Object.keys(result)[1];
232
244
  const rootElement = result[rootElementName];
245
+ let rootElementNamespace;
246
+ if (rootElement["@_xmlns"] !== undefined) {
247
+ rootElementNamespace = String(rootElement["@_xmlns"]);
248
+ }
249
+ else {
250
+ rootElementNamespace = undefined;
251
+ }
233
252
  let leafContent = "";
234
253
  let leafCount = 0;
235
254
  Object.keys(rootElement)
@@ -238,7 +257,7 @@ function buildDisassembledFiles(xmlString, metadataPath, uniqueIdElements, baseN
238
257
  if (Array.isArray(rootElement[key])) {
239
258
  for (const element of rootElement[key]) {
240
259
  if (typeof element === "object") {
241
- buildNestedFile(element, metadataPath, uniqueIdElements, rootElementName, key, indent);
260
+ buildNestedFile(element, metadataPath, uniqueIdElements, rootElementName, rootElementNamespace, key, indent);
242
261
  }
243
262
  else {
244
263
  const fieldValue = element;
@@ -248,7 +267,7 @@ function buildDisassembledFiles(xmlString, metadataPath, uniqueIdElements, baseN
248
267
  }
249
268
  }
250
269
  else if (typeof rootElement[key] === "object") {
251
- buildNestedFile(rootElement[key], metadataPath, uniqueIdElements, rootElementName, key, indent);
270
+ buildNestedFile(rootElement[key], metadataPath, uniqueIdElements, rootElementName, rootElementNamespace, key, indent);
252
271
  }
253
272
  else {
254
273
  const fieldValue = rootElement[key];
@@ -258,7 +277,11 @@ function buildDisassembledFiles(xmlString, metadataPath, uniqueIdElements, baseN
258
277
  });
259
278
  if (leafCount > 0) {
260
279
  let leafFile = `${XML_HEADER}\n`;
261
- leafFile += `<${rootElementName}>\n`;
280
+ leafFile += `<${rootElementName}`;
281
+ if (rootElementNamespace) {
282
+ leafFile += ` xmlns="${rootElementNamespace}"`;
283
+ }
284
+ leafFile += `>\n`;
262
285
  const sortedLeafContent = leafContent
263
286
  .split("\n")
264
287
  .filter((line) => line.trim() !== "")
@@ -268,10 +291,10 @@ function buildDisassembledFiles(xmlString, metadataPath, uniqueIdElements, baseN
268
291
  leafFile += `\n</${rootElementName}>`;
269
292
  const leafOutputPath = path__namespace.join(metadataPath, `${baseName}.xml`);
270
293
  fs__namespace$1.writeFileSync(leafOutputPath, leafFile);
271
- console.log(`All leaf elements saved to: ${leafOutputPath}`);
294
+ logger.debug(`All leaf elements saved to: ${leafOutputPath}`);
272
295
  }
273
296
  }
274
- function buildNestedFile(element, metadataPath, uniqueIdElements, rootElementName, parentKey, indent) {
297
+ function buildNestedFile(element, metadataPath, uniqueIdElements, rootElementName, rootElementNamespace, parentKey, indent) {
275
298
  let elementContent = "";
276
299
  const fieldName = findUniqueIdElement(element, uniqueIdElements);
277
300
  const outputDirectory = path__namespace.join(metadataPath, parentKey);
@@ -280,13 +303,17 @@ function buildNestedFile(element, metadataPath, uniqueIdElements, rootElementNam
280
303
  fs__namespace$1.mkdirSync(outputDirectory, { recursive: true });
281
304
  elementContent = buildNestedElements(element);
282
305
  let decomposeFileContents = `${XML_HEADER}\n`;
283
- decomposeFileContents += `<${rootElementName}>\n`;
306
+ decomposeFileContents += `<${rootElementName}`;
307
+ if (rootElementNamespace) {
308
+ decomposeFileContents += ` xmlns="${rootElementNamespace}"`;
309
+ }
310
+ decomposeFileContents += `>\n`;
284
311
  decomposeFileContents += `${indent}<${parentKey}>\n`;
285
312
  decomposeFileContents += `${elementContent}\n`;
286
313
  decomposeFileContents += `${indent}</${parentKey}>\n`;
287
314
  decomposeFileContents += `</${rootElementName}>`;
288
315
  fs__namespace$1.writeFileSync(outputPath, decomposeFileContents);
289
- console.log(`XML content saved to: ${outputPath}`);
316
+ logger.debug(`XML content saved to: ${outputPath}`);
290
317
  }
291
318
 
292
319
  class DisassembleXMLFileHandler {
@@ -295,6 +322,7 @@ class DisassembleXMLFileHandler {
295
322
  const { xmlPath, uniqueIdElements, purge = false } = xmlAttributes;
296
323
  const fileStat = yield fs__namespace.stat(xmlPath);
297
324
  if (!fileStat.isDirectory()) {
325
+ logger.error("The provided xmlPath is not a directory.");
298
326
  throw new Error("The provided xmlPath is not a directory.");
299
327
  }
300
328
  const files = yield fs__namespace.readdir(xmlPath);
@@ -313,7 +341,7 @@ class DisassembleXMLFileHandler {
313
341
  return __awaiter(this, void 0, void 0, function* () {
314
342
  const { xmlPath, filePath, uniqueIdElements, purge } = xmlAttributes;
315
343
  if (filePath.endsWith(".xml")) {
316
- console.log(`Parsing file: ${filePath}`);
344
+ logger.debug(`Parsing file: ${filePath}`);
317
345
  const xmlContent = yield fs__namespace.readFile(filePath, "utf-8");
318
346
  const fullName = path__namespace.basename(filePath, path__namespace.extname(filePath));
319
347
  const baseName = fullName.split(".")[0];
@@ -328,6 +356,17 @@ class DisassembleXMLFileHandler {
328
356
  }
329
357
  }
330
358
 
359
+ function setLogLevel(level) {
360
+ log4js__namespace.getLogger().level = level;
361
+ }
362
+ const logger = log4js__namespace.getLogger();
363
+ log4js__namespace.configure({
364
+ appenders: { disassemble: { type: "file", filename: "disassemble.log" } },
365
+ categories: { default: { appenders: ["disassemble"], level: "error" } },
366
+ });
367
+
331
368
  exports.DisassembleXMLFileHandler = DisassembleXMLFileHandler;
332
369
  exports.ReassembleXMLFileHandler = ReassembleXMLFileHandler;
370
+ exports.logger = logger;
371
+ exports.setLogLevel = setLogLevel;
333
372
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":["../node_modules/.pnpm/@rollup+plugin-typescript@11.1.6_rollup@4.9.6_tslib@2.6.2_typescript@5.3.3/node_modules/tslib/tslib.es6.js","../src/helpers/constants.ts","../src/helpers/types.ts","../src/service/buildReassembledFiles.ts","../src/service/reassembleXMLFileHandler.ts","../src/service/findUniqueIdElement.ts","../src/service/buildNestedElements.ts","../src/service/buildDisassembledFiles.ts","../src/service/disassembleXMLFileHandler.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 */\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;\r\n return g = { next: verb(0), \"throw\": verb(1), \"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 = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\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\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\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;\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 }\r\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\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\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 function next() {\r\n while (env.stack.length) {\r\n var rec = env.stack.pop();\r\n try {\r\n var result = rec.dispose && rec.dispose.call(rec.value);\r\n if (rec.async) return Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\r\n }\r\n catch (e) {\r\n fail(e);\r\n }\r\n }\r\n if (env.hasError) throw env.error;\r\n }\r\n return next();\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 __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};\r\n",null,null,null,null,null,null,null,null],"names":["fs","path","XMLParser","createHash","XMLBuilder"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index.cjs","sources":["../node_modules/.pnpm/@rollup+plugin-typescript@11.1.6_rollup@4.9.6_tslib@2.6.2_typescript@5.3.3/node_modules/tslib/tslib.es6.js","../src/helpers/constants.ts","../src/helpers/types.ts","../src/service/buildReassembledFiles.ts","../src/service/reassembleXMLFileHandler.ts","../src/service/findUniqueIdElement.ts","../src/service/buildNestedElements.ts","../src/service/buildDisassembledFiles.ts","../src/service/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 */\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;\r\n return g = { next: verb(0), \"throw\": verb(1), \"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 = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\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\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\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;\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 }\r\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\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\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 function next() {\r\n while (env.stack.length) {\r\n var rec = env.stack.pop();\r\n try {\r\n var result = rec.dispose && rec.dispose.call(rec.value);\r\n if (rec.async) return Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\r\n }\r\n catch (e) {\r\n fail(e);\r\n }\r\n }\r\n if (env.hasError) throw env.error;\r\n }\r\n return next();\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 __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};\r\n",null,null,null,null,null,null,null,null,null],"names":["fs","path","XMLParser","createHash","XMLBuilder","log4js"],"mappings":"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","x_google_ignoreList":[0]}
@@ -1,2 +1,2 @@
1
- "use strict";var e=require("node:fs/promises"),t=require("node:path"),n=require("fast-xml-parser"),i=require("node:fs"),r=require("node:crypto");function o(e){var t=Object.create(null);return e&&Object.keys(e).forEach((function(n){if("default"!==n){var i=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,i.get?i:{enumerable:!0,get:function(){return e[n]}})}})),t.default=e,Object.freeze(t)}var s=o(e),l=o(t),c=o(i);function a(e,t,n,i){return new(n||(n=Promise))((function(r,o){function s(e){try{c(i.next(e))}catch(e){o(e)}}function l(e){try{c(i.throw(e))}catch(e){o(e)}}function c(e){var t;e.done?r(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(s,l)}c((i=i.apply(e,t||[])).next())}))}"function"==typeof SuppressedError&&SuppressedError;const d='<?xml version="1.0" encoding="UTF-8"?>',u=" ",f={commentPropName:"!---",ignoreAttributes:!1,ignoreNameSpace:!1,parseTagValue:!1,parseNodeValue:!1,parseAttributeValue:!1,trimValues:!0,processEntities:!1,cdataPropName:"![CDATA["},p=Object.assign(Object.assign({},f),{format:!0,indentBy:u,suppressBooleanAttributes:!1,suppressEmptyNode:!1});function m(e,t){if(void 0===t)return y(e);const n=t.split(",");for(const t of n)if(void 0!==e[t]&&"string"==typeof e[t])return e[t];for(const n in e)if("object"==typeof e[n]&&null!==e[n]){const i=m(e[n],t);if(void 0!==i)return i}return y(e)}function y(e){const t=r.createHash("sha256");t.update(JSON.stringify(e));return t.digest("hex").slice(0,8)}function $(e,t,i,r,o,s){let a="";const f=m(e,i),y=l.join(t,o),$=`${f}.${o}-meta.xml`,h=l.join(y,$);c.mkdirSync(y,{recursive:!0}),a=function(e,t=2){return new n.XMLBuilder(p).build(e).split("\n").map((e=>`${" ".repeat(t*u.length)}${e}`)).join("\n").trimEnd()}(e);let v=`${d}\n`;v+=`<${r}>\n`,v+=`${s}<${o}>\n`,v+=`${a}\n`,v+=`${s}</${o}>\n`,v+=`</${r}>`,c.writeFileSync(h,v),console.log(`XML content saved to: ${h}`)}exports.DisassembleXMLFileHandler=class{disassemble(e){return a(this,void 0,void 0,(function*(){const{xmlPath:t,uniqueIdElements:n,purge:i=!1}=e;if(!(yield s.stat(t)).isDirectory())throw new Error("The provided xmlPath is not a directory.");const r=yield s.readdir(t);for(const e of r){const r=l.join(t,e);yield this.processFile({xmlPath:t,filePath:r,uniqueIdElements:n,purge:i})}}))}processFile(e){return a(this,void 0,void 0,(function*(){const{xmlPath:t,filePath:i,uniqueIdElements:r,purge:o}=e;if(i.endsWith(".xml")){console.log(`Parsing file: ${i}`);const e=yield s.readFile(i,"utf-8"),a=l.basename(i,l.extname(i)),p=a.split(".")[0];let m;m=l.join(t,p),o&&(yield s.rm(m,{recursive:!0})),function(e,t,i,r,o){const s=new n.XMLParser(f).parse(e),a=Object.keys(s)[1],u=s[a];let p="",m=0;if(Object.keys(u).filter((e=>!e.startsWith("@"))).forEach((e=>{if(Array.isArray(u[e]))for(const n of u[e])"object"==typeof n?$(n,t,i,a,e,o):(p+=`${o}<${e}>${String(n)}</${e}>\n`,m++);else if("object"==typeof u[e])$(u[e],t,i,a,e,o);else{const t=u[e];p+=`${o}<${e}>${String(t)}</${e}>\n`,m++}})),m>0){let e=`${d}\n`;e+=`<${a}>\n`,e+=p.split("\n").filter((e=>""!==e.trim())).sort().join("\n"),e+=`\n</${a}>`;const n=l.join(t,`${r}.xml`);c.writeFileSync(n,e),console.log(`All leaf elements saved to: ${n}`)}}(e,m,r,a,u)}}))}},exports.ReassembleXMLFileHandler=class{processFilesInDirectory(e){return a(this,void 0,void 0,(function*(){const t=[],n=yield s.readdir(e);n.sort(((e,t)=>{const n=e.split(".")[0].toLowerCase(),i=t.split(".")[0].toLowerCase();return n.localeCompare(i)}));for(const i of n){const n=l.join(e,i),r=yield s.stat(n);if(r.isFile()){const e=yield s.readFile(n,"utf-8");t.push(e)}else if(r.isDirectory()){const e=yield this.processFilesInDirectory(n);t.push(...e)}}return t}))}processFilesForRootElement(e){return a(this,void 0,void 0,(function*(){const t=yield s.readdir(e),i=new n.XMLParser(f);for(const n of t){const t=l.join(e,n),r=yield s.stat(t);if(r.isDirectory()){const e=yield this.processFilesForRootElement(t);if(void 0!==e)return e}else if(r.isFile()){const e=yield s.readFile(t,"utf-8"),n=i.parse(e),r=Object.keys(n)[1];if(void 0!==r)return r}}}))}reassemble(e){return a(this,void 0,void 0,(function*(){const{xmlPath:t,xmlNamespace:n,fileExtension:i}=e,r=[];if(!(yield s.stat(t)).isDirectory())throw new Error("The provided xmlPath is not a directory.");const o=yield s.readdir(t);for(const e of o){const n=l.join(t,e),i=yield s.stat(n);if(i.isFile()){const e=yield s.readFile(n,"utf-8");r.push(e)}else if(i.isDirectory()){const e=yield this.processFilesInDirectory(n);r.push(...e)}}let c=yield this.processFilesForRootElement(t);const f=l.dirname(t),p=l.basename(t),m=i?`${p}.${i}`:`${p}.xml`,y=l.join(f,m);void 0!==c?yield function(e,t,n,i){return a(this,void 0,void 0,(function*(){let r=e.join("\n");r=r.replace(/<\?xml version="1.0" encoding="UTF-8"\?>/g,""),r=r.replace(new RegExp(`<${n}[^>]*${i?`( xmlns="${i}")?`:""}>`,"g"),""),r=r.replace(new RegExp(`</${n}>`,"g"),""),r=r.replace(/<!\[CDATA\[\s*([\s\S]*?)\s*]]>/g,((e,t)=>{const n=t.trim().split("\n").map((e=>e.replace(/^\s*/,"")));return`<![CDATA[\n${u}${n.join(`\n${u}`)}\n]]>`})),r=r.replace(/(\n\s*){2,}/g,`\n${u}`);const o=i?`<${n} xmlns="${i}">`:`<${n}>`,l=`</${n}>`;yield s.writeFile(t,`${d}\n${o}${r}${l}`),console.log(`Created reassembled file: ${t}`)}))}(r,y,c,n):console.error("Root element name is undefined")}))}};
1
+ "use strict";var e=require("log4js"),t=require("node:fs/promises"),r=require("node:path"),i=require("node:fs"),n=require("fast-xml-parser"),s=require("node:crypto");function o(e){var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var i=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,i.get?i:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}var l=o(e),c=o(t),a=o(r),d=o(i);function u(e,t,r,i){return new(r||(r=Promise))((function(n,s){function o(e){try{c(i.next(e))}catch(e){s(e)}}function l(e){try{c(i.throw(e))}catch(e){s(e)}}function c(e){var t;e.done?n(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(o,l)}c((i=i.apply(e,t||[])).next())}))}"function"==typeof SuppressedError&&SuppressedError;const f='<?xml version="1.0" encoding="UTF-8"?>',p=" ",m={commentPropName:"!---",ignoreAttributes:!1,ignoreNameSpace:!1,parseTagValue:!1,parseNodeValue:!1,parseAttributeValue:!1,trimValues:!0,processEntities:!1,cdataPropName:"![CDATA["},y=Object.assign(Object.assign({},m),{format:!0,indentBy:p,suppressBooleanAttributes:!1,suppressEmptyNode:!1});function $(e,t){if(void 0===t)return g(e);const r=t.split(",");for(const t of r)if(void 0!==e[t]&&"string"==typeof e[t])return e[t];for(const r in e)if("object"==typeof e[r]&&null!==e[r]){const i=$(e[r],t);if(void 0!==i)return i}return g(e)}function g(e){const t=s.createHash("sha256");t.update(JSON.stringify(e));return t.digest("hex").slice(0,8)}function h(e,t,r,i,s,o,l){let c="";const u=$(e,r),m=a.join(t,o),g=`${u}.${o}-meta.xml`,h=a.join(m,g);d.mkdirSync(m,{recursive:!0}),c=function(e,t=2){return new n.XMLBuilder(y).build(e).split("\n").map((e=>`${" ".repeat(t*p.length)}${e}`)).join("\n").trimEnd()}(e);let x=`${f}\n`;x+=`<${i}`,s&&(x+=` xmlns="${s}"`),x+=">\n",x+=`${l}<${o}>\n`,x+=`${c}\n`,x+=`${l}</${o}>\n`,x+=`</${i}>`,d.writeFileSync(h,x),v.debug(`XML content saved to: ${h}`)}const v=l.getLogger();l.configure({appenders:{disassemble:{type:"file",filename:"disassemble.log"}},categories:{default:{appenders:["disassemble"],level:"error"}}}),exports.DisassembleXMLFileHandler=class{disassemble(e){return u(this,void 0,void 0,(function*(){const{xmlPath:t,uniqueIdElements:r,purge:i=!1}=e;if(!(yield c.stat(t)).isDirectory())throw v.error("The provided xmlPath is not a directory."),new Error("The provided xmlPath is not a directory.");const n=yield c.readdir(t);for(const e of n){const n=a.join(t,e);yield this.processFile({xmlPath:t,filePath:n,uniqueIdElements:r,purge:i})}}))}processFile(e){return u(this,void 0,void 0,(function*(){const{xmlPath:t,filePath:r,uniqueIdElements:i,purge:s}=e;if(r.endsWith(".xml")){v.debug(`Parsing file: ${r}`);const e=yield c.readFile(r,"utf-8"),o=a.basename(r,a.extname(r)),l=o.split(".")[0];let u;u=a.join(t,l),s&&(yield c.rm(u,{recursive:!0})),function(e,t,r,i,s){const o=new n.XMLParser(m).parse(e),l=Object.keys(o)[1],c=o[l];let u;u=void 0!==c["@_xmlns"]?String(c["@_xmlns"]):void 0;let p="",y=0;if(Object.keys(c).filter((e=>!e.startsWith("@"))).forEach((e=>{if(Array.isArray(c[e]))for(const i of c[e])"object"==typeof i?h(i,t,r,l,u,e,s):(p+=`${s}<${e}>${String(i)}</${e}>\n`,y++);else if("object"==typeof c[e])h(c[e],t,r,l,u,e,s);else{const t=c[e];p+=`${s}<${e}>${String(t)}</${e}>\n`,y++}})),y>0){let e=`${f}\n`;e+=`<${l}`,u&&(e+=` xmlns="${u}"`),e+=">\n",e+=p.split("\n").filter((e=>""!==e.trim())).sort().join("\n"),e+=`\n</${l}>`;const r=a.join(t,`${i}.xml`);d.writeFileSync(r,e),v.debug(`All leaf elements saved to: ${r}`)}}(e,u,i,o,p)}}))}},exports.ReassembleXMLFileHandler=class{processFilesInDirectory(e){return u(this,void 0,void 0,(function*(){const t=[],r=yield c.readdir(e);r.sort(((e,t)=>{const r=e.split(".")[0].toLowerCase(),i=t.split(".")[0].toLowerCase();return r.localeCompare(i)}));for(const i of r){const r=a.join(e,i),n=yield c.stat(r);if(n.isFile()){const e=yield c.readFile(r,"utf-8");t.push(e)}else if(n.isDirectory()){const e=yield this.processFilesInDirectory(r);t.push(...e)}}return t}))}processFilesForRootElement(e){return u(this,void 0,void 0,(function*(){const t=yield c.readdir(e),r=new n.XMLParser(m);for(const i of t){const t=a.join(e,i),n=yield c.stat(t);if(n.isDirectory()){const e=yield this.processFilesForRootElement(t);if(void 0!==e)return e}else if(n.isFile()){const e=yield c.readFile(t,"utf-8"),i=r.parse(e),n=Object.keys(i)[1],s=i[n];let o;if(o=void 0!==s["@_xmlns"]?String(s["@_xmlns"]):void 0,void 0!==n)return[n,o]}}}))}reassemble(e){return u(this,void 0,void 0,(function*(){const{xmlPath:t,fileExtension:r}=e,i=[];if(!(yield c.stat(t)).isDirectory())throw v.error("The provided xmlPath is not a directory."),new Error("The provided xmlPath is not a directory.");const n=yield c.readdir(t);for(const e of n){const r=a.join(t,e),n=yield c.stat(r);if(n.isFile()){const e=yield c.readFile(r,"utf-8");i.push(e)}else if(n.isDirectory()){const e=yield this.processFilesInDirectory(r);i.push(...e)}}const s=yield this.processFilesForRootElement(t),o=a.dirname(t),l=a.basename(t),d=r?`${l}.${r}`:`${l}.xml`,m=a.join(o,d);if(void 0!==s){const[e,t]=s;yield function(e,t,r,i){return u(this,void 0,void 0,(function*(){let n=e.join("\n");n=n.replace(/<\?xml version="1.0" encoding="UTF-8"\?>/g,""),n=n.replace(new RegExp(`<${r}[^>]*${i?`( xmlns="${i}")?`:""}>`,"g"),""),n=n.replace(new RegExp(`</${r}>`,"g"),""),n=n.replace(/<!\[CDATA\[\s*([\s\S]*?)\s*]]>/g,((e,t)=>{const r=t.trim().split("\n").map((e=>e.replace(/^\s*/,"")));return`<![CDATA[\n${p}${r.join(`\n${p}`)}\n]]>`})),n=n.replace(/(\n\s*){2,}/g,`\n${p}`);const s=i?`<${r} xmlns="${i}">`:`<${r}>`,o=`</${r}>`;yield c.writeFile(t,`${f}\n${s}${n}${o}`),v.debug(`Created reassembled file: ${t}`)}))}(i,m,e,t)}else console.error("Root element name is undefined")}))}},exports.logger=v,exports.setLogLevel=function(e){l.getLogger().level=e};
2
2
  //# sourceMappingURL=index.min.cjs.map