@jjrawlins/cdk-diff-pr-github-action 1.9.1 → 1.9.2

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 (101) hide show
  1. package/.jsii +4 -4
  2. package/cdkdiffprgithubaction/go.mod +1 -1
  3. package/cdkdiffprgithubaction/jsii/jsii.go +2 -2
  4. package/cdkdiffprgithubaction/version +1 -1
  5. package/lib/CdkDiffIamTemplate.js +2 -2
  6. package/lib/CdkDiffIamTemplateStackSet.js +2 -2
  7. package/lib/CdkDiffStackWorkflow.js +1 -1
  8. package/lib/CdkDriftDetectionWorkflow.js +1 -1
  9. package/lib/CdkDriftIamTemplate.js +2 -2
  10. package/node_modules/@aws-sdk/client-cloudformation/package.json +13 -13
  11. package/node_modules/@aws-sdk/core/package.json +4 -4
  12. package/node_modules/@aws-sdk/credential-provider-env/package.json +2 -2
  13. package/node_modules/@aws-sdk/credential-provider-http/package.json +6 -6
  14. package/node_modules/@aws-sdk/credential-provider-ini/package.json +9 -9
  15. package/node_modules/@aws-sdk/credential-provider-login/package.json +3 -3
  16. package/node_modules/@aws-sdk/credential-provider-node/package.json +7 -7
  17. package/node_modules/@aws-sdk/credential-provider-process/package.json +2 -2
  18. package/node_modules/@aws-sdk/credential-provider-sso/package.json +4 -4
  19. package/node_modules/@aws-sdk/credential-provider-web-identity/package.json +3 -3
  20. package/node_modules/@aws-sdk/middleware-user-agent/package.json +3 -3
  21. package/node_modules/@aws-sdk/nested-clients/package.json +12 -12
  22. package/node_modules/@aws-sdk/token-providers/package.json +3 -3
  23. package/node_modules/@aws-sdk/util-user-agent-node/dist-cjs/index.js +36 -19
  24. package/node_modules/@aws-sdk/util-user-agent-node/dist-es/getSanitizedTypeScriptVersion.js +9 -0
  25. package/node_modules/@aws-sdk/util-user-agent-node/dist-es/getTypeScriptPackageJsonPaths.js +17 -0
  26. package/node_modules/@aws-sdk/util-user-agent-node/dist-es/getTypeScriptUserAgentPair.js +17 -12
  27. package/node_modules/@aws-sdk/util-user-agent-node/dist-types/getSanitizedTypeScriptVersion.d.ts +8 -0
  28. package/node_modules/@aws-sdk/util-user-agent-node/dist-types/getTypeScriptPackageJsonPaths.d.ts +10 -0
  29. package/node_modules/@aws-sdk/util-user-agent-node/dist-types/ts3.4/getSanitizedTypeScriptVersion.d.ts +3 -0
  30. package/node_modules/@aws-sdk/util-user-agent-node/dist-types/ts3.4/getTypeScriptPackageJsonPaths.d.ts +3 -0
  31. package/node_modules/@aws-sdk/util-user-agent-node/package.json +2 -2
  32. package/node_modules/@aws-sdk/xml-builder/dist-cjs/xml-parser.js +1 -0
  33. package/node_modules/@aws-sdk/xml-builder/dist-es/xml-parser.js +1 -0
  34. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/CHANGELOG.md +23 -0
  35. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/lib/fxbuilder.min.js +1 -1
  36. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/lib/fxbuilder.min.js.map +1 -1
  37. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/lib/fxp.cjs +1 -1
  38. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/lib/fxp.d.cts +15 -1
  39. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/lib/fxp.min.js +1 -1
  40. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/lib/fxp.min.js.map +1 -1
  41. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/lib/fxparser.min.js +1 -1
  42. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/lib/fxparser.min.js.map +1 -1
  43. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/lib/fxvalidator.min.js +1 -1
  44. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/lib/fxvalidator.min.js.map +1 -1
  45. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/package.json +3 -2
  46. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/fxp.d.ts +16 -0
  47. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/fxp.js +1 -1
  48. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/util.js +1 -26
  49. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/v6/EntitiesParser.js +87 -87
  50. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/v6/OptionsBuilder.js +10 -10
  51. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/v6/OutputBuilders/BaseOutputBuilder.js +23 -23
  52. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/v6/OutputBuilders/JsArrBuilder.js +29 -29
  53. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/v6/OutputBuilders/JsObjBuilder.js +39 -39
  54. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/v6/OutputBuilders/ParserOptionsBuilder.js +17 -17
  55. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/v6/XMLParser.js +22 -22
  56. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/v6/valueParsers/EntitiesParser.js +85 -85
  57. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/validator.js +34 -34
  58. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/xmlbuilder/json2xml.js +5 -284
  59. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/xmlparser/DocTypeReader.js +1 -1
  60. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/xmlparser/OptionsBuilder.js +2 -0
  61. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/xmlparser/OrderedObjParser.js +27 -5
  62. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/xmlparser/XMLParser.js +21 -21
  63. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/xmlparser/node2json.js +38 -34
  64. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/xmlparser/xmlNode.js +10 -10
  65. package/node_modules/@aws-sdk/xml-builder/package.json +2 -2
  66. package/node_modules/@smithy/core/dist-cjs/submodules/cbor/index.js +2 -8
  67. package/node_modules/@smithy/core/dist-es/submodules/cbor/CborCodec.js +2 -8
  68. package/node_modules/@smithy/core/package.json +2 -2
  69. package/node_modules/@smithy/fetch-http-handler/dist-cjs/index.js +18 -4
  70. package/node_modules/@smithy/fetch-http-handler/dist-es/fetch-http-handler.js +18 -4
  71. package/node_modules/@smithy/fetch-http-handler/package.json +1 -1
  72. package/node_modules/@smithy/middleware-endpoint/package.json +2 -2
  73. package/node_modules/@smithy/middleware-retry/package.json +2 -2
  74. package/node_modules/@smithy/node-http-handler/dist-cjs/index.js +21 -8
  75. package/node_modules/@smithy/node-http-handler/dist-es/build-abort-error.js +16 -0
  76. package/node_modules/@smithy/node-http-handler/dist-es/node-http-handler.js +3 -4
  77. package/node_modules/@smithy/node-http-handler/dist-es/node-http2-handler.js +3 -4
  78. package/node_modules/@smithy/node-http-handler/dist-types/build-abort-error.d.ts +9 -0
  79. package/node_modules/@smithy/node-http-handler/dist-types/ts3.4/build-abort-error.d.ts +9 -0
  80. package/node_modules/@smithy/node-http-handler/package.json +1 -1
  81. package/node_modules/@smithy/smithy-client/package.json +4 -4
  82. package/node_modules/@smithy/util-defaults-mode-browser/package.json +2 -2
  83. package/node_modules/@smithy/util-defaults-mode-node/package.json +2 -2
  84. package/node_modules/@smithy/util-stream/package.json +3 -3
  85. package/node_modules/fast-xml-builder/LICENSE +21 -0
  86. package/node_modules/fast-xml-builder/README.md +23 -0
  87. package/node_modules/fast-xml-builder/lib/builder.cjs +1 -0
  88. package/node_modules/fast-xml-builder/lib/builder.min.js +2 -0
  89. package/node_modules/fast-xml-builder/lib/builder.min.js.map +1 -0
  90. package/node_modules/fast-xml-builder/lib/fxb.d.cts +167 -0
  91. package/node_modules/fast-xml-builder/package.json +78 -0
  92. package/node_modules/fast-xml-builder/src/fxb.d.ts +156 -0
  93. package/node_modules/fast-xml-builder/src/fxb.js +285 -0
  94. package/node_modules/fast-xml-builder/src/ignoreAttributes.js +18 -0
  95. package/node_modules/{@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/xmlbuilder → fast-xml-builder/src}/orderedJs2Xml.js +14 -3
  96. package/node_modules/fast-xml-builder/src/prettifyJs2Xml.js +0 -0
  97. package/package.json +2 -2
  98. package/node_modules/@aws-sdk/util-user-agent-node/dist-es/getTypeScriptPackageJsonPath.js +0 -14
  99. package/node_modules/@aws-sdk/util-user-agent-node/dist-types/getTypeScriptPackageJsonPath.d.ts +0 -9
  100. package/node_modules/@aws-sdk/util-user-agent-node/dist-types/ts3.4/getTypeScriptPackageJsonPath.d.ts +0 -1
  101. /package/node_modules/{@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/xmlbuilder/prettifyJs2Xml.js → fast-xml-builder/CHANGELOG.md} +0 -0
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-sdk/middleware-user-agent",
3
- "version": "3.972.15",
3
+ "version": "3.972.16",
4
4
  "scripts": {
5
5
  "build": "concurrently 'yarn:build:types' 'yarn:build:es' && yarn build:cjs",
6
6
  "build:cjs": "node ../../scripts/compilation/inline middleware-user-agent",
@@ -25,10 +25,10 @@
25
25
  },
26
26
  "license": "Apache-2.0",
27
27
  "dependencies": {
28
- "@aws-sdk/core": "^3.973.15",
28
+ "@aws-sdk/core": "^3.973.16",
29
29
  "@aws-sdk/types": "^3.973.4",
30
30
  "@aws-sdk/util-endpoints": "^3.996.3",
31
- "@smithy/core": "^3.23.6",
31
+ "@smithy/core": "^3.23.7",
32
32
  "@smithy/protocol-http": "^5.3.10",
33
33
  "@smithy/types": "^4.13.0",
34
34
  "tslib": "^2.6.2"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-sdk/nested-clients",
3
- "version": "3.996.3",
3
+ "version": "3.996.4",
4
4
  "description": "Nested clients for AWS SDK packages.",
5
5
  "main": "./dist-cjs/index.js",
6
6
  "module": "./dist-es/index.js",
@@ -29,37 +29,37 @@
29
29
  "dependencies": {
30
30
  "@aws-crypto/sha256-browser": "5.2.0",
31
31
  "@aws-crypto/sha256-js": "5.2.0",
32
- "@aws-sdk/core": "^3.973.15",
32
+ "@aws-sdk/core": "^3.973.16",
33
33
  "@aws-sdk/middleware-host-header": "^3.972.6",
34
34
  "@aws-sdk/middleware-logger": "^3.972.6",
35
35
  "@aws-sdk/middleware-recursion-detection": "^3.972.6",
36
- "@aws-sdk/middleware-user-agent": "^3.972.15",
36
+ "@aws-sdk/middleware-user-agent": "^3.972.16",
37
37
  "@aws-sdk/region-config-resolver": "^3.972.6",
38
38
  "@aws-sdk/types": "^3.973.4",
39
39
  "@aws-sdk/util-endpoints": "^3.996.3",
40
40
  "@aws-sdk/util-user-agent-browser": "^3.972.6",
41
- "@aws-sdk/util-user-agent-node": "^3.973.0",
41
+ "@aws-sdk/util-user-agent-node": "^3.973.1",
42
42
  "@smithy/config-resolver": "^4.4.9",
43
- "@smithy/core": "^3.23.6",
44
- "@smithy/fetch-http-handler": "^5.3.11",
43
+ "@smithy/core": "^3.23.7",
44
+ "@smithy/fetch-http-handler": "^5.3.12",
45
45
  "@smithy/hash-node": "^4.2.10",
46
46
  "@smithy/invalid-dependency": "^4.2.10",
47
47
  "@smithy/middleware-content-length": "^4.2.10",
48
- "@smithy/middleware-endpoint": "^4.4.20",
49
- "@smithy/middleware-retry": "^4.4.37",
48
+ "@smithy/middleware-endpoint": "^4.4.21",
49
+ "@smithy/middleware-retry": "^4.4.38",
50
50
  "@smithy/middleware-serde": "^4.2.11",
51
51
  "@smithy/middleware-stack": "^4.2.10",
52
52
  "@smithy/node-config-provider": "^4.3.10",
53
- "@smithy/node-http-handler": "^4.4.12",
53
+ "@smithy/node-http-handler": "^4.4.13",
54
54
  "@smithy/protocol-http": "^5.3.10",
55
- "@smithy/smithy-client": "^4.12.0",
55
+ "@smithy/smithy-client": "^4.12.1",
56
56
  "@smithy/types": "^4.13.0",
57
57
  "@smithy/url-parser": "^4.2.10",
58
58
  "@smithy/util-base64": "^4.3.1",
59
59
  "@smithy/util-body-length-browser": "^4.2.1",
60
60
  "@smithy/util-body-length-node": "^4.2.2",
61
- "@smithy/util-defaults-mode-browser": "^4.3.36",
62
- "@smithy/util-defaults-mode-node": "^4.2.39",
61
+ "@smithy/util-defaults-mode-browser": "^4.3.37",
62
+ "@smithy/util-defaults-mode-node": "^4.2.40",
63
63
  "@smithy/util-endpoints": "^3.3.1",
64
64
  "@smithy/util-middleware": "^4.2.10",
65
65
  "@smithy/util-retry": "^4.2.10",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-sdk/token-providers",
3
- "version": "3.999.0",
3
+ "version": "3.1001.0",
4
4
  "description": "A collection of token providers",
5
5
  "main": "./dist-cjs/index.js",
6
6
  "module": "./dist-es/index.js",
@@ -29,8 +29,8 @@
29
29
  },
30
30
  "license": "Apache-2.0",
31
31
  "dependencies": {
32
- "@aws-sdk/core": "^3.973.15",
33
- "@aws-sdk/nested-clients": "^3.996.3",
32
+ "@aws-sdk/core": "^3.973.16",
33
+ "@aws-sdk/nested-clients": "^3.996.4",
34
34
  "@aws-sdk/types": "^3.973.4",
35
35
  "@smithy/property-provider": "^4.2.10",
36
36
  "@smithy/shared-ini-file-loader": "^4.4.5",
@@ -16,18 +16,31 @@ const getRuntimeUserAgentPair = () => {
16
16
  return ["md/nodejs", node_process.versions.node];
17
17
  };
18
18
 
19
- const getTypeScriptPackageJsonPath = (dirname = "") => {
20
- let nodeModulesPath;
19
+ const SEMVER_REGEX = /^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+[0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*)?$/;
20
+ const getSanitizedTypeScriptVersion = (version = "") => {
21
+ const match = version.match(SEMVER_REGEX);
22
+ if (!match) {
23
+ return undefined;
24
+ }
25
+ const [major, minor, patch, prerelease] = [match[1], match[2], match[3], match[4]];
26
+ return prerelease ? `${major}.${minor}.${patch}-${prerelease}` : `${major}.${minor}.${patch}`;
27
+ };
28
+
29
+ const typescriptPackageJsonPath = node_path.join("node_modules", "typescript", "package.json");
30
+ const getTypeScriptPackageJsonPaths = (dirname) => {
31
+ const cwdPath = node_path.join(process.cwd(), typescriptPackageJsonPath);
32
+ if (!dirname) {
33
+ return [cwdPath];
34
+ }
21
35
  const normalizedPath = node_path.normalize(dirname);
22
36
  const parts = normalizedPath.split(node_path.sep);
23
37
  const nodeModulesIndex = parts.indexOf("node_modules");
24
- if (nodeModulesIndex !== -1) {
25
- nodeModulesPath = parts.slice(0, nodeModulesIndex).join(node_path.sep);
38
+ const parentDir = nodeModulesIndex !== -1 ? parts.slice(0, nodeModulesIndex).join(node_path.sep) : dirname;
39
+ const parentDirPath = node_path.join(parentDir, typescriptPackageJsonPath);
40
+ if (cwdPath === parentDirPath) {
41
+ return [cwdPath];
26
42
  }
27
- else {
28
- nodeModulesPath = dirname;
29
- }
30
- return node_path.join(nodeModulesPath, "node_modules", "typescript", "package.json");
43
+ return [parentDirPath, cwdPath];
31
44
  };
32
45
 
33
46
  let tscVersion;
@@ -38,19 +51,23 @@ const getTypeScriptUserAgentPair = async () => {
38
51
  else if (typeof tscVersion === "string") {
39
52
  return ["md/tsc", tscVersion];
40
53
  }
41
- try {
42
- const packageJson = await promises.readFile(getTypeScriptPackageJsonPath(__dirname), "utf-8");
43
- const { version } = JSON.parse(packageJson);
44
- if (typeof version !== "string") {
45
- tscVersion = null;
46
- return undefined;
54
+ const dirname = typeof __dirname !== "undefined" ? __dirname : undefined;
55
+ for (const typescriptPackageJsonPath of getTypeScriptPackageJsonPaths(dirname)) {
56
+ try {
57
+ const packageJson = await promises.readFile(typescriptPackageJsonPath, "utf-8");
58
+ const { version } = JSON.parse(packageJson);
59
+ const sanitizedVersion = getSanitizedTypeScriptVersion(version);
60
+ if (typeof sanitizedVersion !== "string") {
61
+ continue;
62
+ }
63
+ tscVersion = sanitizedVersion;
64
+ return ["md/tsc", tscVersion];
65
+ }
66
+ catch {
47
67
  }
48
- tscVersion = version;
49
- return ["md/tsc", tscVersion];
50
- }
51
- catch {
52
- tscVersion = null;
53
68
  }
69
+ tscVersion = null;
70
+ return undefined;
54
71
  };
55
72
 
56
73
  const crtAvailability = {
@@ -0,0 +1,9 @@
1
+ const SEMVER_REGEX = /^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+[0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*)?$/;
2
+ export const getSanitizedTypeScriptVersion = (version = "") => {
3
+ const match = version.match(SEMVER_REGEX);
4
+ if (!match) {
5
+ return undefined;
6
+ }
7
+ const [major, minor, patch, prerelease] = [match[1], match[2], match[3], match[4]];
8
+ return prerelease ? `${major}.${minor}.${patch}-${prerelease}` : `${major}.${minor}.${patch}`;
9
+ };
@@ -0,0 +1,17 @@
1
+ import { join, normalize, sep } from "node:path";
2
+ const typescriptPackageJsonPath = join("node_modules", "typescript", "package.json");
3
+ export const getTypeScriptPackageJsonPaths = (dirname) => {
4
+ const cwdPath = join(process.cwd(), typescriptPackageJsonPath);
5
+ if (!dirname) {
6
+ return [cwdPath];
7
+ }
8
+ const normalizedPath = normalize(dirname);
9
+ const parts = normalizedPath.split(sep);
10
+ const nodeModulesIndex = parts.indexOf("node_modules");
11
+ const parentDir = nodeModulesIndex !== -1 ? parts.slice(0, nodeModulesIndex).join(sep) : dirname;
12
+ const parentDirPath = join(parentDir, typescriptPackageJsonPath);
13
+ if (cwdPath === parentDirPath) {
14
+ return [cwdPath];
15
+ }
16
+ return [parentDirPath, cwdPath];
17
+ };
@@ -1,5 +1,6 @@
1
1
  import { readFile } from "node:fs/promises";
2
- import { getTypeScriptPackageJsonPath } from "./getTypeScriptPackageJsonPath";
2
+ import { getSanitizedTypeScriptVersion } from "./getSanitizedTypeScriptVersion";
3
+ import { getTypeScriptPackageJsonPaths } from "./getTypeScriptPackageJsonPaths";
3
4
  let tscVersion;
4
5
  export const getTypeScriptUserAgentPair = async () => {
5
6
  if (tscVersion === null) {
@@ -8,17 +9,21 @@ export const getTypeScriptUserAgentPair = async () => {
8
9
  else if (typeof tscVersion === "string") {
9
10
  return ["md/tsc", tscVersion];
10
11
  }
11
- try {
12
- const packageJson = await readFile(getTypeScriptPackageJsonPath(__dirname), "utf-8");
13
- const { version } = JSON.parse(packageJson);
14
- if (typeof version !== "string") {
15
- tscVersion = null;
16
- return undefined;
12
+ const dirname = typeof __dirname !== "undefined" ? __dirname : undefined;
13
+ for (const typescriptPackageJsonPath of getTypeScriptPackageJsonPaths(dirname)) {
14
+ try {
15
+ const packageJson = await readFile(typescriptPackageJsonPath, "utf-8");
16
+ const { version } = JSON.parse(packageJson);
17
+ const sanitizedVersion = getSanitizedTypeScriptVersion(version);
18
+ if (typeof sanitizedVersion !== "string") {
19
+ continue;
20
+ }
21
+ tscVersion = sanitizedVersion;
22
+ return ["md/tsc", tscVersion];
23
+ }
24
+ catch {
17
25
  }
18
- tscVersion = version;
19
- return ["md/tsc", tscVersion];
20
- }
21
- catch {
22
- tscVersion = null;
23
26
  }
27
+ tscVersion = null;
28
+ return undefined;
24
29
  };
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Validates a semver string (with optional pre-release and/or build metadata).
3
+ * If valid, returns the version string with build metadata stripped.
4
+ * Returns undefined if the string is not a valid semver.
5
+ *
6
+ * @internal
7
+ */
8
+ export declare const getSanitizedTypeScriptVersion: (version?: string) => string | undefined;
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Returns candidate paths to the TypeScript package.json file derived from the current
3
+ * working directory and, if provided, from the given directory.
4
+ *
5
+ * @param dirname - Optional directory path to derive an additional candidate path from.
6
+ * @returns An array of unique candidate paths to the TypeScript package.json file.
7
+ *
8
+ * @internal
9
+ */
10
+ export declare const getTypeScriptPackageJsonPaths: (dirname?: string) => string[];
@@ -0,0 +1,3 @@
1
+ export declare const getSanitizedTypeScriptVersion: (
2
+ version?: string
3
+ ) => string | undefined;
@@ -0,0 +1,3 @@
1
+ export declare const getTypeScriptPackageJsonPaths: (
2
+ dirname?: string
3
+ ) => string[];
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-sdk/util-user-agent-node",
3
- "version": "3.973.0",
3
+ "version": "3.973.1",
4
4
  "scripts": {
5
5
  "build": "concurrently 'yarn:build:types' 'yarn:build:es' && yarn build:cjs",
6
6
  "build:cjs": "node ../../scripts/compilation/inline util-user-agent-node",
@@ -24,7 +24,7 @@
24
24
  },
25
25
  "license": "Apache-2.0",
26
26
  "dependencies": {
27
- "@aws-sdk/middleware-user-agent": "^3.972.15",
27
+ "@aws-sdk/middleware-user-agent": "^3.972.16",
28
28
  "@aws-sdk/types": "^3.973.4",
29
29
  "@smithy/node-config-provider": "^4.3.10",
30
30
  "@smithy/types": "^4.13.0",
@@ -10,6 +10,7 @@ const parser = new fast_xml_parser_1.XMLParser({
10
10
  parseTagValue: false,
11
11
  trimValues: false,
12
12
  tagValueProcessor: (_, val) => (val.trim() === "" && val.includes("\n") ? "" : undefined),
13
+ maxNestedTags: 1024,
13
14
  });
14
15
  parser.addEntity("#xD", "\r");
15
16
  parser.addEntity("#10", "\n");
@@ -7,6 +7,7 @@ const parser = new XMLParser({
7
7
  parseTagValue: false,
8
8
  trimValues: false,
9
9
  tagValueProcessor: (_, val) => (val.trim() === "" && val.includes("\n") ? "" : undefined),
10
+ maxNestedTags: 1024,
10
11
  });
11
12
  parser.addEntity("#xD", "\r");
12
13
  parser.addEntity("#10", "\n");
@@ -1,5 +1,28 @@
1
1
  <small>Note: If you find missing information about particular minor version, that version must have been changed without any functional change in this library.</small>
2
2
 
3
+ **5.4.1 / 2026-02-25**
4
+ - fix (#785) unpairedTag node should not have tag content
5
+
6
+
7
+ **5.4.0 / 2026-02-25**
8
+ - migrate to fast-xml-builder
9
+
10
+ 5.3.9
11
+ **5.3.9 / 2026-02-25**
12
+ - support strictReservedNames
13
+
14
+ 5.3.8
15
+ **5.3.8 / 2026-02-25**
16
+ - support maxNestedTags
17
+ - handle non-array input for XML builder when preserveOrder is true (By [Angelo Coetzee](https://github.com/Angelopvtac))
18
+ - save use of js properies
19
+
20
+ 5.3.7
21
+ **5.3.7 / 2026-02-20**
22
+ - fix typings for CJS (By [Corentin Girard](https://github.com/Drarig29))
23
+
24
+
25
+
3
26
  **5.3.6 / 2026-02-14**
4
27
  - Improve security and performance of entity processing
5
28
  - new options `maxEntitySize`, `maxExpansionDepth`, `maxTotalExpansions`, `maxExpandedLength`, `allowedTags`,`tagFilter`
@@ -1,2 +1,2 @@
1
- !function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.XMLBuilder=e():t.XMLBuilder=e()}(this,(()=>(()=>{"use strict";var t={d:(e,i)=>{for(var r in i)t.o(i,r)&&!t.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:i[r]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r:t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})}},e={};function i(t,e){var i="";return e.format&&e.indentBy.length>0&&(i="\n"),r(t,e,"",i)}function r(t,e,i,u){for(var p="",h=!1,l=0;l<t.length;l++){var d=t[l],f=n(d);if(void 0!==f){var c;if(c=0===i.length?f:i+"."+f,f!==e.textNodeName)if(f!==e.cdataPropName)if(f!==e.commentPropName)if("?"!==f[0]){var g=u;""!==g&&(g+=e.indentBy);var b=u+"<"+f+o(d[":@"],e),m=r(d[f],e,c,g);-1!==e.unpairedTags.indexOf(f)?e.suppressUnpairedNode?p+=b+">":p+=b+"/>":m&&0!==m.length||!e.suppressEmptyNode?m&&m.endsWith(">")?p+=b+">"+m+u+"</"+f+">":(p+=b+">",m&&""!==u&&(m.includes("/>")||m.includes("</"))?p+=u+e.indentBy+m+u:p+=m,p+="</"+f+">"):p+=b+"/>",h=!0}else{var N=o(d[":@"],e),v="?xml"===f?"":u,y=d[f][0][e.textNodeName];p+=v+"<"+f+(y=0!==y.length?" "+y:"")+N+"?>",h=!0}else p+=u+"\x3c!--"+d[f][0][e.textNodeName]+"--\x3e",h=!0;else h&&(p+=u),p+="<![CDATA["+d[f][0][e.textNodeName]+"]]>",h=!1;else{var x=d[f];s(c,e)||(x=a(x=e.tagValueProcessor(f,x),e)),h&&(p+=u),p+=x,h=!1}}}return p}function n(t){for(var e=Object.keys(t),i=0;i<e.length;i++){var r=e[i];if(t.hasOwnProperty(r)&&":@"!==r)return r}}function o(t,e){var i="";if(t&&!e.ignoreAttributes)for(var r in t)if(t.hasOwnProperty(r)){var n=e.attributeValueProcessor(r,t[r]);!0===(n=a(n,e))&&e.suppressBooleanAttributes?i+=" "+r.substr(e.attributeNamePrefix.length):i+=" "+r.substr(e.attributeNamePrefix.length)+'="'+n+'"'}return i}function s(t,e){var i=(t=t.substr(0,t.length-e.textNodeName.length-1)).substr(t.lastIndexOf(".")+1);for(var r in e.stopNodes)if(e.stopNodes[r]===t||e.stopNodes[r]==="*."+i)return!0;return!1}function a(t,e){if(t&&t.length>0&&e.processEntities)for(var i=0;i<e.entities.length;i++){var r=e.entities[i];t=t.replace(r.regex,r.val)}return t}function u(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,r=Array(e);i<e;i++)r[i]=t[i];return r}t.r(e),t.d(e,{default:()=>h});var p={attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,cdataPropName:!1,format:!1,indentBy:" ",suppressEmptyNode:!1,suppressUnpairedNode:!0,suppressBooleanAttributes:!0,tagValueProcessor:function(t,e){return e},attributeValueProcessor:function(t,e){return e},preserveOrder:!1,commentPropName:!1,unpairedTags:[],entities:[{regex:new RegExp("&","g"),val:"&amp;"},{regex:new RegExp(">","g"),val:"&gt;"},{regex:new RegExp("<","g"),val:"&lt;"},{regex:new RegExp("'","g"),val:"&apos;"},{regex:new RegExp('"',"g"),val:"&quot;"}],processEntities:!0,stopNodes:[],oneListGroup:!1};function h(t){var e;this.options=Object.assign({},p,t),!0===this.options.ignoreAttributes||this.options.attributesGroupName?this.isAttribute=function(){return!1}:(this.ignoreAttributesFn="function"==typeof(e=this.options.ignoreAttributes)?e:Array.isArray(e)?function(t){for(var i,r=function(t,e){var i="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(i)return(i=i.call(t)).next.bind(i);if(Array.isArray(t)||(i=function(t,e){if(t){if("string"==typeof t)return u(t,e);var i={}.toString.call(t).slice(8,-1);return"Object"===i&&t.constructor&&(i=t.constructor.name),"Map"===i||"Set"===i?Array.from(t):"Arguments"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i)?u(t,e):void 0}}(t))||e&&t&&"number"==typeof t.length){i&&(t=i);var r=0;return function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(e);!(i=r()).done;){var n=i.value;if("string"==typeof n&&t===n)return!0;if(n instanceof RegExp&&n.test(t))return!0}}:function(){return!1},this.attrPrefixLen=this.options.attributeNamePrefix.length,this.isAttribute=f),this.processTextOrObjNode=l,this.options.format?(this.indentate=d,this.tagEndChar=">\n",this.newLine="\n"):(this.indentate=function(){return""},this.tagEndChar=">",this.newLine="")}function l(t,e,i,r){var n=this.j2x(t,i+1,r.concat(e));return void 0!==t[this.options.textNodeName]&&1===Object.keys(t).length?this.buildTextValNode(t[this.options.textNodeName],e,n.attrStr,i):this.buildObjectNode(n.val,e,n.attrStr,i)}function d(t){return this.options.indentBy.repeat(t)}function f(t){return!(!t.startsWith(this.options.attributeNamePrefix)||t===this.options.textNodeName)&&t.substr(this.attrPrefixLen)}return h.prototype.build=function(t){return this.options.preserveOrder?i(t,this.options):(Array.isArray(t)&&this.options.arrayNodeName&&this.options.arrayNodeName.length>1&&((e={})[this.options.arrayNodeName]=t,t=e),this.j2x(t,0,[]).val);var e},h.prototype.j2x=function(t,e,i){var r="",n="",o=i.join(".");for(var s in t)if(Object.prototype.hasOwnProperty.call(t,s))if(void 0===t[s])this.isAttribute(s)&&(n+="");else if(null===t[s])this.isAttribute(s)||s===this.options.cdataPropName?n+="":"?"===s[0]?n+=this.indentate(e)+"<"+s+"?"+this.tagEndChar:n+=this.indentate(e)+"<"+s+"/"+this.tagEndChar;else if(t[s]instanceof Date)n+=this.buildTextValNode(t[s],s,"",e);else if("object"!=typeof t[s]){var a=this.isAttribute(s);if(a&&!this.ignoreAttributesFn(a,o))r+=this.buildAttrPairStr(a,""+t[s]);else if(!a)if(s===this.options.textNodeName){var u=this.options.tagValueProcessor(s,""+t[s]);n+=this.replaceEntitiesValue(u)}else n+=this.buildTextValNode(t[s],s,"",e)}else if(Array.isArray(t[s])){for(var p=t[s].length,h="",l="",d=0;d<p;d++){var f=t[s][d];if(void 0===f);else if(null===f)"?"===s[0]?n+=this.indentate(e)+"<"+s+"?"+this.tagEndChar:n+=this.indentate(e)+"<"+s+"/"+this.tagEndChar;else if("object"==typeof f)if(this.options.oneListGroup){var c=this.j2x(f,e+1,i.concat(s));h+=c.val,this.options.attributesGroupName&&f.hasOwnProperty(this.options.attributesGroupName)&&(l+=c.attrStr)}else h+=this.processTextOrObjNode(f,s,e,i);else if(this.options.oneListGroup){var g=this.options.tagValueProcessor(s,f);h+=g=this.replaceEntitiesValue(g)}else h+=this.buildTextValNode(f,s,"",e)}this.options.oneListGroup&&(h=this.buildObjectNode(h,s,l,e)),n+=h}else if(this.options.attributesGroupName&&s===this.options.attributesGroupName)for(var b=Object.keys(t[s]),m=b.length,N=0;N<m;N++)r+=this.buildAttrPairStr(b[N],""+t[s][b[N]]);else n+=this.processTextOrObjNode(t[s],s,e,i);return{attrStr:r,val:n}},h.prototype.buildAttrPairStr=function(t,e){return e=this.options.attributeValueProcessor(t,""+e),e=this.replaceEntitiesValue(e),this.options.suppressBooleanAttributes&&"true"===e?" "+t:" "+t+'="'+e+'"'},h.prototype.buildObjectNode=function(t,e,i,r){if(""===t)return"?"===e[0]?this.indentate(r)+"<"+e+i+"?"+this.tagEndChar:this.indentate(r)+"<"+e+i+this.closeTag(e)+this.tagEndChar;var n="</"+e+this.tagEndChar,o="";return"?"===e[0]&&(o="?",n=""),!i&&""!==i||-1!==t.indexOf("<")?!1!==this.options.commentPropName&&e===this.options.commentPropName&&0===o.length?this.indentate(r)+"\x3c!--"+t+"--\x3e"+this.newLine:this.indentate(r)+"<"+e+i+o+this.tagEndChar+t+this.indentate(r)+n:this.indentate(r)+"<"+e+i+o+">"+t+n},h.prototype.closeTag=function(t){var e="";return-1!==this.options.unpairedTags.indexOf(t)?this.options.suppressUnpairedNode||(e="/"):e=this.options.suppressEmptyNode?"/":"></"+t,e},h.prototype.buildTextValNode=function(t,e,i,r){if(!1!==this.options.cdataPropName&&e===this.options.cdataPropName)return this.indentate(r)+"<![CDATA["+t+"]]>"+this.newLine;if(!1!==this.options.commentPropName&&e===this.options.commentPropName)return this.indentate(r)+"\x3c!--"+t+"--\x3e"+this.newLine;if("?"===e[0])return this.indentate(r)+"<"+e+i+"?"+this.tagEndChar;var n=this.options.tagValueProcessor(e,t);return""===(n=this.replaceEntitiesValue(n))?this.indentate(r)+"<"+e+i+this.closeTag(e)+this.tagEndChar:this.indentate(r)+"<"+e+i+">"+n+"</"+e+this.tagEndChar},h.prototype.replaceEntitiesValue=function(t){if(t&&t.length>0&&this.options.processEntities)for(var e=0;e<this.options.entities.length;e++){var i=this.options.entities[e];t=t.replace(i.regex,i.val)}return t},e})()));
1
+ !function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.XMLBuilder=e():t.XMLBuilder=e()}(this,()=>(()=>{"use strict";var t={d:(e,i)=>{for(var s in i)t.o(i,s)&&!t.o(e,s)&&Object.defineProperty(e,s,{enumerable:!0,get:i[s]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r:t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})}},e={};function i(t,e){let i="";return e.format&&e.indentBy.length>0&&(i="\n"),s(t,e,"",i)}function s(t,e,i,p){let u="",h=!1;if(!Array.isArray(t)){if(null!=t){let i=t.toString();return i=a(i,e),i}return""}for(let l=0;l<t.length;l++){const d=t[l],c=n(d);if(void 0===c)continue;let f="";if(f=0===i.length?c:`${i}.${c}`,c===e.textNodeName){let t=d[c];r(f,e)||(t=e.tagValueProcessor(c,t),t=a(t,e)),h&&(u+=p),u+=t,h=!1;continue}if(c===e.cdataPropName){h&&(u+=p),u+=`<![CDATA[${d[c][0][e.textNodeName]}]]>`,h=!1;continue}if(c===e.commentPropName){u+=p+`\x3c!--${d[c][0][e.textNodeName]}--\x3e`,h=!0;continue}if("?"===c[0]){const t=o(d[":@"],e),i="?xml"===c?"":p;let s=d[c][0][e.textNodeName];s=0!==s.length?" "+s:"",u+=i+`<${c}${s}${t}?>`,h=!0;continue}let g=p;""!==g&&(g+=e.indentBy);const b=p+`<${c}${o(d[":@"],e)}`,N=s(d[c],e,f,g);-1!==e.unpairedTags.indexOf(c)?e.suppressUnpairedNode?u+=b+">":u+=b+"/>":N&&0!==N.length||!e.suppressEmptyNode?N&&N.endsWith(">")?u+=b+`>${N}${p}</${c}>`:(u+=b+">",N&&""!==p&&(N.includes("/>")||N.includes("</"))?u+=p+e.indentBy+N+p:u+=N,u+=`</${c}>`):u+=b+"/>",h=!0}return u}function n(t){const e=Object.keys(t);for(let i=0;i<e.length;i++){const s=e[i];if(Object.prototype.hasOwnProperty.call(t,s)&&":@"!==s)return s}}function o(t,e){let i="";if(t&&!e.ignoreAttributes)for(let s in t){if(!Object.prototype.hasOwnProperty.call(t,s))continue;let n=e.attributeValueProcessor(s,t[s]);n=a(n,e),!0===n&&e.suppressBooleanAttributes?i+=` ${s.substr(e.attributeNamePrefix.length)}`:i+=` ${s.substr(e.attributeNamePrefix.length)}="${n}"`}return i}function r(t,e){let i=(t=t.substr(0,t.length-e.textNodeName.length-1)).substr(t.lastIndexOf(".")+1);for(let s in e.stopNodes)if(e.stopNodes[s]===t||e.stopNodes[s]==="*."+i)return!0;return!1}function a(t,e){if(t&&t.length>0&&e.processEntities)for(let i=0;i<e.entities.length;i++){const s=e.entities[i];t=t.replace(s.regex,s.val)}return t}t.r(e),t.d(e,{default:()=>c});const p={attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,cdataPropName:!1,format:!1,indentBy:" ",suppressEmptyNode:!1,suppressUnpairedNode:!0,suppressBooleanAttributes:!0,tagValueProcessor:function(t,e){return e},attributeValueProcessor:function(t,e){return e},preserveOrder:!1,commentPropName:!1,unpairedTags:[],entities:[{regex:new RegExp("&","g"),val:"&amp;"},{regex:new RegExp(">","g"),val:"&gt;"},{regex:new RegExp("<","g"),val:"&lt;"},{regex:new RegExp("'","g"),val:"&apos;"},{regex:new RegExp('"',"g"),val:"&quot;"}],processEntities:!0,stopNodes:[],oneListGroup:!1};function u(t){var e;this.options=Object.assign({},p,t),!0===this.options.ignoreAttributes||this.options.attributesGroupName?this.isAttribute=function(){return!1}:(this.ignoreAttributesFn="function"==typeof(e=this.options.ignoreAttributes)?e:Array.isArray(e)?t=>{for(const i of e){if("string"==typeof i&&t===i)return!0;if(i instanceof RegExp&&i.test(t))return!0}}:()=>!1,this.attrPrefixLen=this.options.attributeNamePrefix.length,this.isAttribute=d),this.processTextOrObjNode=h,this.options.format?(this.indentate=l,this.tagEndChar=">\n",this.newLine="\n"):(this.indentate=function(){return""},this.tagEndChar=">",this.newLine="")}function h(t,e,i,s){const n=this.j2x(t,i+1,s.concat(e));return void 0!==t[this.options.textNodeName]&&1===Object.keys(t).length?this.buildTextValNode(t[this.options.textNodeName],e,n.attrStr,i):this.buildObjectNode(n.val,e,n.attrStr,i)}function l(t){return this.options.indentBy.repeat(t)}function d(t){return!(!t.startsWith(this.options.attributeNamePrefix)||t===this.options.textNodeName)&&t.substr(this.attrPrefixLen)}u.prototype.build=function(t){return this.options.preserveOrder?i(t,this.options):(Array.isArray(t)&&this.options.arrayNodeName&&this.options.arrayNodeName.length>1&&(t={[this.options.arrayNodeName]:t}),this.j2x(t,0,[]).val)},u.prototype.j2x=function(t,e,i){let s="",n="";const o=i.join(".");for(let r in t)if(Object.prototype.hasOwnProperty.call(t,r))if(void 0===t[r])this.isAttribute(r)&&(n+="");else if(null===t[r])this.isAttribute(r)||r===this.options.cdataPropName?n+="":"?"===r[0]?n+=this.indentate(e)+"<"+r+"?"+this.tagEndChar:n+=this.indentate(e)+"<"+r+"/"+this.tagEndChar;else if(t[r]instanceof Date)n+=this.buildTextValNode(t[r],r,"",e);else if("object"!=typeof t[r]){const i=this.isAttribute(r);if(i&&!this.ignoreAttributesFn(i,o))s+=this.buildAttrPairStr(i,""+t[r]);else if(!i)if(r===this.options.textNodeName){let e=this.options.tagValueProcessor(r,""+t[r]);n+=this.replaceEntitiesValue(e)}else n+=this.buildTextValNode(t[r],r,"",e)}else if(Array.isArray(t[r])){const s=t[r].length;let o="",a="";for(let p=0;p<s;p++){const s=t[r][p];if(void 0===s);else if(null===s)"?"===r[0]?n+=this.indentate(e)+"<"+r+"?"+this.tagEndChar:n+=this.indentate(e)+"<"+r+"/"+this.tagEndChar;else if("object"==typeof s)if(this.options.oneListGroup){const t=this.j2x(s,e+1,i.concat(r));o+=t.val,this.options.attributesGroupName&&s.hasOwnProperty(this.options.attributesGroupName)&&(a+=t.attrStr)}else o+=this.processTextOrObjNode(s,r,e,i);else if(this.options.oneListGroup){let t=this.options.tagValueProcessor(r,s);t=this.replaceEntitiesValue(t),o+=t}else o+=this.buildTextValNode(s,r,"",e)}this.options.oneListGroup&&(o=this.buildObjectNode(o,r,a,e)),n+=o}else if(this.options.attributesGroupName&&r===this.options.attributesGroupName){const e=Object.keys(t[r]),i=e.length;for(let n=0;n<i;n++)s+=this.buildAttrPairStr(e[n],""+t[r][e[n]])}else n+=this.processTextOrObjNode(t[r],r,e,i);return{attrStr:s,val:n}},u.prototype.buildAttrPairStr=function(t,e){return e=this.options.attributeValueProcessor(t,""+e),e=this.replaceEntitiesValue(e),this.options.suppressBooleanAttributes&&"true"===e?" "+t:" "+t+'="'+e+'"'},u.prototype.buildObjectNode=function(t,e,i,s){if(""===t)return"?"===e[0]?this.indentate(s)+"<"+e+i+"?"+this.tagEndChar:this.indentate(s)+"<"+e+i+this.closeTag(e)+this.tagEndChar;{let n="</"+e+this.tagEndChar,o="";return"?"===e[0]&&(o="?",n=""),!i&&""!==i||-1!==t.indexOf("<")?!1!==this.options.commentPropName&&e===this.options.commentPropName&&0===o.length?this.indentate(s)+`\x3c!--${t}--\x3e`+this.newLine:this.indentate(s)+"<"+e+i+o+this.tagEndChar+t+this.indentate(s)+n:this.indentate(s)+"<"+e+i+o+">"+t+n}},u.prototype.closeTag=function(t){let e="";return-1!==this.options.unpairedTags.indexOf(t)?this.options.suppressUnpairedNode||(e="/"):e=this.options.suppressEmptyNode?"/":`></${t}`,e},u.prototype.buildTextValNode=function(t,e,i,s){if(!1!==this.options.cdataPropName&&e===this.options.cdataPropName)return this.indentate(s)+`<![CDATA[${t}]]>`+this.newLine;if(!1!==this.options.commentPropName&&e===this.options.commentPropName)return this.indentate(s)+`\x3c!--${t}--\x3e`+this.newLine;if("?"===e[0])return this.indentate(s)+"<"+e+i+"?"+this.tagEndChar;{let n=this.options.tagValueProcessor(e,t);return n=this.replaceEntitiesValue(n),""===n?this.indentate(s)+"<"+e+i+this.closeTag(e)+this.tagEndChar:this.indentate(s)+"<"+e+i+">"+n+"</"+e+this.tagEndChar}},u.prototype.replaceEntitiesValue=function(t){if(t&&t.length>0&&this.options.processEntities)for(let e=0;e<this.options.entities.length;e++){const i=this.options.entities[e];t=t.replace(i.regex,i.val)}return t};const c=u;return e})());
2
2
  //# sourceMappingURL=fxbuilder.min.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"./lib/fxbuilder.min.js","mappings":"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","sources":["webpack://XMLBuilder/webpack/universalModuleDefinition","webpack://XMLBuilder/webpack/bootstrap","webpack://XMLBuilder/webpack/runtime/define property getters","webpack://XMLBuilder/webpack/runtime/hasOwnProperty shorthand","webpack://XMLBuilder/webpack/runtime/make namespace object","webpack://XMLBuilder/./src/xmlbuilder/orderedJs2Xml.js","webpack://XMLBuilder/./src/xmlbuilder/json2xml.js","webpack://XMLBuilder/./src/ignoreAttributes.js"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"XMLBuilder\"] = factory();\n\telse\n\t\troot[\"XMLBuilder\"] = factory();\n})(this, () => {\nreturn ","// The require scope\nvar __webpack_require__ = {};\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","const EOL = \"\\n\";\n\n/**\n * \n * @param {array} jArray \n * @param {any} options \n * @returns \n */\nexport default function toXml(jArray, options) {\n let indentation = \"\";\n if (options.format && options.indentBy.length > 0) {\n indentation = EOL;\n }\n return arrToStr(jArray, options, \"\", indentation);\n}\n\nfunction arrToStr(arr, options, jPath, indentation) {\n let xmlStr = \"\";\n let isPreviousElementTag = false;\n\n for (let i = 0; i < arr.length; i++) {\n const tagObj = arr[i];\n const tagName = propName(tagObj);\n if(tagName === undefined) continue;\n\n let newJPath = \"\";\n if (jPath.length === 0) newJPath = tagName\n else newJPath = `${jPath}.${tagName}`;\n\n if (tagName === options.textNodeName) {\n let tagText = tagObj[tagName];\n if (!isStopNode(newJPath, options)) {\n tagText = options.tagValueProcessor(tagName, tagText);\n tagText = replaceEntitiesValue(tagText, options);\n }\n if (isPreviousElementTag) {\n xmlStr += indentation;\n }\n xmlStr += tagText;\n isPreviousElementTag = false;\n continue;\n } else if (tagName === options.cdataPropName) {\n if (isPreviousElementTag) {\n xmlStr += indentation;\n }\n xmlStr += `<![CDATA[${tagObj[tagName][0][options.textNodeName]}]]>`;\n isPreviousElementTag = false;\n continue;\n } else if (tagName === options.commentPropName) {\n xmlStr += indentation + `<!--${tagObj[tagName][0][options.textNodeName]}-->`;\n isPreviousElementTag = true;\n continue;\n } else if (tagName[0] === \"?\") {\n const attStr = attr_to_str(tagObj[\":@\"], options);\n const tempInd = tagName === \"?xml\" ? \"\" : indentation;\n let piTextNodeName = tagObj[tagName][0][options.textNodeName];\n piTextNodeName = piTextNodeName.length !== 0 ? \" \" + piTextNodeName : \"\"; //remove extra spacing\n xmlStr += tempInd + `<${tagName}${piTextNodeName}${attStr}?>`;\n isPreviousElementTag = true;\n continue;\n }\n let newIdentation = indentation;\n if (newIdentation !== \"\") {\n newIdentation += options.indentBy;\n }\n const attStr = attr_to_str(tagObj[\":@\"], options);\n const tagStart = indentation + `<${tagName}${attStr}`;\n const tagValue = arrToStr(tagObj[tagName], options, newJPath, newIdentation);\n if (options.unpairedTags.indexOf(tagName) !== -1) {\n if (options.suppressUnpairedNode) xmlStr += tagStart + \">\";\n else xmlStr += tagStart + \"/>\";\n } else if ((!tagValue || tagValue.length === 0) && options.suppressEmptyNode) {\n xmlStr += tagStart + \"/>\";\n } else if (tagValue && tagValue.endsWith(\">\")) {\n xmlStr += tagStart + `>${tagValue}${indentation}</${tagName}>`;\n } else {\n xmlStr += tagStart + \">\";\n if (tagValue && indentation !== \"\" && (tagValue.includes(\"/>\") || tagValue.includes(\"</\"))) {\n xmlStr += indentation + options.indentBy + tagValue + indentation;\n } else {\n xmlStr += tagValue;\n }\n xmlStr += `</${tagName}>`;\n }\n isPreviousElementTag = true;\n }\n\n return xmlStr;\n}\n\nfunction propName(obj) {\n const keys = Object.keys(obj);\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n if(!obj.hasOwnProperty(key)) continue;\n if (key !== \":@\") return key;\n }\n}\n\nfunction attr_to_str(attrMap, options) {\n let attrStr = \"\";\n if (attrMap && !options.ignoreAttributes) {\n for (let attr in attrMap) {\n if(!attrMap.hasOwnProperty(attr)) continue;\n let attrVal = options.attributeValueProcessor(attr, attrMap[attr]);\n attrVal = replaceEntitiesValue(attrVal, options);\n if (attrVal === true && options.suppressBooleanAttributes) {\n attrStr += ` ${attr.substr(options.attributeNamePrefix.length)}`;\n } else {\n attrStr += ` ${attr.substr(options.attributeNamePrefix.length)}=\"${attrVal}\"`;\n }\n }\n }\n return attrStr;\n}\n\nfunction isStopNode(jPath, options) {\n jPath = jPath.substr(0, jPath.length - options.textNodeName.length - 1);\n let tagName = jPath.substr(jPath.lastIndexOf(\".\") + 1);\n for (let index in options.stopNodes) {\n if (options.stopNodes[index] === jPath || options.stopNodes[index] === \"*.\" + tagName) return true;\n }\n return false;\n}\n\nfunction replaceEntitiesValue(textValue, options) {\n if (textValue && textValue.length > 0 && options.processEntities) {\n for (let i = 0; i < options.entities.length; i++) {\n const entity = options.entities[i];\n textValue = textValue.replace(entity.regex, entity.val);\n }\n }\n return textValue;\n}\n","'use strict';\n//parse Empty Node as self closing node\nimport buildFromOrderedJs from './orderedJs2Xml.js';\nimport getIgnoreAttributesFn from \"../ignoreAttributes.js\";\n\nconst defaultOptions = {\n attributeNamePrefix: '@_',\n attributesGroupName: false,\n textNodeName: '#text',\n ignoreAttributes: true,\n cdataPropName: false,\n format: false,\n indentBy: ' ',\n suppressEmptyNode: false,\n suppressUnpairedNode: true,\n suppressBooleanAttributes: true,\n tagValueProcessor: function(key, a) {\n return a;\n },\n attributeValueProcessor: function(attrName, a) {\n return a;\n },\n preserveOrder: false,\n commentPropName: false,\n unpairedTags: [],\n entities: [\n { regex: new RegExp(\"&\", \"g\"), val: \"&amp;\" },//it must be on top\n { regex: new RegExp(\">\", \"g\"), val: \"&gt;\" },\n { regex: new RegExp(\"<\", \"g\"), val: \"&lt;\" },\n { regex: new RegExp(\"\\'\", \"g\"), val: \"&apos;\" },\n { regex: new RegExp(\"\\\"\", \"g\"), val: \"&quot;\" }\n ],\n processEntities: true,\n stopNodes: [],\n // transformTagName: false,\n // transformAttributeName: false,\n oneListGroup: false\n};\n\nexport default function Builder(options) {\n this.options = Object.assign({}, defaultOptions, options);\n if (this.options.ignoreAttributes === true || this.options.attributesGroupName) {\n this.isAttribute = function(/*a*/) {\n return false;\n };\n } else {\n this.ignoreAttributesFn = getIgnoreAttributesFn(this.options.ignoreAttributes)\n this.attrPrefixLen = this.options.attributeNamePrefix.length;\n this.isAttribute = isAttribute;\n }\n\n this.processTextOrObjNode = processTextOrObjNode\n\n if (this.options.format) {\n this.indentate = indentate;\n this.tagEndChar = '>\\n';\n this.newLine = '\\n';\n } else {\n this.indentate = function() {\n return '';\n };\n this.tagEndChar = '>';\n this.newLine = '';\n }\n}\n\nBuilder.prototype.build = function(jObj) {\n if(this.options.preserveOrder){\n return buildFromOrderedJs(jObj, this.options);\n }else {\n if(Array.isArray(jObj) && this.options.arrayNodeName && this.options.arrayNodeName.length > 1){\n jObj = {\n [this.options.arrayNodeName] : jObj\n }\n }\n return this.j2x(jObj, 0, []).val;\n }\n};\n\nBuilder.prototype.j2x = function(jObj, level, ajPath) {\n let attrStr = '';\n let val = '';\n const jPath = ajPath.join('.')\n for (let key in jObj) {\n if(!Object.prototype.hasOwnProperty.call(jObj, key)) continue;\n if (typeof jObj[key] === 'undefined') {\n // supress undefined node only if it is not an attribute\n if (this.isAttribute(key)) {\n val += '';\n }\n } else if (jObj[key] === null) {\n // null attribute should be ignored by the attribute list, but should not cause the tag closing\n if (this.isAttribute(key)) {\n val += '';\n } else if (key === this.options.cdataPropName) {\n val += '';\n } else if (key[0] === '?') {\n val += this.indentate(level) + '<' + key + '?' + this.tagEndChar;\n } else {\n val += this.indentate(level) + '<' + key + '/' + this.tagEndChar;\n }\n // val += this.indentate(level) + '<' + key + '/' + this.tagEndChar;\n } else if (jObj[key] instanceof Date) {\n val += this.buildTextValNode(jObj[key], key, '', level);\n } else if (typeof jObj[key] !== 'object') {\n //premitive type\n const attr = this.isAttribute(key);\n if (attr && !this.ignoreAttributesFn(attr, jPath)) {\n attrStr += this.buildAttrPairStr(attr, '' + jObj[key]);\n } else if (!attr) {\n //tag value\n if (key === this.options.textNodeName) {\n let newval = this.options.tagValueProcessor(key, '' + jObj[key]);\n val += this.replaceEntitiesValue(newval);\n } else {\n val += this.buildTextValNode(jObj[key], key, '', level);\n }\n }\n } else if (Array.isArray(jObj[key])) {\n //repeated nodes\n const arrLen = jObj[key].length;\n let listTagVal = \"\";\n let listTagAttr = \"\";\n for (let j = 0; j < arrLen; j++) {\n const item = jObj[key][j];\n if (typeof item === 'undefined') {\n // supress undefined node\n } else if (item === null) {\n if(key[0] === \"?\") val += this.indentate(level) + '<' + key + '?' + this.tagEndChar;\n else val += this.indentate(level) + '<' + key + '/' + this.tagEndChar;\n // val += this.indentate(level) + '<' + key + '/' + this.tagEndChar;\n } else if (typeof item === 'object') {\n if(this.options.oneListGroup){\n const result = this.j2x(item, level + 1, ajPath.concat(key));\n listTagVal += result.val;\n if (this.options.attributesGroupName && item.hasOwnProperty(this.options.attributesGroupName)) {\n listTagAttr += result.attrStr\n }\n }else{\n listTagVal += this.processTextOrObjNode(item, key, level, ajPath)\n }\n } else {\n if (this.options.oneListGroup) {\n let textValue = this.options.tagValueProcessor(key, item);\n textValue = this.replaceEntitiesValue(textValue);\n listTagVal += textValue;\n } else {\n listTagVal += this.buildTextValNode(item, key, '', level);\n }\n }\n }\n if(this.options.oneListGroup){\n listTagVal = this.buildObjectNode(listTagVal, key, listTagAttr, level);\n }\n val += listTagVal;\n } else {\n //nested node\n if (this.options.attributesGroupName && key === this.options.attributesGroupName) {\n const Ks = Object.keys(jObj[key]);\n const L = Ks.length;\n for (let j = 0; j < L; j++) {\n attrStr += this.buildAttrPairStr(Ks[j], '' + jObj[key][Ks[j]]);\n }\n } else {\n val += this.processTextOrObjNode(jObj[key], key, level, ajPath)\n }\n }\n }\n return {attrStr: attrStr, val: val};\n};\n\nBuilder.prototype.buildAttrPairStr = function(attrName, val){\n val = this.options.attributeValueProcessor(attrName, '' + val);\n val = this.replaceEntitiesValue(val);\n if (this.options.suppressBooleanAttributes && val === \"true\") {\n return ' ' + attrName;\n } else return ' ' + attrName + '=\"' + val + '\"';\n}\n\nfunction processTextOrObjNode (object, key, level, ajPath) {\n const result = this.j2x(object, level + 1, ajPath.concat(key));\n if (object[this.options.textNodeName] !== undefined && Object.keys(object).length === 1) {\n return this.buildTextValNode(object[this.options.textNodeName], key, result.attrStr, level);\n } else {\n return this.buildObjectNode(result.val, key, result.attrStr, level);\n }\n}\n\nBuilder.prototype.buildObjectNode = function(val, key, attrStr, level) {\n if(val === \"\"){\n if(key[0] === \"?\") return this.indentate(level) + '<' + key + attrStr+ '?' + this.tagEndChar;\n else {\n return this.indentate(level) + '<' + key + attrStr + this.closeTag(key) + this.tagEndChar;\n }\n }else{\n\n let tagEndExp = '</' + key + this.tagEndChar;\n let piClosingChar = \"\";\n \n if(key[0] === \"?\") {\n piClosingChar = \"?\";\n tagEndExp = \"\";\n }\n \n // attrStr is an empty string in case the attribute came as undefined or null\n if ((attrStr || attrStr === '') && val.indexOf('<') === -1) {\n return ( this.indentate(level) + '<' + key + attrStr + piClosingChar + '>' + val + tagEndExp );\n } else if (this.options.commentPropName !== false && key === this.options.commentPropName && piClosingChar.length === 0) {\n return this.indentate(level) + `<!--${val}-->` + this.newLine;\n }else {\n return (\n this.indentate(level) + '<' + key + attrStr + piClosingChar + this.tagEndChar +\n val +\n this.indentate(level) + tagEndExp );\n }\n }\n}\n\nBuilder.prototype.closeTag = function(key){\n let closeTag = \"\";\n if(this.options.unpairedTags.indexOf(key) !== -1){ //unpaired\n if(!this.options.suppressUnpairedNode) closeTag = \"/\"\n }else if(this.options.suppressEmptyNode){ //empty\n closeTag = \"/\";\n }else{\n closeTag = `></${key}`\n }\n return closeTag;\n}\n\nfunction buildEmptyObjNode(val, key, attrStr, level) {\n if (val !== '') {\n return this.buildObjectNode(val, key, attrStr, level);\n } else {\n if(key[0] === \"?\") return this.indentate(level) + '<' + key + attrStr+ '?' + this.tagEndChar;\n else {\n return this.indentate(level) + '<' + key + attrStr + '/' + this.tagEndChar;\n // return this.buildTagStr(level,key, attrStr);\n }\n }\n}\n\nBuilder.prototype.buildTextValNode = function(val, key, attrStr, level) {\n if (this.options.cdataPropName !== false && key === this.options.cdataPropName) {\n return this.indentate(level) + `<![CDATA[${val}]]>` + this.newLine;\n }else if (this.options.commentPropName !== false && key === this.options.commentPropName) {\n return this.indentate(level) + `<!--${val}-->` + this.newLine;\n }else if(key[0] === \"?\") {//PI tag\n return this.indentate(level) + '<' + key + attrStr+ '?' + this.tagEndChar; \n }else{\n let textValue = this.options.tagValueProcessor(key, val);\n textValue = this.replaceEntitiesValue(textValue);\n \n if( textValue === ''){\n return this.indentate(level) + '<' + key + attrStr + this.closeTag(key) + this.tagEndChar;\n }else{\n return this.indentate(level) + '<' + key + attrStr + '>' +\n textValue +\n '</' + key + this.tagEndChar;\n }\n }\n}\n\nBuilder.prototype.replaceEntitiesValue = function(textValue){\n if(textValue && textValue.length > 0 && this.options.processEntities){\n for (let i=0; i<this.options.entities.length; i++) {\n const entity = this.options.entities[i];\n textValue = textValue.replace(entity.regex, entity.val);\n }\n }\n return textValue;\n}\n\nfunction indentate(level) {\n return this.options.indentBy.repeat(level);\n}\n\nfunction isAttribute(name /*, options*/) {\n if (name.startsWith(this.options.attributeNamePrefix) && name !== this.options.textNodeName) {\n return name.substr(this.attrPrefixLen);\n } else {\n return false;\n }\n}\n\n","export default function getIgnoreAttributesFn(ignoreAttributes) {\n if (typeof ignoreAttributes === 'function') {\n return ignoreAttributes\n }\n if (Array.isArray(ignoreAttributes)) {\n return (attrName) => {\n for (const pattern of ignoreAttributes) {\n if (typeof pattern === 'string' && attrName === pattern) {\n return true\n }\n if (pattern instanceof RegExp && pattern.test(attrName)) {\n return true\n }\n }\n }\n }\n return () => false\n}"],"names":["root","factory","exports","module","define","amd","this","__webpack_require__","definition","key","o","Object","defineProperty","enumerable","get","obj","prop","prototype","hasOwnProperty","call","Symbol","toStringTag","value","toXml","jArray","options","indentation","format","indentBy","length","arrToStr","arr","jPath","xmlStr","isPreviousElementTag","i","tagObj","tagName","propName","undefined","newJPath","textNodeName","cdataPropName","commentPropName","newIdentation","tagStart","attr_to_str","tagValue","unpairedTags","indexOf","suppressUnpairedNode","suppressEmptyNode","endsWith","includes","attStr","tempInd","piTextNodeName","tagText","isStopNode","replaceEntitiesValue","tagValueProcessor","keys","attrMap","attrStr","ignoreAttributes","attr","attrVal","attributeValueProcessor","suppressBooleanAttributes","substr","attributeNamePrefix","lastIndexOf","index","stopNodes","textValue","processEntities","entities","entity","replace","regex","val","defaultOptions","attributesGroupName","a","attrName","preserveOrder","RegExp","oneListGroup","Builder","assign","isAttribute","ignoreAttributesFn","Array","isArray","_step","_iterator","_createForOfIteratorHelperLoose","done","pattern","test","attrPrefixLen","processTextOrObjNode","indentate","tagEndChar","newLine","object","level","ajPath","result","j2x","concat","buildTextValNode","buildObjectNode","repeat","name","startsWith","build","jObj","buildFromOrderedJs","arrayNodeName","_jObj","join","Date","buildAttrPairStr","newval","arrLen","listTagVal","listTagAttr","j","item","Ks","L","closeTag","tagEndExp","piClosingChar"],"sourceRoot":""}
1
+ {"version":3,"file":"./lib/fxbuilder.min.js","mappings":"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","sources":["webpack://XMLBuilder/webpack/universalModuleDefinition","webpack://XMLBuilder/webpack/bootstrap","webpack://XMLBuilder/webpack/runtime/define property getters","webpack://XMLBuilder/webpack/runtime/hasOwnProperty shorthand","webpack://XMLBuilder/webpack/runtime/make namespace object","webpack://XMLBuilder/./node_modules/fast-xml-builder/src/orderedJs2Xml.js","webpack://XMLBuilder/./node_modules/fast-xml-builder/src/fxb.js","webpack://XMLBuilder/./node_modules/fast-xml-builder/src/ignoreAttributes.js","webpack://XMLBuilder/./src/xmlbuilder/json2xml.js"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"XMLBuilder\"] = factory();\n\telse\n\t\troot[\"XMLBuilder\"] = factory();\n})(this, () => {\nreturn ","// The require scope\nvar __webpack_require__ = {};\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","const EOL = \"\\n\";\n\n/**\n * \n * @param {array} jArray \n * @param {any} options \n * @returns \n */\nexport default function toXml(jArray, options) {\n let indentation = \"\";\n if (options.format && options.indentBy.length > 0) {\n indentation = EOL;\n }\n return arrToStr(jArray, options, \"\", indentation);\n}\n\nfunction arrToStr(arr, options, jPath, indentation) {\n let xmlStr = \"\";\n let isPreviousElementTag = false;\n\n\n if (!Array.isArray(arr)) {\n // Non-array values (e.g. string tag values) should be treated as text content\n if (arr !== undefined && arr !== null) {\n let text = arr.toString();\n text = replaceEntitiesValue(text, options);\n return text;\n }\n return \"\";\n }\n\n for (let i = 0; i < arr.length; i++) {\n const tagObj = arr[i];\n const tagName = propName(tagObj);\n if (tagName === undefined) continue;\n\n let newJPath = \"\";\n if (jPath.length === 0) newJPath = tagName\n else newJPath = `${jPath}.${tagName}`;\n\n if (tagName === options.textNodeName) {\n let tagText = tagObj[tagName];\n if (!isStopNode(newJPath, options)) {\n tagText = options.tagValueProcessor(tagName, tagText);\n tagText = replaceEntitiesValue(tagText, options);\n }\n if (isPreviousElementTag) {\n xmlStr += indentation;\n }\n xmlStr += tagText;\n isPreviousElementTag = false;\n continue;\n } else if (tagName === options.cdataPropName) {\n if (isPreviousElementTag) {\n xmlStr += indentation;\n }\n xmlStr += `<![CDATA[${tagObj[tagName][0][options.textNodeName]}]]>`;\n isPreviousElementTag = false;\n continue;\n } else if (tagName === options.commentPropName) {\n xmlStr += indentation + `<!--${tagObj[tagName][0][options.textNodeName]}-->`;\n isPreviousElementTag = true;\n continue;\n } else if (tagName[0] === \"?\") {\n const attStr = attr_to_str(tagObj[\":@\"], options);\n const tempInd = tagName === \"?xml\" ? \"\" : indentation;\n let piTextNodeName = tagObj[tagName][0][options.textNodeName];\n piTextNodeName = piTextNodeName.length !== 0 ? \" \" + piTextNodeName : \"\"; //remove extra spacing\n xmlStr += tempInd + `<${tagName}${piTextNodeName}${attStr}?>`;\n isPreviousElementTag = true;\n continue;\n }\n let newIdentation = indentation;\n if (newIdentation !== \"\") {\n newIdentation += options.indentBy;\n }\n const attStr = attr_to_str(tagObj[\":@\"], options);\n const tagStart = indentation + `<${tagName}${attStr}`;\n const tagValue = arrToStr(tagObj[tagName], options, newJPath, newIdentation);\n if (options.unpairedTags.indexOf(tagName) !== -1) {\n if (options.suppressUnpairedNode) xmlStr += tagStart + \">\";\n else xmlStr += tagStart + \"/>\";\n } else if ((!tagValue || tagValue.length === 0) && options.suppressEmptyNode) {\n xmlStr += tagStart + \"/>\";\n } else if (tagValue && tagValue.endsWith(\">\")) {\n xmlStr += tagStart + `>${tagValue}${indentation}</${tagName}>`;\n } else {\n xmlStr += tagStart + \">\";\n if (tagValue && indentation !== \"\" && (tagValue.includes(\"/>\") || tagValue.includes(\"</\"))) {\n xmlStr += indentation + options.indentBy + tagValue + indentation;\n } else {\n xmlStr += tagValue;\n }\n xmlStr += `</${tagName}>`;\n }\n isPreviousElementTag = true;\n }\n\n return xmlStr;\n}\n\nfunction propName(obj) {\n const keys = Object.keys(obj);\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n if (!Object.prototype.hasOwnProperty.call(obj, key)) continue;\n if (key !== \":@\") return key;\n }\n}\n\nfunction attr_to_str(attrMap, options) {\n let attrStr = \"\";\n if (attrMap && !options.ignoreAttributes) {\n for (let attr in attrMap) {\n if (!Object.prototype.hasOwnProperty.call(attrMap, attr)) continue;\n let attrVal = options.attributeValueProcessor(attr, attrMap[attr]);\n attrVal = replaceEntitiesValue(attrVal, options);\n if (attrVal === true && options.suppressBooleanAttributes) {\n attrStr += ` ${attr.substr(options.attributeNamePrefix.length)}`;\n } else {\n attrStr += ` ${attr.substr(options.attributeNamePrefix.length)}=\"${attrVal}\"`;\n }\n }\n }\n return attrStr;\n}\n\nfunction isStopNode(jPath, options) {\n jPath = jPath.substr(0, jPath.length - options.textNodeName.length - 1);\n let tagName = jPath.substr(jPath.lastIndexOf(\".\") + 1);\n for (let index in options.stopNodes) {\n if (options.stopNodes[index] === jPath || options.stopNodes[index] === \"*.\" + tagName) return true;\n }\n return false;\n}\n\nfunction replaceEntitiesValue(textValue, options) {\n if (textValue && textValue.length > 0 && options.processEntities) {\n for (let i = 0; i < options.entities.length; i++) {\n const entity = options.entities[i];\n textValue = textValue.replace(entity.regex, entity.val);\n }\n }\n return textValue;\n}\n","'use strict';\n//parse Empty Node as self closing node\nimport buildFromOrderedJs from './orderedJs2Xml.js';\nimport getIgnoreAttributesFn from \"./ignoreAttributes.js\";\n\nconst defaultOptions = {\n attributeNamePrefix: '@_',\n attributesGroupName: false,\n textNodeName: '#text',\n ignoreAttributes: true,\n cdataPropName: false,\n format: false,\n indentBy: ' ',\n suppressEmptyNode: false,\n suppressUnpairedNode: true,\n suppressBooleanAttributes: true,\n tagValueProcessor: function (key, a) {\n return a;\n },\n attributeValueProcessor: function (attrName, a) {\n return a;\n },\n preserveOrder: false,\n commentPropName: false,\n unpairedTags: [],\n entities: [\n { regex: new RegExp(\"&\", \"g\"), val: \"&amp;\" },//it must be on top\n { regex: new RegExp(\">\", \"g\"), val: \"&gt;\" },\n { regex: new RegExp(\"<\", \"g\"), val: \"&lt;\" },\n { regex: new RegExp(\"\\'\", \"g\"), val: \"&apos;\" },\n { regex: new RegExp(\"\\\"\", \"g\"), val: \"&quot;\" }\n ],\n processEntities: true,\n stopNodes: [],\n // transformTagName: false,\n // transformAttributeName: false,\n oneListGroup: false\n};\n\nexport default function Builder(options) {\n this.options = Object.assign({}, defaultOptions, options);\n if (this.options.ignoreAttributes === true || this.options.attributesGroupName) {\n this.isAttribute = function (/*a*/) {\n return false;\n };\n } else {\n this.ignoreAttributesFn = getIgnoreAttributesFn(this.options.ignoreAttributes)\n this.attrPrefixLen = this.options.attributeNamePrefix.length;\n this.isAttribute = isAttribute;\n }\n\n this.processTextOrObjNode = processTextOrObjNode\n\n if (this.options.format) {\n this.indentate = indentate;\n this.tagEndChar = '>\\n';\n this.newLine = '\\n';\n } else {\n this.indentate = function () {\n return '';\n };\n this.tagEndChar = '>';\n this.newLine = '';\n }\n}\n\nBuilder.prototype.build = function (jObj) {\n if (this.options.preserveOrder) {\n return buildFromOrderedJs(jObj, this.options);\n } else {\n if (Array.isArray(jObj) && this.options.arrayNodeName && this.options.arrayNodeName.length > 1) {\n jObj = {\n [this.options.arrayNodeName]: jObj\n }\n }\n return this.j2x(jObj, 0, []).val;\n }\n};\n\nBuilder.prototype.j2x = function (jObj, level, ajPath) {\n let attrStr = '';\n let val = '';\n const jPath = ajPath.join('.')\n for (let key in jObj) {\n if (!Object.prototype.hasOwnProperty.call(jObj, key)) continue;\n if (typeof jObj[key] === 'undefined') {\n // supress undefined node only if it is not an attribute\n if (this.isAttribute(key)) {\n val += '';\n }\n } else if (jObj[key] === null) {\n // null attribute should be ignored by the attribute list, but should not cause the tag closing\n if (this.isAttribute(key)) {\n val += '';\n } else if (key === this.options.cdataPropName) {\n val += '';\n } else if (key[0] === '?') {\n val += this.indentate(level) + '<' + key + '?' + this.tagEndChar;\n } else {\n val += this.indentate(level) + '<' + key + '/' + this.tagEndChar;\n }\n // val += this.indentate(level) + '<' + key + '/' + this.tagEndChar;\n } else if (jObj[key] instanceof Date) {\n val += this.buildTextValNode(jObj[key], key, '', level);\n } else if (typeof jObj[key] !== 'object') {\n //premitive type\n const attr = this.isAttribute(key);\n if (attr && !this.ignoreAttributesFn(attr, jPath)) {\n attrStr += this.buildAttrPairStr(attr, '' + jObj[key]);\n } else if (!attr) {\n //tag value\n if (key === this.options.textNodeName) {\n let newval = this.options.tagValueProcessor(key, '' + jObj[key]);\n val += this.replaceEntitiesValue(newval);\n } else {\n val += this.buildTextValNode(jObj[key], key, '', level);\n }\n }\n } else if (Array.isArray(jObj[key])) {\n //repeated nodes\n const arrLen = jObj[key].length;\n let listTagVal = \"\";\n let listTagAttr = \"\";\n for (let j = 0; j < arrLen; j++) {\n const item = jObj[key][j];\n if (typeof item === 'undefined') {\n // supress undefined node\n } else if (item === null) {\n if (key[0] === \"?\") val += this.indentate(level) + '<' + key + '?' + this.tagEndChar;\n else val += this.indentate(level) + '<' + key + '/' + this.tagEndChar;\n // val += this.indentate(level) + '<' + key + '/' + this.tagEndChar;\n } else if (typeof item === 'object') {\n if (this.options.oneListGroup) {\n const result = this.j2x(item, level + 1, ajPath.concat(key));\n listTagVal += result.val;\n if (this.options.attributesGroupName && item.hasOwnProperty(this.options.attributesGroupName)) {\n listTagAttr += result.attrStr\n }\n } else {\n listTagVal += this.processTextOrObjNode(item, key, level, ajPath)\n }\n } else {\n if (this.options.oneListGroup) {\n let textValue = this.options.tagValueProcessor(key, item);\n textValue = this.replaceEntitiesValue(textValue);\n listTagVal += textValue;\n } else {\n listTagVal += this.buildTextValNode(item, key, '', level);\n }\n }\n }\n if (this.options.oneListGroup) {\n listTagVal = this.buildObjectNode(listTagVal, key, listTagAttr, level);\n }\n val += listTagVal;\n } else {\n //nested node\n if (this.options.attributesGroupName && key === this.options.attributesGroupName) {\n const Ks = Object.keys(jObj[key]);\n const L = Ks.length;\n for (let j = 0; j < L; j++) {\n attrStr += this.buildAttrPairStr(Ks[j], '' + jObj[key][Ks[j]]);\n }\n } else {\n val += this.processTextOrObjNode(jObj[key], key, level, ajPath)\n }\n }\n }\n return { attrStr: attrStr, val: val };\n};\n\nBuilder.prototype.buildAttrPairStr = function (attrName, val) {\n val = this.options.attributeValueProcessor(attrName, '' + val);\n val = this.replaceEntitiesValue(val);\n if (this.options.suppressBooleanAttributes && val === \"true\") {\n return ' ' + attrName;\n } else return ' ' + attrName + '=\"' + val + '\"';\n}\n\nfunction processTextOrObjNode(object, key, level, ajPath) {\n const result = this.j2x(object, level + 1, ajPath.concat(key));\n if (object[this.options.textNodeName] !== undefined && Object.keys(object).length === 1) {\n return this.buildTextValNode(object[this.options.textNodeName], key, result.attrStr, level);\n } else {\n return this.buildObjectNode(result.val, key, result.attrStr, level);\n }\n}\n\nBuilder.prototype.buildObjectNode = function (val, key, attrStr, level) {\n if (val === \"\") {\n if (key[0] === \"?\") return this.indentate(level) + '<' + key + attrStr + '?' + this.tagEndChar;\n else {\n return this.indentate(level) + '<' + key + attrStr + this.closeTag(key) + this.tagEndChar;\n }\n } else {\n\n let tagEndExp = '</' + key + this.tagEndChar;\n let piClosingChar = \"\";\n\n if (key[0] === \"?\") {\n piClosingChar = \"?\";\n tagEndExp = \"\";\n }\n\n // attrStr is an empty string in case the attribute came as undefined or null\n if ((attrStr || attrStr === '') && val.indexOf('<') === -1) {\n return (this.indentate(level) + '<' + key + attrStr + piClosingChar + '>' + val + tagEndExp);\n } else if (this.options.commentPropName !== false && key === this.options.commentPropName && piClosingChar.length === 0) {\n return this.indentate(level) + `<!--${val}-->` + this.newLine;\n } else {\n return (\n this.indentate(level) + '<' + key + attrStr + piClosingChar + this.tagEndChar +\n val +\n this.indentate(level) + tagEndExp);\n }\n }\n}\n\nBuilder.prototype.closeTag = function (key) {\n let closeTag = \"\";\n if (this.options.unpairedTags.indexOf(key) !== -1) { //unpaired\n if (!this.options.suppressUnpairedNode) closeTag = \"/\"\n } else if (this.options.suppressEmptyNode) { //empty\n closeTag = \"/\";\n } else {\n closeTag = `></${key}`\n }\n return closeTag;\n}\n\nfunction buildEmptyObjNode(val, key, attrStr, level) {\n if (val !== '') {\n return this.buildObjectNode(val, key, attrStr, level);\n } else {\n if (key[0] === \"?\") return this.indentate(level) + '<' + key + attrStr + '?' + this.tagEndChar;\n else {\n return this.indentate(level) + '<' + key + attrStr + '/' + this.tagEndChar;\n // return this.buildTagStr(level,key, attrStr);\n }\n }\n}\n\nBuilder.prototype.buildTextValNode = function (val, key, attrStr, level) {\n if (this.options.cdataPropName !== false && key === this.options.cdataPropName) {\n return this.indentate(level) + `<![CDATA[${val}]]>` + this.newLine;\n } else if (this.options.commentPropName !== false && key === this.options.commentPropName) {\n return this.indentate(level) + `<!--${val}-->` + this.newLine;\n } else if (key[0] === \"?\") {//PI tag\n return this.indentate(level) + '<' + key + attrStr + '?' + this.tagEndChar;\n } else {\n let textValue = this.options.tagValueProcessor(key, val);\n textValue = this.replaceEntitiesValue(textValue);\n\n if (textValue === '') {\n return this.indentate(level) + '<' + key + attrStr + this.closeTag(key) + this.tagEndChar;\n } else {\n return this.indentate(level) + '<' + key + attrStr + '>' +\n textValue +\n '</' + key + this.tagEndChar;\n }\n }\n}\n\nBuilder.prototype.replaceEntitiesValue = function (textValue) {\n if (textValue && textValue.length > 0 && this.options.processEntities) {\n for (let i = 0; i < this.options.entities.length; i++) {\n const entity = this.options.entities[i];\n textValue = textValue.replace(entity.regex, entity.val);\n }\n }\n return textValue;\n}\n\nfunction indentate(level) {\n return this.options.indentBy.repeat(level);\n}\n\nfunction isAttribute(name /*, options*/) {\n if (name.startsWith(this.options.attributeNamePrefix) && name !== this.options.textNodeName) {\n return name.substr(this.attrPrefixLen);\n } else {\n return false;\n }\n}\n\n","export default function getIgnoreAttributesFn(ignoreAttributes) {\n if (typeof ignoreAttributes === 'function') {\n return ignoreAttributes\n }\n if (Array.isArray(ignoreAttributes)) {\n return (attrName) => {\n for (const pattern of ignoreAttributes) {\n if (typeof pattern === 'string' && attrName === pattern) {\n return true\n }\n if (pattern instanceof RegExp && pattern.test(attrName)) {\n return true\n }\n }\n }\n }\n return () => false\n}","// Re-export from fast-xml-builder for backward compatibility\nimport XMLBuilder from 'fast-xml-builder';\nexport default XMLBuilder;\n\n// If there are any named exports you also want to re-export:\nexport * from 'fast-xml-builder';"],"names":["root","factory","exports","module","define","amd","this","__webpack_require__","definition","key","o","Object","defineProperty","enumerable","get","obj","prop","prototype","hasOwnProperty","call","Symbol","toStringTag","value","toXml","jArray","options","indentation","format","indentBy","length","arrToStr","arr","jPath","xmlStr","isPreviousElementTag","Array","isArray","text","toString","replaceEntitiesValue","i","tagObj","tagName","propName","undefined","newJPath","textNodeName","tagText","isStopNode","tagValueProcessor","cdataPropName","commentPropName","attStr","attr_to_str","tempInd","piTextNodeName","newIdentation","tagStart","tagValue","unpairedTags","indexOf","suppressUnpairedNode","suppressEmptyNode","endsWith","includes","keys","attrMap","attrStr","ignoreAttributes","attr","attrVal","attributeValueProcessor","suppressBooleanAttributes","substr","attributeNamePrefix","lastIndexOf","index","stopNodes","textValue","processEntities","entities","entity","replace","regex","val","defaultOptions","attributesGroupName","a","attrName","preserveOrder","RegExp","oneListGroup","Builder","assign","isAttribute","ignoreAttributesFn","pattern","test","attrPrefixLen","processTextOrObjNode","indentate","tagEndChar","newLine","object","level","ajPath","result","j2x","concat","buildTextValNode","buildObjectNode","repeat","name","startsWith","build","jObj","buildFromOrderedJs","arrayNodeName","join","Date","buildAttrPairStr","newval","arrLen","listTagVal","listTagAttr","j","item","Ks","L","closeTag","tagEndExp","piClosingChar"],"sourceRoot":""}