xml-disassembler 1.3.15 → 1.5.0

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.
Files changed (51) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/CONTRIBUTING.md +28 -40
  3. package/README.md +48 -28
  4. package/disassemble.log +158 -95
  5. package/dist/index.cjs +144 -49
  6. package/dist/index.cjs.map +1 -1
  7. package/dist/index.min.cjs +1 -1
  8. package/dist/index.min.cjs.map +1 -1
  9. package/dist/index.min.mjs +1 -1
  10. package/dist/index.min.mjs.map +1 -1
  11. package/dist/index.min.umd.js +1 -1
  12. package/dist/index.min.umd.js.map +1 -1
  13. package/dist/index.mjs +144 -49
  14. package/dist/index.mjs.map +1 -1
  15. package/dist/index.umd.js +146 -53
  16. package/dist/index.umd.js.map +1 -1
  17. package/dist/typings/{service → builders}/buildDisassembledFiles.d.ts +1 -1
  18. package/dist/typings/{service → builders}/buildLeafFile.d.ts +1 -1
  19. package/dist/typings/{service → builders}/buildNestedFiles.d.ts +2 -2
  20. package/dist/typings/{service → builders}/buildReassembledFiles.d.ts +1 -1
  21. package/dist/typings/{service → builders}/buildRootElementHeader.d.ts +1 -1
  22. package/dist/typings/{service → builders}/buildXMLString.d.ts +1 -1
  23. package/dist/typings/builders/buildXmlDeclaration.d.ts +2 -0
  24. package/dist/typings/{helpers/types.d.ts → constants/constants.d.ts} +2 -15
  25. package/dist/typings/{service → handlers}/disassembleXMLFileHandler.d.ts +3 -1
  26. package/dist/typings/{service → handlers}/reassembleXMLFileHandler.d.ts +2 -1
  27. package/dist/typings/index.d.ts +5 -5
  28. package/dist/typings/parsers/parseElement.d.ts +2 -0
  29. package/dist/typings/parsers/parseRootElement.d.ts +2 -0
  30. package/dist/typings/parsers/parseUniqueIdElements.d.ts +2 -0
  31. package/dist/typings/{service → parsers}/parseXML.d.ts +1 -1
  32. package/dist/typings/transformers/getTransformer.d.ts +1 -0
  33. package/dist/typings/transformers/transformers.d.ts +3 -0
  34. package/dist/typings/types/types.d.ts +17 -0
  35. package/package.json +12 -10
  36. package/samples/array-of-leafs/Dreamhouse.app-meta.xml +60 -0
  37. package/samples/attributes/notes.xml +15 -0
  38. package/samples/cdata/VidLand_US.marketingappextension-meta.xml +51 -0
  39. package/samples/comments/Numbers-fr.globalValueSetTranslation-meta.xml +17 -0
  40. package/samples/deeply-nested-unique-id-element/Get_Info.flow-meta.xml +343 -0
  41. package/samples/general/HR_Admin.permissionset-meta.xml +44 -0
  42. package/samples/ignore/HR_Admin.permissionset-meta.xml +44 -0
  43. package/samples/no-namespace/HR_Admin.permissionset-meta.xml +44 -0
  44. package/samples/no-nested-elements/HR_Admin.xml +6 -0
  45. package/samples/no-root-element/Assessment_Bot/Assessment_Bot.bot-meta.xml +6 -0
  46. package/samples/no-root-element/Assessment_Bot/botMlDomain/419e0199.botMlDomain-meta.xml +7 -0
  47. package/samples/no-root-element/Assessment_Bot.bot-meta.xml +10 -0
  48. package/dist/typings/helpers/constants.d.ts +0 -2
  49. package/dist/typings/service/findUniqueIdElement.d.ts +0 -2
  50. package/dist/typings/service/processElement.d.ts +0 -2
  51. package/dist/typings/service/processFilesForRootElement.d.ts +0 -2
@@ -1 +1 @@
1
- {"version":3,"file":"index.min.umd.js","sources":["../node_modules/.pnpm/@rollup+plugin-typescript@12.1.2_rollup@4.36.0_tslib@2.8.1_typescript@5.8.2/node_modules/tslib/tslib.es6.js","../src/helpers/constants.ts","../src/helpers/types.ts","../src/service/buildXMLString.ts","../src/service/parseXML.ts","../src/service/buildRootElementHeader.ts","../src/service/processFilesForRootElement.ts","../src/service/findUniqueIdElement.ts","../src/service/buildNestedFiles.ts","../src/service/processElement.ts","../src/service/buildDisassembledFiles.ts","../src/service/buildLeafFile.ts","../src/index.ts","../src/service/disassembleXMLFileHandler.ts","../src/service/reassembleXMLFileHandler.ts","../src/service/buildReassembledFiles.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],"names":["__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","value","step","next","e","rejected","result","done","then","apply","SuppressedError","XML_HEADER","INDENT","XML_PARSER_OPTION","commentPropName","ignoreAttributes","ignoreNameSpace","parseTagValue","parseNodeValue","parseAttributeValue","trimValues","processEntities","cdataPropName","JSON_PARSER_OPTION","Object","assign","format","indentBy","suppressBooleanAttributes","suppressEmptyNode","buildXMLString","element","indentLevel","XMLBuilder","build","split","map","line","repeat","join","trimEnd","parseXML","filePath","xmlParser","XMLParser","xmlContent","readFile","xmlParsed","parse","err","logger","error","buildRootElementHeader","rootElement","rootElementName","rootElementHeader","attrKey","attrValue","entries","startsWith","slice","String","processFilesForRootElement","keys","findUniqueIdElement","uniqueIdElements","undefined","getShortHash","uniqueIdElementsArray","fieldName","key","childFieldName","hash","createHash","update","JSON","stringify","digest","buildNestedFile","disassembledPath","parentKey","indent","elementContent","outputDirectory","outputFileName","outputPath","mkdir","recursive","parentKeyHeader","nestedFileContents","writeFile","debug","processElement","params","leafContent","leafCount","hasNestedElements","buildDisassembledFiles","baseName","postPurge","parsedXml","filter","Array","isArray","updatedLeafContent","updatedLeafCount","updatedHasNestedElements","leafFile","leafOutputPath","buildLeafFile","unlink","getLogger","configure","appenders","disassemble","type","filename","categories","default","level","constructor","this","ign","ignore","xmlAttributes","prePurge","ignorePath","resolvedIgnorePath","existsSync","content","add","toString","fileStat","stat","relativePath","posixPath","relative","process","cwd","isFile","resolvedPath","endsWith","ignores","warn","dirPath","dirname","processFile","isDirectory","subFiles","readdir","subFile","subFilePath","relativeSubFilePath","fullName","basename","extname","rm","path","replace","processFilesInDirectory","combinedXmlContents","rootResult","files","sort","fileA","fileB","fullNameA","toLowerCase","fullNameB","localeCompare","file","combinedXmlString","push","subCombinedXmlContents","subRootResult","reassemble","fileExtension","parentDirectory","subdirectoryBasename","fileName","reassembledPath","xmlElement","xmlRootElementHeader","finalXmlContent","RegExp","_","cdataContent","indentedLines","trim","closeTag","buildReassembledFile"],"mappings":"6nBAkHO,SAASA,EAAUC,EAASC,EAAYC,EAAGC,GAE9C,OAAO,IAAKD,IAAMA,EAAIE,WAAU,SAAUC,EAASC,GAC/C,SAASC,EAAUC,GAAS,IAAMC,EAAKN,EAAUO,KAAKF,GAAQ,CAAG,MAAOG,GAAKL,EAAOK,GAAO,CAC3F,SAASC,EAASJ,GAAS,IAAMC,EAAKN,EAAiB,MAAEK,GAAU,CAAC,MAAOG,GAAKL,EAAOK,GAAO,CAC9F,SAASF,EAAKI,GAJlB,IAAeL,EAIaK,EAAOC,KAAOT,EAAQQ,EAAOL,QAJ1CA,EAIyDK,EAAOL,MAJhDA,aAAiBN,EAAIM,EAAQ,IAAIN,GAAE,SAAUG,GAAWA,EAAQG,EAAO,KAIhBO,KAAKR,EAAWK,EAAY,CAC9GH,GAAMN,EAAYA,EAAUa,MAAMhB,EAASC,GAAc,KAAKS,OACtE,GACA,CA8MkD,mBAApBO,iBAAiCA,gBCvUxD,MAAMC,EAAa,yCACbC,EAAS,OCEf,MAAMC,EAAoB,CAC/BC,gBAAiB,OACjBC,kBAAkB,EAClBC,iBAAiB,EACjBC,eAAe,EACfC,gBAAgB,EAChBC,qBAAqB,EACrBC,YAAY,EACZC,iBAAiB,EACjBC,cAAe,YAGJC,EAAkBC,OAAAC,OAAAD,OAAAC,OAAA,CAAA,EAC1BZ,GACH,CAAAa,QAAQ,EACRC,SAAUf,EACVgB,2BAA2B,EAC3BC,mBAAmB,aCdLC,EACdC,EACAC,EAAsB,GAYtB,OAVmB,IAAIC,EAAUA,WAACV,GACLW,MAAMH,GAIhCI,MAAM,MACNC,KAAKC,GAAiB,GAAG,IAAIC,OAAqB1B,EAAdoB,KAA+BK,MACnEE,KAAK,MACLC,SAGL,CCdM,SAAgBC,EACpBC,4CAEA,MAAMC,EAAY,IAAIC,EAASA,UAAC/B,GAC1BgC,QAAmBC,WAASJ,EAAU,SAC5C,IAAIK,EACJ,IAEE,OADAA,EAAYJ,EAAUK,MAAMH,GAAY,GACjCE,EACP,MAAOE,GAIP,YAHAC,EAAOC,MACL,GAAGT,8FAIR,CCnBe,SAAAU,EACdC,EACAC,GAEA,IAAIC,EAAoB,IAAID,IAC5B,IAAK,MAAOE,EAASC,KAAcjC,OAAOkC,QAAQL,GAChD,GAAIG,EAAQG,WAAW,KAAM,CAE3BJ,GAAqB,IADAC,EAAQI,MAAM,OACOC,OAAOJ,MAIrD,OADAF,GAAqB,IACdA,CACT,CCZM,SAAgBO,EACpBf,4CAEA,MAAMO,EAAkB9B,OAAOuC,KAAKhB,GAAW,GAM/C,MAAO,CAACO,EAJkBF,EADML,EAAUO,GAGxCA,MAGH,CCTe,SAAAU,EACdjC,EACAkC,GAEA,QAAyBC,IAArBD,EACF,OAAOE,EAAapC,GAEtB,MAAMqC,EAAwBH,EAAiB9B,MAAM,KAErD,IAAK,MAAMkC,KAAaD,EAEtB,QAA2BF,IAAvBnC,EAAQsC,IACwB,iBAAvBtC,EAAQsC,GACjB,OAAOtC,EAAQsC,GAMrB,IAAK,MAAMC,KAAOvC,EAChB,GAA4B,iBAAjBA,EAAQuC,IAAsC,OAAjBvC,EAAQuC,GAAe,CAC7D,MAAMC,EAAiBP,EACrBjC,EAAQuC,GACRL,GAEF,QAAuBC,IAAnBK,EACF,OAAOA,EAMb,OAAOJ,EAAapC,EACtB,CAEA,SAASoC,EAAapC,GACpB,MAAMyC,EAAOC,EAAUA,WAAC,UACxBD,EAAKE,OAAOC,KAAKC,UAAU7C,IAE3B,OADiByC,EAAKK,OAAO,OACbjB,MAAM,EAAG,EAC3B,CClCsB,SAAAkB,EACpB/C,EACAgD,EACAd,EACAX,EACAC,EACAyB,EACAC,4CAEA,IAAIC,EAAiB,GAErB,MAAMb,EAAYL,EAAoBjC,EAASkC,GAEzCkB,EAAkB5C,EAAAA,KAAKwC,EAAkBC,GACzCI,EAAyB,GAAGf,KAAaW,aACzCK,EAAa9C,EAAAA,KAAK4C,EAAiBC,SAGnCE,EAAKA,MAACH,EAAiB,CAAEI,WAAW,IAC1C,MAAMC,EAAkBpC,EAAuBrB,EAASiD,GAGxDE,EAAiBpD,EAAeC,EAAS,GACzC,IAAI0D,EAAqB,GAAG9E,MAC5B8E,GAAsB,GAAGlC,MACzBkC,GAAsB,GAAGR,IAASO,MAClCC,GAAsB,GAAGP,MACzBO,GAAsB,GAAGR,MAAWD,OACpCS,GAAsB,KAAKnC,WAGrBoC,EAASA,UAACL,EAAYI,GAC5BvC,EAAOyC,MAAM,8BAA8BN,OAC5C,CCxCK,SAAgBO,EACpBC,4CAEA,MAAM9D,QACJA,EAAOgD,iBACPA,EAAgBd,iBAChBA,EAAgBX,gBAChBA,EAAeC,kBACfA,EAAiBe,IACjBA,EAAGW,OACHA,EAAMa,YACNA,EAAWC,UACXA,EAASC,kBACTA,GACEH,EAEJ,GAAuB,iBAAZ9D,EAUT,aATM+C,EACJ/C,EACAgD,EACAd,EACAX,EACAC,EACAe,EACAW,GAEK,CAACa,EAAaC,GAAW,GAGhC,MAAO,CADoB,GAAGD,IAAcb,KAAUX,KAAOT,OAAO9B,OAAauC,OACrDyB,EAAY,EAAGC,KAE9C,CCzBqB,SAAAC,EACpBvD,EACAqC,EACAd,EACAiC,EACAjB,EACAkB,4CAEA,MAAMC,QAAkB3D,EAASC,GACjC,QAAkBwB,IAAdkC,EAAyB,OAC7B,MAAM9C,EAAkB9B,OAAOuC,KAAKqC,GAAW,GAEzC/C,EAA0B+C,EAAU9C,GACpCC,EAAoBH,EACxBC,EACAC,GAEF,IAAIwC,EAAc,GACdC,EAAY,EACZC,GAA6B,EAGjC,IAAK,MAAM1B,KAAO9C,OAAOuC,KAAKV,GAAagD,QACxC/B,IAAiBA,EAAIX,WAAW,OAEjC,GAAI2C,MAAMC,QAAQlD,EAAYiB,IAC5B,IAAK,MAAMvC,KAAWsB,EAAYiB,GAAsB,CACtD,MAAOkC,EAAoBC,EAAkBC,SACrCd,EAAe,CACnB7D,UACAgD,mBACAd,mBACAX,kBACAC,oBACAe,MACAW,SACAa,cACAC,YACAC,sBAEJF,EAAcU,EACdT,EAAYU,EACZT,EAAoBU,MAEjB,CACL,MAAOF,EAAoBC,EAAkBC,SACrCd,EAAe,CACnB7D,QAASsB,EAAYiB,GACrBS,mBACAd,mBACAX,kBACAC,oBACAe,MACAW,SACAa,cACAC,YACAC,sBAEJF,EAAcU,EACdT,EAAYU,EACZT,EAAoBU,EAInBV,GAODD,EAAY,UC1EZ,SACJD,EACAf,EACAmB,EACA5C,EACAC,4CAEA,IAAIoD,EAAW,GAAGhG,MAClBgG,GAAY,GAAGpD,MAEfoD,GAAYb,EACZa,GAAY,KAAKrD,KACjB,MAAMsD,EAAiBrE,EAAAA,KAAKwC,EAAkB,GAAGmB,eAC3CR,EAASA,UAACkB,EAAgBD,GAEhCzD,EAAOyC,MAAM,8BAA8BiB,OAC5C,CD2DSC,CACJf,EACAf,EACAmB,EACA5C,EACAC,IAGA4C,GACFW,EAAAA,OAAOpE,IAhBPQ,EAAOC,MACL,gBAAgBT,mEAiBrB,CEhFY,MAAAQ,EAAS6D,EAASA,YAE/BC,EAAAA,UAAU,CACRC,UAAW,CAAEC,YAAa,CAAEC,KAAM,OAAQC,SAAU,oBACpDC,WAAY,CAAEC,QAAS,CAAEL,UAAW,CAAC,eAAgBM,MAAO,8CCN9D,WAAAC,GACUC,KAAGC,IAAWC,IAEhB,WAAAT,CAAYU,4CAOhB,MAAMlF,SACJA,EAAQuB,iBACRA,EAAgB4D,SAChBA,GAAW,EAAK1B,UAChBA,GAAY,EAAK2B,WACjBA,EAAa,0BACXF,EACEG,EAAqBjI,EAAOA,QAACgI,GACnC,GAAIE,EAAAA,WAAWD,GAAqB,CAClC,MAAME,QAAgBnF,EAAQA,SAACiF,GAC/BN,KAAKC,IAAIQ,IAAID,EAAQE,YAGvB,MAAMC,QAAiBC,EAAIA,KAAC3F,GACtB4F,EAAeb,KAAKc,UAAUC,EAAAA,SAASC,QAAQC,MAAOhG,IAE5D,GAAI0F,EAASO,SAAU,CACrB,MAAMC,EAAe9I,EAAOA,QAAC4C,GAC7B,IAAKkG,EAAaC,SAAS,QAIzB,YAHA3F,EAAOC,MACL,8CAA8CyF,KAIlD,GAAInB,KAAKC,IAAIoB,QAAQR,GAEnB,YADApF,EAAO6F,KAAK,mBAAmBjB,MAAec,KAGhD,MAAMI,EAAUC,EAAOA,QAACL,SAClBnB,KAAKyB,YAAY,CACrBF,UACAtG,SAAUkG,EACV3E,mBACA4D,WACA1B,mBAEG,GAAIiC,EAASe,cAAe,CACjC,MAAMC,QAAiBC,EAAOA,QAAC3G,GAC/B,IAAK,MAAM4G,KAAWF,EAAU,CAC9B,MAAMG,EAAchH,EAAAA,KAAKG,EAAU4G,GAC7BE,EAAsB/B,KAAKc,UAC/BC,EAAAA,SAASC,QAAQC,MAAOa,IAGxBA,EAAYV,SAAS,UACpBpB,KAAKC,IAAIoB,QAAQU,SAEZ/B,KAAKyB,YAAY,CACrBF,QAAStG,EACTA,SAAU6G,EACVtF,mBACA4D,WACA1B,cAEOsB,KAAKC,IAAIoB,QAAQU,IAC1BtG,EAAO6F,KAAK,mBAAmBjB,MAAeyB,SAIrD,CAEK,WAAAL,CAAYtB,4CAOhB,MAAMoB,QAAEA,EAAOtG,SAAEA,EAAQuB,iBAAEA,EAAgB4D,SAAEA,EAAQ1B,UAAEA,GACrDyB,EAEF1E,EAAOyC,MAAM,gCAAgCjD,KAC7C,MAAM+G,EAAWC,EAAQA,SAAChH,EAAUiH,EAAOA,QAACjH,IACtCwD,EAAWuD,EAAStH,MAAM,KAAK,GAErC,IAAIkD,EACJA,EAAa9C,EAAAA,KAAKyG,EAAS9C,GAEvB2B,GAAYG,EAAUA,WAAC3C,WACnBuE,EAAEA,GAACvE,EAAY,CAAEE,WAAW,WAE9BU,EACJvD,EACA2C,EACApB,EACAwF,EACA7I,EACAuF,KAEH,CAEO,SAAAoC,CAAUsB,GAEhB,OAAOA,EAAKC,QAAQ,OAAQ,wCCvGxB,uBAAAC,CACJf,4CAEA,MAAMgB,EAAgC,GACtC,IAAIC,EACJ,MAAMC,QAAcb,EAAOA,QAACL,GAG5BkB,EAAMC,MAAK,CAACC,EAAOC,KACjB,MAAMC,EAAYF,EAAMjI,MAAM,KAAK,GAAGoI,cAChCC,EAAYH,EAAMlI,MAAM,KAAK,GAAGoI,cACtC,OAAOD,EAAUG,cAAcD,EAAU,IAG3C,IAAK,MAAME,KAAQR,EAAO,CACxB,MAAMxH,EAAWH,EAAAA,KAAKyG,EAAS0B,GACzBtC,QAAiBC,EAAIA,KAAC3F,GAC5B,GAAI0F,EAASO,UAAYjG,EAASmG,SAAS,QAAS,CAClD,MAAM9F,QAAkBN,EAASC,GACjC,QAAkBwB,IAAdnB,EAAyB,SAE7BkH,QADiCnG,EAA2Bf,GAE5D,MAAM4H,EAAoB7I,EAAeiB,GACzCiH,EAAoBY,KAAKD,QACpB,GAAIvC,EAASe,cAAe,CACjC,MAAO0B,EAAwBC,SACvBrD,KAAKsC,wBAAwBrH,GACrCsH,EAAoBY,QAAQC,GAC5BZ,EAAaa,GAGjB,MAAO,CAACd,EAAqBC,KAC9B,CAEK,UAAAc,CAAWnD,4CAKf,MAAMlF,SAAEA,EAAQsI,cAAEA,EAAa7E,UAAEA,GAAY,GAAUyB,EACvD,IAAIoC,EAAgC,GAGpC,WAFuB3B,EAAIA,KAAC3F,IAEdyG,cAIZ,YAHAjG,EAAOC,MACL,uDAAuDT,KAI3DQ,EAAOyC,MAAM,oCAAoCjD,KACjD,MAAOmI,EAAwBZ,SACvBxC,KAAKsC,wBAAwBrH,GACrCsH,EAAsBa,EAEtB,MAAMI,EAAkBhC,EAAOA,QAACvG,GAC1BwI,EAAuBxB,EAAQA,SAAChH,GAChCyI,EAAWH,EACb,GAAGE,KAAwBF,IAC3B,GAAGE,QACD7F,EAAa9C,EAAAA,KAAK0I,EAAiBE,GAEzC,QAAmBjH,IAAf+F,EAA0B,CAC5B,MAAO3G,EAAiBC,GAAqB0G,QCnE7C,SACJD,EACAoB,EACAC,EACAC,4CAGA,IAAIC,EAAkBvB,EAAoBzH,KAAK,MAG/CgJ,EAAkBA,EAAgBzB,QAChC,4CACA,IAIFyB,EAAkBA,EAAgBzB,QAChC,IAAI0B,OAAO,IAAIH,cAAwB,KACvC,IAEFE,EAAkBA,EAAgBzB,QAChC,IAAI0B,OAAO,KAAKH,KAAe,KAC/B,IAIFE,EAAkBA,EAAgBzB,QAChC,mCACA,SAAU2B,EAAGC,GACX,MAEMC,EAFiBD,EAAaE,OACPzJ,MAAM,MACPC,KAAI,SAAUC,GACxC,OAAOA,EAAKyH,QAAQ,OAAQ,GAC9B,IACA,MACE,cAAgBlJ,EAAS+K,EAAcpJ,KAAK,KAAO3B,GAAU,OAEjE,IAIF2K,EAAkBA,EAAgBzB,QAAQ,eAAgB,KAAKlJ,KAE/D,MAAMiL,EAAW,KAAKR,WAEhB3F,YACJ0F,EACA,GAAGzK,MAAe2K,IAAuBC,IAAkBM,KAE7D3I,EAAOyC,MAAM,6BAA6ByF,OAC3C,CDkBWU,CACJ9B,EACA3E,EACA/B,EACAC,GAEE4C,UAAiByD,EAAEA,GAAClH,EAAU,CAAE6C,WAAW,UAE/CrC,EAAOC,MACL,kBAAkBT,yEAGvB,4DF9EG,SAAsB6E,GAC1BR,EAASA,YAAGQ,MAAQA,CACtB","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index.min.umd.js","sources":["../node_modules/.pnpm/@rollup+plugin-typescript@12.1.2_rollup@4.39.0_tslib@2.8.1_typescript@5.8.2/node_modules/tslib/tslib.es6.js","../src/constants/constants.ts","../src/builders/buildXMLString.ts","../src/parsers/parseXML.ts","../src/builders/buildRootElementHeader.ts","../src/builders/buildXmlDeclaration.ts","../src/parsers/parseRootElement.ts","../src/parsers/parseUniqueIdElements.ts","../src/transformers/transformers.ts","../src/transformers/getTransformer.ts","../src/builders/buildNestedFiles.ts","../src/parsers/parseElement.ts","../src/builders/buildDisassembledFiles.ts","../src/builders/buildLeafFile.ts","../src/index.ts","../src/handlers/disassembleXMLFileHandler.ts","../src/handlers/reassembleXMLFileHandler.ts","../src/builders/buildReassembledFiles.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],"names":["__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","value","step","next","e","rejected","result","done","then","apply","SuppressedError","INDENT","XML_PARSER_OPTION","commentPropName","ignoreAttributes","ignoreNameSpace","parseTagValue","parseNodeValue","parseAttributeValue","trimValues","processEntities","cdataPropName","JSON_PARSER_OPTION","Object","assign","format","indentBy","suppressBooleanAttributes","suppressEmptyNode","buildXMLString","element","indentLevel","XMLBuilder","build","split","map","line","repeat","join","trimEnd","parseXML","filePath","xmlParser","XMLParser","xmlContent","readFile","xmlParsed","parse","err","logger","error","buildRootElementHeader","rootElement","rootElementName","rootElementHeader","attrKey","attrValue","entries","startsWith","slice","String","buildXMLDeclaration","parsedXml","xmlDeclarationStr","xmlDeclaration","key","replace","parseRootElement","keys","parseUniqueIdElement","uniqueIdElements","undefined","createShortHash","uniqueIdElementsArray","fieldName","childFieldName","hash","createHash","update","JSON","stringify","digest","transformToYaml","xmlPath","yamlString","stringifyYaml","yamlPath","writeFile","debug","transformToJson5","jsonString","stringifyJson5","jsonPath","transformToJson","getTransformer","buildNestedFile","disassembledPath","parentKey","indent","elementContent","outputDirectory","outputFileName","outputPath","mkdir","recursive","parentKeyHeader","nestedFileContents","transformer","rm","parseElement","params","leafContent","leafCount","hasNestedElements","buildDisassembledFiles","baseName","postPurge","filter","Array","isArray","updatedLeafContent","updatedLeafCount","updatedHasNestedElements","leafFile","leafOutputPath","buildLeafFile","unlink","getLogger","configure","appenders","disassemble","type","filename","categories","default","level","constructor","this","ign","ignore","xmlAttributes","prePurge","ignorePath","resolvedIgnorePath","existsSync","content","add","toString","fileStat","stat","relativePath","posixPath","relative","process","cwd","isFile","resolvedPath","endsWith","ignores","warn","dirPath","dirname","processFile","isDirectory","subFiles","readdir","subFile","subFilePath","relativeSubFilePath","fullName","basename","extname","path","processFilesInDirectory","combinedXmlContents","rootResult","files","sort","fileA","fileB","fullNameA","toLowerCase","fullNameB","localeCompare","file","test","parsedObject","parseToXmlObject","combinedXmlString","push","subCombinedXmlContents","subRootResult","reassemble","fileExtension","parentDirectory","subdirectoryBasename","fileName","reassembledPath","xmlElement","xmlRootElementHeader","finalXmlContent","escapedXmlDeclaration","xmlDeclarationLineRegex","RegExp","_","cdataContent","indentedLines","trim","closeTag","buildReassembledFile","fileContent","parsed","parseYaml","parseJson5"],"mappings":"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","x_google_ignoreList":[0]}
package/dist/index.mjs CHANGED
@@ -1,6 +1,8 @@
1
1
  import { getLogger, configure } from 'log4js';
2
2
  import { writeFile, readFile, readdir, stat, rm, mkdir, unlink } from 'node:fs/promises';
3
3
  import { join, dirname, basename } from 'node:path/posix';
4
+ import { parse, stringify as stringify$1 } from 'yaml';
5
+ import { parse as parse$1, stringify } from 'json5';
4
6
  import { existsSync } from 'node:fs';
5
7
  import { resolve, relative, dirname as dirname$1, join as join$1, basename as basename$1, extname } from 'node:path';
6
8
  import ignore from 'ignore';
@@ -39,13 +41,27 @@ typeof SuppressedError === "function" ? SuppressedError : function (error, suppr
39
41
  return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
40
42
  };
41
43
 
42
- const XML_HEADER = '<?xml version="1.0" encoding="UTF-8"?>';
44
+ const XML_DEFAULT_DECLARATION = '<?xml version="1.0" encoding="UTF-8"?>';
43
45
  const INDENT = " ";
46
+ const XML_PARSER_OPTION = {
47
+ commentPropName: "!---",
48
+ ignoreAttributes: false,
49
+ ignoreNameSpace: false,
50
+ parseTagValue: false,
51
+ parseNodeValue: false,
52
+ parseAttributeValue: false,
53
+ trimValues: true,
54
+ processEntities: false,
55
+ cdataPropName: "![CDATA[",
56
+ };
57
+ const JSON_PARSER_OPTION = Object.assign(Object.assign({}, XML_PARSER_OPTION), { format: true, indentBy: INDENT, suppressBooleanAttributes: false, suppressEmptyNode: false });
44
58
 
45
- function buildReassembledFile(combinedXmlContents, reassembledPath, xmlElement, xmlRootElementHeader) {
59
+ function buildReassembledFile(combinedXmlContents, reassembledPath, xmlElement, xmlRootElementHeader, xmlDeclarationStr) {
46
60
  return __awaiter(this, void 0, void 0, function* () {
47
61
  let finalXmlContent = combinedXmlContents.join("\n");
48
- finalXmlContent = finalXmlContent.replace(/<\?xml version="1.0" encoding="UTF-8"\?>/g, "");
62
+ const escapedXmlDeclaration = xmlDeclarationStr.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
63
+ const xmlDeclarationLineRegex = new RegExp(`^\\s*${escapedXmlDeclaration}\\s*$`, "gm");
64
+ finalXmlContent = finalXmlContent.replace(xmlDeclarationLineRegex, "");
49
65
  finalXmlContent = finalXmlContent.replace(new RegExp(`<${xmlElement}\\s*[^>]*>`, "g"), "");
50
66
  finalXmlContent = finalXmlContent.replace(new RegExp(`</${xmlElement}>`, "g"), "");
51
67
  finalXmlContent = finalXmlContent.replace(/<!\[CDATA\[\s*([\s\S]*?)\s*]]>/g, function (_, cdataContent) {
@@ -58,24 +74,11 @@ function buildReassembledFile(combinedXmlContents, reassembledPath, xmlElement,
58
74
  });
59
75
  finalXmlContent = finalXmlContent.replace(/(\n\s*){2,}/g, `\n${INDENT}`);
60
76
  const closeTag = `</${xmlElement}>`;
61
- yield writeFile(reassembledPath, `${XML_HEADER}\n${xmlRootElementHeader}${finalXmlContent}${closeTag}`);
77
+ yield writeFile(reassembledPath, `${xmlDeclarationStr}\n${xmlRootElementHeader}${finalXmlContent}${closeTag}`);
62
78
  logger.debug(`Created reassembled file: ${reassembledPath}`);
63
79
  });
64
80
  }
65
81
 
66
- const XML_PARSER_OPTION = {
67
- commentPropName: "!---",
68
- ignoreAttributes: false,
69
- ignoreNameSpace: false,
70
- parseTagValue: false,
71
- parseNodeValue: false,
72
- parseAttributeValue: false,
73
- trimValues: true,
74
- processEntities: false,
75
- cdataPropName: "![CDATA[",
76
- };
77
- const JSON_PARSER_OPTION = Object.assign(Object.assign({}, XML_PARSER_OPTION), { format: true, indentBy: INDENT, suppressBooleanAttributes: false, suppressEmptyNode: false });
78
-
79
82
  function buildXMLString(element, indentLevel = 0) {
80
83
  const xmlBuilder = new XMLBuilder(JSON_PARSER_OPTION);
81
84
  const xmlString = xmlBuilder.build(element);
@@ -115,12 +118,25 @@ function buildRootElementHeader(rootElement, rootElementName) {
115
118
  return rootElementHeader;
116
119
  }
117
120
 
118
- function processFilesForRootElement(xmlParsed) {
121
+ function buildXMLDeclaration(parsedXml) {
122
+ let xmlDeclarationStr = XML_DEFAULT_DECLARATION;
123
+ if (parsedXml["?xml"]) {
124
+ const xmlDeclaration = parsedXml["?xml"];
125
+ const attributes = Object.entries(xmlDeclaration)
126
+ .map(([key, value]) => `${key.replace("@_", "")}="${value}"`)
127
+ .join(" ");
128
+ xmlDeclarationStr = `<?xml ${attributes}?>`;
129
+ }
130
+ return xmlDeclarationStr;
131
+ }
132
+
133
+ function parseRootElement(xmlParsed) {
119
134
  return __awaiter(this, void 0, void 0, function* () {
135
+ const xmlDeclarationStr = buildXMLDeclaration(xmlParsed);
120
136
  const rootElementName = Object.keys(xmlParsed)[1];
121
137
  const rootElement = xmlParsed[rootElementName];
122
138
  const rootElementHeader = buildRootElementHeader(rootElement, rootElementName);
123
- return [rootElementName, rootElementHeader];
139
+ return [rootElementName, rootElementHeader, xmlDeclarationStr];
124
140
  });
125
141
  }
126
142
 
@@ -138,14 +154,16 @@ class ReassembleXMLFileHandler {
138
154
  for (const file of files) {
139
155
  const filePath = join(dirPath, file);
140
156
  const fileStat = yield stat(filePath);
141
- if (fileStat.isFile() && filePath.endsWith(".xml")) {
142
- const xmlParsed = yield parseXML(filePath);
143
- if (xmlParsed === undefined)
144
- continue;
145
- const rootResultFromFile = yield processFilesForRootElement(xmlParsed);
146
- rootResult = rootResultFromFile;
147
- const combinedXmlString = buildXMLString(xmlParsed);
148
- combinedXmlContents.push(combinedXmlString);
157
+ if (fileStat.isFile()) {
158
+ if (/\.(xml|json|json5|ya?ml)$/.test(file)) {
159
+ const parsedObject = yield this.parseToXmlObject(filePath);
160
+ if (parsedObject === undefined)
161
+ continue;
162
+ const rootResultFromFile = yield parseRootElement(parsedObject);
163
+ rootResult = rootResultFromFile;
164
+ const combinedXmlString = buildXMLString(parsedObject);
165
+ combinedXmlContents.push(combinedXmlString);
166
+ }
149
167
  }
150
168
  else if (fileStat.isDirectory()) {
151
169
  const [subCombinedXmlContents, subRootResult] = yield this.processFilesInDirectory(filePath);
@@ -175,8 +193,8 @@ class ReassembleXMLFileHandler {
175
193
  : `${subdirectoryBasename}.xml`;
176
194
  const outputPath = join(parentDirectory, fileName);
177
195
  if (rootResult !== undefined) {
178
- const [rootElementName, rootElementHeader] = rootResult;
179
- yield buildReassembledFile(combinedXmlContents, outputPath, rootElementName, rootElementHeader);
196
+ const [rootElementName, rootElementHeader, xmlDeclarationStr] = rootResult;
197
+ yield buildReassembledFile(combinedXmlContents, outputPath, rootElementName, rootElementHeader, xmlDeclarationStr);
180
198
  if (postPurge)
181
199
  yield rm(filePath, { recursive: true });
182
200
  }
@@ -185,11 +203,30 @@ class ReassembleXMLFileHandler {
185
203
  }
186
204
  });
187
205
  }
206
+ parseToXmlObject(filePath) {
207
+ return __awaiter(this, void 0, void 0, function* () {
208
+ if (filePath.endsWith(".xml")) {
209
+ return yield parseXML(filePath);
210
+ }
211
+ const fileContent = yield readFile(filePath, "utf-8");
212
+ let parsed;
213
+ if (filePath.endsWith(".yaml") || filePath.endsWith(".yml")) {
214
+ parsed = parse(fileContent);
215
+ }
216
+ else if (filePath.endsWith(".json5")) {
217
+ parsed = parse$1(fileContent);
218
+ }
219
+ else if (filePath.endsWith(".json")) {
220
+ parsed = JSON.parse(fileContent);
221
+ }
222
+ return parsed;
223
+ });
224
+ }
188
225
  }
189
226
 
190
- function findUniqueIdElement(element, uniqueIdElements) {
227
+ function parseUniqueIdElement(element, uniqueIdElements) {
191
228
  if (uniqueIdElements === undefined) {
192
- return getShortHash(element);
229
+ return createShortHash(element);
193
230
  }
194
231
  const uniqueIdElementsArray = uniqueIdElements.split(",");
195
232
  for (const fieldName of uniqueIdElementsArray) {
@@ -201,32 +238,73 @@ function findUniqueIdElement(element, uniqueIdElements) {
201
238
  }
202
239
  for (const key in element) {
203
240
  if (typeof element[key] === "object" && element[key] !== null) {
204
- const childFieldName = findUniqueIdElement(element[key], uniqueIdElements);
241
+ const childFieldName = parseUniqueIdElement(element[key], uniqueIdElements);
205
242
  if (childFieldName !== undefined) {
206
243
  return childFieldName;
207
244
  }
208
245
  }
209
246
  }
210
- return getShortHash(element);
247
+ return createShortHash(element);
211
248
  }
212
- function getShortHash(element) {
249
+ function createShortHash(element) {
213
250
  const hash = createHash("sha256");
214
251
  hash.update(JSON.stringify(element));
215
252
  const fullHash = hash.digest("hex");
216
253
  return fullHash.slice(0, 8);
217
254
  }
218
255
 
219
- function buildNestedFile(element, disassembledPath, uniqueIdElements, rootElementName, rootElementHeader, parentKey, indent) {
256
+ function transformToYaml(xmlPath) {
257
+ return __awaiter(this, void 0, void 0, function* () {
258
+ const parsedXml = yield parseXML(xmlPath);
259
+ const yamlString = stringify$1(parsedXml);
260
+ const yamlPath = xmlPath.replace(/\.xml$/, ".yaml");
261
+ yield writeFile(yamlPath, yamlString);
262
+ logger.debug(`${xmlPath} has been transformed into ${yamlPath}`);
263
+ });
264
+ }
265
+ function transformToJson5(xmlPath) {
266
+ return __awaiter(this, void 0, void 0, function* () {
267
+ const parsedXml = yield parseXML(xmlPath);
268
+ const jsonString = stringify(parsedXml, null, 2);
269
+ const jsonPath = xmlPath.replace(/\.xml$/, ".json5");
270
+ yield writeFile(jsonPath, jsonString);
271
+ logger.debug(`${xmlPath} has been transformed into ${jsonPath}`);
272
+ });
273
+ }
274
+ function transformToJson(xmlPath) {
275
+ return __awaiter(this, void 0, void 0, function* () {
276
+ const parsedXml = yield parseXML(xmlPath);
277
+ const jsonString = JSON.stringify(parsedXml, null, 2);
278
+ const jsonPath = xmlPath.replace(/\.xml$/, ".json");
279
+ yield writeFile(jsonPath, jsonString);
280
+ logger.debug(`${xmlPath} has been transformed into ${jsonPath}`);
281
+ });
282
+ }
283
+
284
+ function getTransformer(format) {
285
+ switch (format) {
286
+ case "yaml":
287
+ return transformToYaml;
288
+ case "json5":
289
+ return transformToJson5;
290
+ case "json":
291
+ return transformToJson;
292
+ default:
293
+ return undefined;
294
+ }
295
+ }
296
+
297
+ function buildNestedFile(element, disassembledPath, uniqueIdElements, rootElementName, rootElementHeader, parentKey, indent, xmlDeclarationStr, format) {
220
298
  return __awaiter(this, void 0, void 0, function* () {
221
299
  let elementContent = "";
222
- const fieldName = findUniqueIdElement(element, uniqueIdElements);
300
+ const fieldName = parseUniqueIdElement(element, uniqueIdElements);
223
301
  const outputDirectory = join(disassembledPath, parentKey);
224
302
  const outputFileName = `${fieldName}.${parentKey}-meta.xml`;
225
303
  const outputPath = join(outputDirectory, outputFileName);
226
304
  yield mkdir(outputDirectory, { recursive: true });
227
305
  const parentKeyHeader = buildRootElementHeader(element, parentKey);
228
306
  elementContent = buildXMLString(element, 2);
229
- let nestedFileContents = `${XML_HEADER}\n`;
307
+ let nestedFileContents = `${xmlDeclarationStr}\n`;
230
308
  nestedFileContents += `${rootElementHeader}\n`;
231
309
  nestedFileContents += `${indent}${parentKeyHeader}\n`;
232
310
  nestedFileContents += `${elementContent}\n`;
@@ -234,14 +312,19 @@ function buildNestedFile(element, disassembledPath, uniqueIdElements, rootElemen
234
312
  nestedFileContents += `</${rootElementName}>`;
235
313
  yield writeFile(outputPath, nestedFileContents);
236
314
  logger.debug(`Created disassembled file: ${outputPath}`);
315
+ const transformer = getTransformer(format);
316
+ if (transformer) {
317
+ yield transformer(outputPath);
318
+ yield rm(outputPath);
319
+ }
237
320
  });
238
321
  }
239
322
 
240
- function processElement(params) {
323
+ function parseElement(params) {
241
324
  return __awaiter(this, void 0, void 0, function* () {
242
- const { element, disassembledPath, uniqueIdElements, rootElementName, rootElementHeader, key, indent, leafContent, leafCount, hasNestedElements, } = params;
325
+ const { element, disassembledPath, uniqueIdElements, rootElementName, rootElementHeader, key, indent, leafContent, leafCount, hasNestedElements, xmlDeclarationStr, format, } = params;
243
326
  if (typeof element === "object") {
244
- yield buildNestedFile(element, disassembledPath, uniqueIdElements, rootElementName, rootElementHeader, key, indent);
327
+ yield buildNestedFile(element, disassembledPath, uniqueIdElements, rootElementName, rootElementHeader, key, indent, xmlDeclarationStr, format);
245
328
  return [leafContent, leafCount, true];
246
329
  }
247
330
  else {
@@ -251,24 +334,30 @@ function processElement(params) {
251
334
  });
252
335
  }
253
336
 
254
- function buildLeafFile(leafContent, disassembledPath, baseName, rootElementName, rootElementHeader) {
337
+ function buildLeafFile(leafContent, disassembledPath, baseName, rootElementName, rootElementHeader, xmlDeclarationStr, format) {
255
338
  return __awaiter(this, void 0, void 0, function* () {
256
- let leafFile = `${XML_HEADER}\n`;
339
+ let leafFile = `${xmlDeclarationStr}\n`;
257
340
  leafFile += `${rootElementHeader}\n`;
258
341
  leafFile += leafContent;
259
342
  leafFile += `</${rootElementName}>`;
260
343
  const leafOutputPath = join(disassembledPath, `${baseName}.xml`);
261
344
  yield writeFile(leafOutputPath, leafFile);
262
345
  logger.debug(`Created disassembled file: ${leafOutputPath}`);
346
+ const transformer = getTransformer(format);
347
+ if (transformer) {
348
+ yield transformer(leafOutputPath);
349
+ yield rm(leafOutputPath);
350
+ }
263
351
  });
264
352
  }
265
353
 
266
- function buildDisassembledFiles(filePath, disassembledPath, uniqueIdElements, baseName, indent, postPurge) {
354
+ function buildDisassembledFiles(filePath, disassembledPath, uniqueIdElements, baseName, indent, postPurge, format) {
267
355
  return __awaiter(this, void 0, void 0, function* () {
268
356
  const parsedXml = yield parseXML(filePath);
269
357
  if (parsedXml === undefined)
270
358
  return;
271
359
  const rootElementName = Object.keys(parsedXml)[1];
360
+ const xmlDeclarationStr = buildXMLDeclaration(parsedXml);
272
361
  const rootElement = parsedXml[rootElementName];
273
362
  const rootElementHeader = buildRootElementHeader(rootElement, rootElementName);
274
363
  let leafContent = "";
@@ -277,7 +366,7 @@ function buildDisassembledFiles(filePath, disassembledPath, uniqueIdElements, ba
277
366
  for (const key of Object.keys(rootElement).filter((key) => !key.startsWith("@"))) {
278
367
  if (Array.isArray(rootElement[key])) {
279
368
  for (const element of rootElement[key]) {
280
- const [updatedLeafContent, updatedLeafCount, updatedHasNestedElements] = yield processElement({
369
+ const [updatedLeafContent, updatedLeafCount, updatedHasNestedElements] = yield parseElement({
281
370
  element,
282
371
  disassembledPath,
283
372
  uniqueIdElements,
@@ -288,6 +377,8 @@ function buildDisassembledFiles(filePath, disassembledPath, uniqueIdElements, ba
288
377
  leafContent,
289
378
  leafCount,
290
379
  hasNestedElements,
380
+ xmlDeclarationStr,
381
+ format,
291
382
  });
292
383
  leafContent = updatedLeafContent;
293
384
  leafCount = updatedLeafCount;
@@ -295,7 +386,7 @@ function buildDisassembledFiles(filePath, disassembledPath, uniqueIdElements, ba
295
386
  }
296
387
  }
297
388
  else {
298
- const [updatedLeafContent, updatedLeafCount, updatedHasNestedElements] = yield processElement({
389
+ const [updatedLeafContent, updatedLeafCount, updatedHasNestedElements] = yield parseElement({
299
390
  element: rootElement[key],
300
391
  disassembledPath,
301
392
  uniqueIdElements,
@@ -306,6 +397,8 @@ function buildDisassembledFiles(filePath, disassembledPath, uniqueIdElements, ba
306
397
  leafContent,
307
398
  leafCount,
308
399
  hasNestedElements,
400
+ xmlDeclarationStr,
401
+ format,
309
402
  });
310
403
  leafContent = updatedLeafContent;
311
404
  leafCount = updatedLeafCount;
@@ -317,7 +410,7 @@ function buildDisassembledFiles(filePath, disassembledPath, uniqueIdElements, ba
317
410
  return;
318
411
  }
319
412
  if (leafCount > 0) {
320
- yield buildLeafFile(leafContent, disassembledPath, baseName, rootElementName, rootElementHeader);
413
+ yield buildLeafFile(leafContent, disassembledPath, baseName, rootElementName, rootElementHeader, xmlDeclarationStr, format);
321
414
  }
322
415
  if (postPurge) {
323
416
  unlink(filePath);
@@ -331,7 +424,7 @@ class DisassembleXMLFileHandler {
331
424
  }
332
425
  disassemble(xmlAttributes) {
333
426
  return __awaiter(this, void 0, void 0, function* () {
334
- const { filePath, uniqueIdElements, prePurge = false, postPurge = false, ignorePath = ".xmldisassemblerignore", } = xmlAttributes;
427
+ const { filePath, uniqueIdElements, prePurge = false, postPurge = false, ignorePath = ".xmldisassemblerignore", format = "xml", } = xmlAttributes;
335
428
  const resolvedIgnorePath = resolve(ignorePath);
336
429
  if (existsSync(resolvedIgnorePath)) {
337
430
  const content = yield readFile(resolvedIgnorePath);
@@ -356,6 +449,7 @@ class DisassembleXMLFileHandler {
356
449
  uniqueIdElements,
357
450
  prePurge,
358
451
  postPurge,
452
+ format,
359
453
  });
360
454
  }
361
455
  else if (fileStat.isDirectory()) {
@@ -371,6 +465,7 @@ class DisassembleXMLFileHandler {
371
465
  uniqueIdElements,
372
466
  prePurge,
373
467
  postPurge,
468
+ format,
374
469
  });
375
470
  }
376
471
  else if (this.ign.ignores(relativeSubFilePath)) {
@@ -382,7 +477,7 @@ class DisassembleXMLFileHandler {
382
477
  }
383
478
  processFile(xmlAttributes) {
384
479
  return __awaiter(this, void 0, void 0, function* () {
385
- const { dirPath, filePath, uniqueIdElements, prePurge, postPurge } = xmlAttributes;
480
+ const { dirPath, filePath, uniqueIdElements, prePurge, postPurge, format } = xmlAttributes;
386
481
  logger.debug(`Parsing file to disassemble: ${filePath}`);
387
482
  const fullName = basename$1(filePath, extname(filePath));
388
483
  const baseName = fullName.split(".")[0];
@@ -390,7 +485,7 @@ class DisassembleXMLFileHandler {
390
485
  outputPath = join$1(dirPath, baseName);
391
486
  if (prePurge && existsSync(outputPath))
392
487
  yield rm(outputPath, { recursive: true });
393
- yield buildDisassembledFiles(filePath, outputPath, uniqueIdElements, fullName, INDENT, postPurge);
488
+ yield buildDisassembledFiles(filePath, outputPath, uniqueIdElements, fullName, INDENT, postPurge, format);
394
489
  });
395
490
  }
396
491
  posixPath(path) {