@mavogel/awscdk-rootmail 0.0.329 → 0.0.331

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 (325) hide show
  1. package/.jsii +3 -3
  2. package/lib/rootmail.js +1 -1
  3. package/lib/ses-receive.js +1 -1
  4. package/node_modules/@aws-sdk/client-cloudwatch-logs/README.md +26 -46
  5. package/node_modules/@aws-sdk/client-cloudwatch-logs/package.json +37 -37
  6. package/node_modules/@aws-sdk/client-route-53/README.md +26 -46
  7. package/node_modules/@aws-sdk/client-route-53/package.json +36 -36
  8. package/node_modules/@aws-sdk/client-s3/README.md +26 -46
  9. package/node_modules/@aws-sdk/client-s3/dist-cjs/index.js +5 -0
  10. package/node_modules/@aws-sdk/client-s3/dist-cjs/schemas/schemas_0.js +6 -4
  11. package/node_modules/@aws-sdk/client-s3/dist-es/models/enums.js +4 -0
  12. package/node_modules/@aws-sdk/client-s3/dist-es/schemas/schemas_0.js +6 -4
  13. package/node_modules/@aws-sdk/client-s3/dist-types/commands/CopyObjectCommand.d.ts +5 -4
  14. package/node_modules/@aws-sdk/client-s3/dist-types/commands/CreateBucketCommand.d.ts +9 -0
  15. package/node_modules/@aws-sdk/client-s3/dist-types/commands/DeleteBucketTaggingCommand.d.ts +0 -1
  16. package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetBucketTaggingCommand.d.ts +0 -1
  17. package/node_modules/@aws-sdk/client-s3/dist-types/commands/HeadBucketCommand.d.ts +5 -4
  18. package/node_modules/@aws-sdk/client-s3/dist-types/commands/UploadPartCopyCommand.d.ts +5 -4
  19. package/node_modules/@aws-sdk/client-s3/dist-types/models/enums.d.ts +12 -0
  20. package/node_modules/@aws-sdk/client-s3/dist-types/models/models_0.d.ts +24 -2
  21. package/node_modules/@aws-sdk/client-s3/dist-types/ts3.4/models/enums.d.ts +6 -0
  22. package/node_modules/@aws-sdk/client-s3/dist-types/ts3.4/models/models_0.d.ts +2 -0
  23. package/node_modules/@aws-sdk/client-s3/package.json +50 -50
  24. package/node_modules/@aws-sdk/client-ses/README.md +26 -46
  25. package/node_modules/@aws-sdk/client-ses/package.json +34 -34
  26. package/node_modules/@aws-sdk/client-ssm/README.md +26 -46
  27. package/node_modules/@aws-sdk/client-ssm/package.json +34 -34
  28. package/node_modules/@aws-sdk/core/dist-cjs/index.js +54 -21
  29. package/node_modules/@aws-sdk/core/dist-cjs/submodules/protocols/index.js +54 -21
  30. package/node_modules/@aws-sdk/core/dist-es/submodules/protocols/ProtocolLib.js +24 -6
  31. package/node_modules/@aws-sdk/core/dist-es/submodules/protocols/cbor/AwsSmithyRpcV2CborProtocol.js +6 -5
  32. package/node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/AwsJson1_0Protocol.js +2 -1
  33. package/node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/AwsJson1_1Protocol.js +2 -1
  34. package/node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/AwsJsonRpcProtocol.js +6 -4
  35. package/node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/AwsRestJsonProtocol.js +6 -4
  36. package/node_modules/@aws-sdk/core/dist-es/submodules/protocols/query/AwsQueryProtocol.js +4 -2
  37. package/node_modules/@aws-sdk/core/dist-es/submodules/protocols/xml/AwsRestXmlProtocol.js +9 -3
  38. package/node_modules/@aws-sdk/core/dist-types/submodules/protocols/ProtocolLib.d.ts +13 -0
  39. package/node_modules/@aws-sdk/core/dist-types/submodules/protocols/cbor/AwsSmithyRpcV2CborProtocol.d.ts +3 -1
  40. package/node_modules/@aws-sdk/core/dist-types/submodules/protocols/json/AwsJson1_0Protocol.d.ts +3 -1
  41. package/node_modules/@aws-sdk/core/dist-types/submodules/protocols/json/AwsJson1_1Protocol.d.ts +3 -1
  42. package/node_modules/@aws-sdk/core/dist-types/submodules/protocols/json/AwsJsonRpcProtocol.d.ts +3 -1
  43. package/node_modules/@aws-sdk/core/dist-types/submodules/protocols/json/AwsRestJsonProtocol.d.ts +3 -1
  44. package/node_modules/@aws-sdk/core/dist-types/submodules/protocols/query/AwsEc2QueryProtocol.d.ts +3 -0
  45. package/node_modules/@aws-sdk/core/dist-types/submodules/protocols/query/AwsQueryProtocol.d.ts +3 -0
  46. package/node_modules/@aws-sdk/core/dist-types/submodules/protocols/xml/AwsRestXmlProtocol.d.ts +2 -0
  47. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/ProtocolLib.d.ts +6 -0
  48. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/cbor/AwsSmithyRpcV2CborProtocol.d.ts +3 -0
  49. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/json/AwsJson1_0Protocol.d.ts +3 -0
  50. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/json/AwsJson1_1Protocol.d.ts +3 -0
  51. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/json/AwsJsonRpcProtocol.d.ts +3 -0
  52. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/json/AwsRestJsonProtocol.d.ts +8 -1
  53. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/query/AwsEc2QueryProtocol.d.ts +3 -0
  54. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/query/AwsQueryProtocol.d.ts +3 -0
  55. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/xml/AwsRestXmlProtocol.d.ts +6 -1
  56. package/node_modules/@aws-sdk/core/package.json +11 -11
  57. package/node_modules/@aws-sdk/crc64-nvme/package.json +2 -2
  58. package/node_modules/@aws-sdk/credential-provider-env/package.json +5 -5
  59. package/node_modules/@aws-sdk/credential-provider-http/package.json +10 -10
  60. package/node_modules/@aws-sdk/credential-provider-ini/package.json +14 -14
  61. package/node_modules/@aws-sdk/credential-provider-login/package.json +8 -8
  62. package/node_modules/@aws-sdk/credential-provider-node/package.json +12 -12
  63. package/node_modules/@aws-sdk/credential-provider-process/package.json +6 -6
  64. package/node_modules/@aws-sdk/credential-provider-sso/package.json +8 -8
  65. package/node_modules/@aws-sdk/credential-provider-web-identity/package.json +7 -7
  66. package/node_modules/@aws-sdk/middleware-bucket-endpoint/package.json +5 -5
  67. package/node_modules/@aws-sdk/middleware-expect-continue/package.json +4 -4
  68. package/node_modules/@aws-sdk/middleware-flexible-checksums/dist-cjs/index.js +19 -7
  69. package/node_modules/@aws-sdk/middleware-flexible-checksums/dist-es/flexibleChecksumsResponseMiddleware.js +10 -2
  70. package/node_modules/@aws-sdk/middleware-flexible-checksums/dist-es/getChecksumAlgorithmListForResponse.js +10 -6
  71. package/node_modules/@aws-sdk/middleware-flexible-checksums/package.json +10 -10
  72. package/node_modules/@aws-sdk/middleware-host-header/package.json +4 -4
  73. package/node_modules/@aws-sdk/middleware-location-constraint/package.json +3 -3
  74. package/node_modules/@aws-sdk/middleware-logger/package.json +3 -3
  75. package/node_modules/@aws-sdk/middleware-recursion-detection/package.json +4 -4
  76. package/node_modules/@aws-sdk/middleware-sdk-route53/package.json +3 -3
  77. package/node_modules/@aws-sdk/middleware-sdk-s3/package.json +11 -11
  78. package/node_modules/@aws-sdk/middleware-ssec/package.json +3 -3
  79. package/node_modules/@aws-sdk/middleware-user-agent/package.json +8 -8
  80. package/node_modules/@aws-sdk/nested-clients/package.json +32 -32
  81. package/node_modules/@aws-sdk/region-config-resolver/package.json +5 -5
  82. package/node_modules/@aws-sdk/signature-v4-multi-region/package.json +6 -6
  83. package/node_modules/@aws-sdk/token-providers/package.json +7 -7
  84. package/node_modules/@aws-sdk/types/package.json +2 -2
  85. package/node_modules/@aws-sdk/util-endpoints/package.json +5 -5
  86. package/node_modules/@aws-sdk/util-user-agent-browser/package.json +3 -3
  87. package/node_modules/@aws-sdk/util-user-agent-node/dist-cjs/index.js +75 -19
  88. package/node_modules/@aws-sdk/util-user-agent-node/dist-es/getNodeModulesParentDirs.js +15 -0
  89. package/node_modules/@aws-sdk/util-user-agent-node/dist-es/getSanitizedDevTypeScriptVersion.js +14 -0
  90. package/node_modules/@aws-sdk/util-user-agent-node/dist-es/getTypeScriptUserAgentPair.js +53 -7
  91. package/node_modules/@aws-sdk/util-user-agent-node/dist-types/{getTypeScriptPackageJsonPaths.d.ts → getNodeModulesParentDirs.d.ts} +2 -2
  92. package/node_modules/@aws-sdk/util-user-agent-node/dist-types/getSanitizedDevTypeScriptVersion.d.ts +8 -0
  93. package/node_modules/@aws-sdk/util-user-agent-node/dist-types/ts3.4/getNodeModulesParentDirs.d.ts +1 -0
  94. package/node_modules/@aws-sdk/util-user-agent-node/dist-types/ts3.4/getSanitizedDevTypeScriptVersion.d.ts +3 -0
  95. package/node_modules/@aws-sdk/util-user-agent-node/package.json +6 -5
  96. package/node_modules/@aws-sdk/xml-builder/dist-cjs/index.js +21 -11
  97. package/node_modules/@aws-sdk/xml-builder/dist-cjs/xml-parser.js +5 -1
  98. package/node_modules/@aws-sdk/xml-builder/dist-es/escape-attribute.js +8 -1
  99. package/node_modules/@aws-sdk/xml-builder/dist-es/escape-element.js +13 -10
  100. package/node_modules/@aws-sdk/xml-builder/dist-es/xml-parser.js +5 -1
  101. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/CHANGELOG.md +40 -4
  102. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/README.md +8 -7
  103. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/lib/fxbuilder.min.js +1 -1
  104. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/lib/fxbuilder.min.js.map +1 -1
  105. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/lib/fxp.cjs +1 -1
  106. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/lib/fxp.d.cts +82 -20
  107. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/lib/fxp.min.js +1 -1
  108. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/lib/fxp.min.js.map +1 -1
  109. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/lib/fxparser.min.js +1 -1
  110. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/lib/fxparser.min.js.map +1 -1
  111. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/lib/fxvalidator.min.js.map +1 -1
  112. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/lib/pem.d.cts +148 -0
  113. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/package.json +4 -3
  114. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/fxp.d.ts +75 -19
  115. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/pem.d.ts +135 -0
  116. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/util.js +18 -0
  117. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/xmlparser/DocTypeReader.js +37 -18
  118. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/xmlparser/OptionsBuilder.js +76 -5
  119. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/xmlparser/OrderedObjParser.js +298 -116
  120. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/xmlparser/XMLParser.js +2 -2
  121. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/xmlparser/node2json.js +65 -15
  122. package/node_modules/@aws-sdk/xml-builder/package.json +3 -3
  123. package/node_modules/@smithy/abort-controller/package.json +2 -2
  124. package/node_modules/@smithy/config-resolver/dist-cjs/index.js +12 -0
  125. package/node_modules/@smithy/config-resolver/dist-es/endpointsConfig/NodeUseDualstackEndpointConfigOptions.js +5 -0
  126. package/node_modules/@smithy/config-resolver/dist-es/endpointsConfig/NodeUseFipsEndpointConfigOptions.js +5 -0
  127. package/node_modules/@smithy/config-resolver/dist-types/endpointsConfig/NodeUseDualstackEndpointConfigOptions.d.ts +6 -0
  128. package/node_modules/@smithy/config-resolver/dist-types/endpointsConfig/NodeUseFipsEndpointConfigOptions.d.ts +6 -0
  129. package/node_modules/@smithy/config-resolver/dist-types/ts3.4/endpointsConfig/NodeUseDualstackEndpointConfigOptions.d.ts +6 -0
  130. package/node_modules/@smithy/config-resolver/dist-types/ts3.4/endpointsConfig/NodeUseFipsEndpointConfigOptions.d.ts +6 -0
  131. package/node_modules/@smithy/config-resolver/package.json +5 -5
  132. package/node_modules/@smithy/core/dist-cjs/index.js +1 -2
  133. package/node_modules/@smithy/core/dist-cjs/submodules/cbor/index.js +7 -1
  134. package/node_modules/@smithy/core/dist-cjs/submodules/endpoints/index.js +22 -0
  135. package/node_modules/@smithy/core/dist-cjs/submodules/protocols/index.js +11 -1
  136. package/node_modules/@smithy/core/dist-cjs/submodules/schema/index.js +41 -4
  137. package/node_modules/@smithy/core/dist-es/middleware-http-auth-scheme/getHttpAuthSchemePlugin.js +1 -2
  138. package/node_modules/@smithy/core/dist-es/submodules/cbor/parseCborBody.js +7 -1
  139. package/node_modules/@smithy/core/dist-es/submodules/endpoints/index.js +1 -0
  140. package/node_modules/@smithy/core/dist-es/submodules/endpoints/toEndpointV1.js +17 -0
  141. package/node_modules/@smithy/core/dist-es/submodules/protocols/HttpProtocol.js +10 -0
  142. package/node_modules/@smithy/core/dist-es/submodules/protocols/RpcProtocol.js +1 -1
  143. package/node_modules/@smithy/core/dist-es/submodules/schema/middleware/schemaSerializationMiddleware.js +3 -2
  144. package/node_modules/@smithy/core/dist-es/submodules/schema/schemas/NormalizedSchema.js +30 -1
  145. package/node_modules/@smithy/core/dist-es/submodules/schema/schemas/translateTraits.js +5 -1
  146. package/node_modules/@smithy/core/dist-types/submodules/endpoints/index.d.ts +1 -0
  147. package/node_modules/@smithy/core/dist-types/submodules/endpoints/toEndpointV1.d.ts +6 -0
  148. package/node_modules/@smithy/core/dist-types/submodules/schema/schemas/NormalizedSchema.d.ts +11 -0
  149. package/node_modules/@smithy/core/dist-types/submodules/schema/schemas/translateTraits.d.ts +6 -0
  150. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/endpoints/index.d.ts +1 -0
  151. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/endpoints/toEndpointV1.d.ts +6 -0
  152. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/schema/schemas/NormalizedSchema.d.ts +11 -0
  153. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/schema/schemas/translateTraits.d.ts +6 -0
  154. package/node_modules/@smithy/core/endpoints.d.ts +7 -0
  155. package/node_modules/@smithy/core/endpoints.js +6 -0
  156. package/node_modules/@smithy/core/package.json +16 -7
  157. package/node_modules/@smithy/credential-provider-imds/package.json +5 -5
  158. package/node_modules/@smithy/eventstream-codec/package.json +2 -2
  159. package/node_modules/@smithy/eventstream-serde-browser/package.json +3 -3
  160. package/node_modules/@smithy/eventstream-serde-config-resolver/package.json +2 -2
  161. package/node_modules/@smithy/eventstream-serde-node/package.json +3 -3
  162. package/node_modules/@smithy/eventstream-serde-universal/package.json +3 -3
  163. package/node_modules/@smithy/fetch-http-handler/dist-cjs/index.js +4 -1
  164. package/node_modules/@smithy/fetch-http-handler/dist-es/fetch-http-handler.js +4 -1
  165. package/node_modules/@smithy/fetch-http-handler/package.json +5 -5
  166. package/node_modules/@smithy/hash-blob-browser/package.json +2 -2
  167. package/node_modules/@smithy/hash-node/package.json +2 -2
  168. package/node_modules/@smithy/hash-stream-node/package.json +2 -2
  169. package/node_modules/@smithy/invalid-dependency/package.json +2 -2
  170. package/node_modules/@smithy/md5-js/package.json +2 -2
  171. package/node_modules/@smithy/middleware-content-length/package.json +3 -3
  172. package/node_modules/@smithy/middleware-endpoint/dist-cjs/index.js +17 -1
  173. package/node_modules/@smithy/middleware-endpoint/dist-es/adaptors/getEndpointFromInstructions.js +9 -0
  174. package/node_modules/@smithy/middleware-endpoint/dist-es/adaptors/toEndpointV1.js +8 -1
  175. package/node_modules/@smithy/middleware-endpoint/dist-types/adaptors/toEndpointV1.d.ts +1 -0
  176. package/node_modules/@smithy/middleware-endpoint/dist-types/resolveEndpointConfig.d.ts +2 -2
  177. package/node_modules/@smithy/middleware-endpoint/dist-types/ts3.4/adaptors/toEndpointV1.d.ts +1 -0
  178. package/node_modules/@smithy/middleware-endpoint/dist-types/ts3.4/resolveEndpointConfig.d.ts +2 -2
  179. package/node_modules/@smithy/middleware-endpoint/package.json +8 -8
  180. package/node_modules/@smithy/middleware-retry/dist-cjs/index.js +9 -12
  181. package/node_modules/@smithy/middleware-retry/dist-es/configurations.js +9 -12
  182. package/node_modules/@smithy/middleware-retry/package.json +8 -8
  183. package/node_modules/@smithy/middleware-serde/dist-cjs/index.js +3 -2
  184. package/node_modules/@smithy/middleware-serde/dist-es/serializerMiddleware.js +3 -2
  185. package/node_modules/@smithy/middleware-serde/package.json +4 -3
  186. package/node_modules/@smithy/middleware-stack/package.json +2 -2
  187. package/node_modules/@smithy/node-config-provider/package.json +4 -4
  188. package/node_modules/@smithy/node-http-handler/dist-cjs/index.js +48 -38
  189. package/node_modules/@smithy/node-http-handler/dist-es/build-abort-error.js +4 -1
  190. package/node_modules/@smithy/node-http-handler/dist-es/node-http-handler.js +38 -31
  191. package/node_modules/@smithy/node-http-handler/dist-es/node-http2-connection-manager.js +1 -1
  192. package/node_modules/@smithy/node-http-handler/dist-es/node-http2-handler.js +1 -1
  193. package/node_modules/@smithy/node-http-handler/dist-es/readable.mock.js +1 -1
  194. package/node_modules/@smithy/node-http-handler/dist-es/server.mock.js +6 -6
  195. package/node_modules/@smithy/node-http-handler/dist-es/stream-collector/collector.js +1 -1
  196. package/node_modules/@smithy/node-http-handler/dist-es/stream-collector/readable.mock.js +1 -1
  197. package/node_modules/@smithy/node-http-handler/dist-es/write-request-body.js +1 -1
  198. package/node_modules/@smithy/node-http-handler/dist-types/build-abort-error.d.ts +4 -3
  199. package/node_modules/@smithy/node-http-handler/dist-types/get-transformed-headers.d.ts +1 -1
  200. package/node_modules/@smithy/node-http-handler/dist-types/node-http-handler.d.ts +4 -4
  201. package/node_modules/@smithy/node-http-handler/dist-types/node-http2-connection-manager.d.ts +1 -1
  202. package/node_modules/@smithy/node-http-handler/dist-types/node-http2-connection-pool.d.ts +1 -1
  203. package/node_modules/@smithy/node-http-handler/dist-types/readable.mock.d.ts +2 -2
  204. package/node_modules/@smithy/node-http-handler/dist-types/server.mock.d.ts +3 -3
  205. package/node_modules/@smithy/node-http-handler/dist-types/set-connection-timeout.d.ts +1 -1
  206. package/node_modules/@smithy/node-http-handler/dist-types/set-request-timeout.d.ts +1 -1
  207. package/node_modules/@smithy/node-http-handler/dist-types/set-socket-keep-alive.d.ts +1 -1
  208. package/node_modules/@smithy/node-http-handler/dist-types/set-socket-timeout.d.ts +1 -1
  209. package/node_modules/@smithy/node-http-handler/dist-types/stream-collector/collector.d.ts +1 -1
  210. package/node_modules/@smithy/node-http-handler/dist-types/stream-collector/readable.mock.d.ts +2 -2
  211. package/node_modules/@smithy/node-http-handler/dist-types/ts3.4/build-abort-error.d.ts +4 -3
  212. package/node_modules/@smithy/node-http-handler/dist-types/ts3.4/get-transformed-headers.d.ts +1 -1
  213. package/node_modules/@smithy/node-http-handler/dist-types/ts3.4/node-http-handler.d.ts +4 -4
  214. package/node_modules/@smithy/node-http-handler/dist-types/ts3.4/node-http2-connection-manager.d.ts +1 -1
  215. package/node_modules/@smithy/node-http-handler/dist-types/ts3.4/node-http2-connection-pool.d.ts +1 -1
  216. package/node_modules/@smithy/node-http-handler/dist-types/ts3.4/readable.mock.d.ts +2 -2
  217. package/node_modules/@smithy/node-http-handler/dist-types/ts3.4/server.mock.d.ts +3 -3
  218. package/node_modules/@smithy/node-http-handler/dist-types/ts3.4/set-connection-timeout.d.ts +1 -1
  219. package/node_modules/@smithy/node-http-handler/dist-types/ts3.4/set-request-timeout.d.ts +1 -1
  220. package/node_modules/@smithy/node-http-handler/dist-types/ts3.4/set-socket-keep-alive.d.ts +1 -1
  221. package/node_modules/@smithy/node-http-handler/dist-types/ts3.4/set-socket-timeout.d.ts +1 -1
  222. package/node_modules/@smithy/node-http-handler/dist-types/ts3.4/stream-collector/collector.d.ts +1 -1
  223. package/node_modules/@smithy/node-http-handler/dist-types/ts3.4/stream-collector/readable.mock.d.ts +2 -2
  224. package/node_modules/@smithy/node-http-handler/dist-types/ts3.4/write-request-body.d.ts +2 -2
  225. package/node_modules/@smithy/node-http-handler/dist-types/write-request-body.d.ts +2 -2
  226. package/node_modules/@smithy/node-http-handler/package.json +5 -5
  227. package/node_modules/@smithy/property-provider/package.json +2 -2
  228. package/node_modules/@smithy/protocol-http/package.json +2 -2
  229. package/node_modules/@smithy/querystring-builder/package.json +2 -2
  230. package/node_modules/@smithy/querystring-parser/package.json +2 -2
  231. package/node_modules/@smithy/service-error-classification/package.json +2 -2
  232. package/node_modules/@smithy/shared-ini-file-loader/package.json +2 -2
  233. package/node_modules/@smithy/signature-v4/package.json +4 -4
  234. package/node_modules/@smithy/smithy-client/package.json +7 -7
  235. package/node_modules/@smithy/types/dist-types/http.d.ts +1 -0
  236. package/node_modules/@smithy/types/dist-types/ts3.4/http.d.ts +1 -0
  237. package/node_modules/@smithy/types/package.json +1 -1
  238. package/node_modules/@smithy/url-parser/package.json +3 -3
  239. package/node_modules/@smithy/util-defaults-mode-browser/package.json +4 -4
  240. package/node_modules/@smithy/util-defaults-mode-node/package.json +7 -7
  241. package/node_modules/@smithy/util-endpoints/package.json +3 -3
  242. package/node_modules/@smithy/util-middleware/package.json +2 -2
  243. package/node_modules/@smithy/util-retry/package.json +3 -3
  244. package/node_modules/@smithy/util-stream/package.json +4 -4
  245. package/node_modules/@smithy/util-waiter/dist-cjs/index.js +1 -1
  246. package/node_modules/@smithy/util-waiter/dist-es/poller.js +1 -1
  247. package/node_modules/@smithy/util-waiter/package.json +3 -3
  248. package/node_modules/fast-xml-builder/CHANGELOG.md +16 -0
  249. package/node_modules/fast-xml-builder/README.md +1 -1
  250. package/node_modules/fast-xml-builder/lib/fxb.cjs +1 -0
  251. package/node_modules/fast-xml-builder/lib/fxb.d.cts +22 -9
  252. package/node_modules/fast-xml-builder/lib/fxb.min.js +2 -0
  253. package/node_modules/fast-xml-builder/lib/fxb.min.js.map +1 -0
  254. package/node_modules/fast-xml-builder/package.json +7 -5
  255. package/node_modules/fast-xml-builder/src/fxb.d.ts +27 -3
  256. package/node_modules/fast-xml-builder/src/fxb.js +265 -21
  257. package/node_modules/fast-xml-builder/src/orderedJs2Xml.js +165 -18
  258. package/node_modules/mailparser/.release-please-manifest.json +1 -1
  259. package/node_modules/mailparser/CHANGELOG.md +7 -0
  260. package/node_modules/mailparser/package.json +3 -3
  261. package/node_modules/nodemailer/CHANGELOG.md +10 -0
  262. package/node_modules/nodemailer/lib/addressparser/index.js +68 -83
  263. package/node_modules/nodemailer/lib/base64/index.js +6 -5
  264. package/node_modules/nodemailer/lib/dkim/index.js +8 -16
  265. package/node_modules/nodemailer/lib/dkim/message-parser.js +12 -13
  266. package/node_modules/nodemailer/lib/dkim/relaxed-body.js +2 -2
  267. package/node_modules/nodemailer/lib/dkim/sign.js +13 -14
  268. package/node_modules/nodemailer/lib/errors.js +4 -7
  269. package/node_modules/nodemailer/lib/fetch/cookies.js +13 -18
  270. package/node_modules/nodemailer/lib/fetch/index.js +12 -15
  271. package/node_modules/nodemailer/lib/json-transport/index.js +4 -4
  272. package/node_modules/nodemailer/lib/mail-composer/index.js +86 -116
  273. package/node_modules/nodemailer/lib/mailer/index.js +26 -26
  274. package/node_modules/nodemailer/lib/mailer/mail-message.js +17 -21
  275. package/node_modules/nodemailer/lib/mime-funcs/index.js +25 -40
  276. package/node_modules/nodemailer/lib/mime-funcs/mime-types.js +7 -11
  277. package/node_modules/nodemailer/lib/mime-node/index.js +81 -72
  278. package/node_modules/nodemailer/lib/mime-node/last-newline.js +1 -1
  279. package/node_modules/nodemailer/lib/mime-node/le-unix.js +4 -7
  280. package/node_modules/nodemailer/lib/mime-node/le-windows.js +1 -4
  281. package/node_modules/nodemailer/lib/nodemailer.js +11 -18
  282. package/node_modules/nodemailer/lib/qp/index.js +24 -21
  283. package/node_modules/nodemailer/lib/sendmail-transport/index.js +30 -41
  284. package/node_modules/nodemailer/lib/ses-transport/index.js +23 -34
  285. package/node_modules/nodemailer/lib/shared/index.js +94 -140
  286. package/node_modules/nodemailer/lib/smtp-connection/data-stream.js +3 -6
  287. package/node_modules/nodemailer/lib/smtp-connection/http-proxy-client.js +11 -13
  288. package/node_modules/nodemailer/lib/smtp-connection/index.js +114 -181
  289. package/node_modules/nodemailer/lib/smtp-pool/index.js +20 -32
  290. package/node_modules/nodemailer/lib/smtp-pool/pool-resource.js +8 -12
  291. package/node_modules/nodemailer/lib/smtp-transport/index.js +22 -42
  292. package/node_modules/nodemailer/lib/stream-transport/index.js +7 -7
  293. package/node_modules/nodemailer/lib/well-known/index.js +7 -7
  294. package/node_modules/nodemailer/lib/xoauth2/index.js +22 -28
  295. package/node_modules/nodemailer/package.json +4 -3
  296. package/node_modules/path-expression-matcher/LICENSE +21 -0
  297. package/node_modules/path-expression-matcher/README.md +720 -0
  298. package/node_modules/path-expression-matcher/lib/pem.cjs +1 -0
  299. package/node_modules/path-expression-matcher/lib/pem.d.cts +523 -0
  300. package/node_modules/path-expression-matcher/lib/pem.min.js +2 -0
  301. package/node_modules/path-expression-matcher/lib/pem.min.js.map +1 -0
  302. package/node_modules/path-expression-matcher/package.json +78 -0
  303. package/node_modules/path-expression-matcher/src/Expression.js +232 -0
  304. package/node_modules/path-expression-matcher/src/Matcher.js +498 -0
  305. package/node_modules/path-expression-matcher/src/index.d.ts +518 -0
  306. package/node_modules/path-expression-matcher/src/index.js +28 -0
  307. package/node_modules/{@aws-sdk/xml-builder/node_modules/strnum → strnum}/CHANGELOG.md +9 -2
  308. package/node_modules/{@aws-sdk/xml-builder/node_modules/strnum → strnum}/README.md +1 -0
  309. package/node_modules/{@aws-sdk/xml-builder/node_modules/strnum → strnum}/package.json +3 -3
  310. package/node_modules/strnum/strnum.js +161 -0
  311. package/node_modules/strnum/tests/infinity_test.js +18 -0
  312. package/node_modules/{@aws-sdk/xml-builder/node_modules/strnum/strnum.test.js → strnum/tests/strnum_test.js} +70 -68
  313. package/node_modules/strnum/tests/temp.js +8 -0
  314. package/package.json +1 -1
  315. package/node_modules/@aws-sdk/util-user-agent-node/dist-es/getTypeScriptPackageJsonPaths.js +0 -17
  316. package/node_modules/@aws-sdk/util-user-agent-node/dist-types/ts3.4/getTypeScriptPackageJsonPaths.d.ts +0 -3
  317. package/node_modules/@aws-sdk/xml-builder/node_modules/strnum/strnum.js +0 -129
  318. package/node_modules/@aws-sdk/xml-builder/node_modules/strnum/test.js +0 -9
  319. package/node_modules/fast-xml-builder/lib/builder.cjs +0 -1
  320. package/node_modules/fast-xml-builder/lib/builder.min.js +0 -2
  321. package/node_modules/fast-xml-builder/lib/builder.min.js.map +0 -1
  322. /package/node_modules/{@aws-sdk/xml-builder/node_modules/strnum → strnum}/.github/SECURITY.md +0 -0
  323. /package/node_modules/{@aws-sdk/xml-builder/node_modules/strnum → strnum}/.vscode/launch.json +0 -0
  324. /package/node_modules/{@aws-sdk/xml-builder/node_modules/strnum → strnum}/LICENSE +0 -0
  325. /package/node_modules/{@aws-sdk/xml-builder/node_modules/strnum → strnum}/algo.stflow +0 -0
@@ -1,7 +1,11 @@
1
+ import { booleanSelector, SelectorType } from "@smithy/util-config-provider";
1
2
  import { readFile } from "node:fs/promises";
3
+ import { join } from "node:path";
4
+ import { getNodeModulesParentDirs } from "./getNodeModulesParentDirs";
5
+ import { getSanitizedDevTypeScriptVersion } from "./getSanitizedDevTypeScriptVersion";
2
6
  import { getSanitizedTypeScriptVersion } from "./getSanitizedTypeScriptVersion";
3
- import { getTypeScriptPackageJsonPaths } from "./getTypeScriptPackageJsonPaths";
4
7
  let tscVersion;
8
+ const TS_PACKAGE_JSON = join("node_modules", "typescript", "package.json");
5
9
  export const getTypeScriptUserAgentPair = async () => {
6
10
  if (tscVersion === null) {
7
11
  return undefined;
@@ -9,21 +13,63 @@ export const getTypeScriptUserAgentPair = async () => {
9
13
  else if (typeof tscVersion === "string") {
10
14
  return ["md/tsc", tscVersion];
11
15
  }
16
+ let isTypeScriptDetectionDisabled = false;
17
+ try {
18
+ isTypeScriptDetectionDisabled =
19
+ booleanSelector(process.env, "AWS_SDK_JS_TYPESCRIPT_DETECTION_DISABLED", SelectorType.ENV) || false;
20
+ }
21
+ catch { }
22
+ if (isTypeScriptDetectionDisabled) {
23
+ tscVersion = null;
24
+ return undefined;
25
+ }
12
26
  const dirname = typeof __dirname !== "undefined" ? __dirname : undefined;
13
- for (const typescriptPackageJsonPath of getTypeScriptPackageJsonPaths(dirname)) {
27
+ const nodeModulesParentDirs = getNodeModulesParentDirs(dirname);
28
+ let versionFromApp;
29
+ for (const nodeModulesParentDir of nodeModulesParentDirs) {
30
+ try {
31
+ const appPackageJsonPath = join(nodeModulesParentDir, "package.json");
32
+ const packageJson = await readFile(appPackageJsonPath, "utf-8");
33
+ const { dependencies, devDependencies } = JSON.parse(packageJson);
34
+ const version = devDependencies?.typescript ?? dependencies?.typescript;
35
+ if (typeof version !== "string") {
36
+ continue;
37
+ }
38
+ versionFromApp = version;
39
+ break;
40
+ }
41
+ catch {
42
+ }
43
+ }
44
+ if (!versionFromApp) {
45
+ tscVersion = null;
46
+ return undefined;
47
+ }
48
+ let versionFromNodeModules;
49
+ for (const nodeModulesParentDir of nodeModulesParentDirs) {
14
50
  try {
15
- const packageJson = await readFile(typescriptPackageJsonPath, "utf-8");
51
+ const tsPackageJsonPath = join(nodeModulesParentDir, TS_PACKAGE_JSON);
52
+ const packageJson = await readFile(tsPackageJsonPath, "utf-8");
16
53
  const { version } = JSON.parse(packageJson);
17
54
  const sanitizedVersion = getSanitizedTypeScriptVersion(version);
18
55
  if (typeof sanitizedVersion !== "string") {
19
56
  continue;
20
57
  }
21
- tscVersion = sanitizedVersion;
22
- return ["md/tsc", tscVersion];
58
+ versionFromNodeModules = sanitizedVersion;
59
+ break;
23
60
  }
24
61
  catch {
25
62
  }
26
63
  }
27
- tscVersion = null;
28
- return undefined;
64
+ if (versionFromNodeModules) {
65
+ tscVersion = versionFromNodeModules;
66
+ return ["md/tsc", tscVersion];
67
+ }
68
+ const sanitizedVersion = getSanitizedDevTypeScriptVersion(versionFromApp);
69
+ if (typeof sanitizedVersion !== "string") {
70
+ tscVersion = null;
71
+ return undefined;
72
+ }
73
+ tscVersion = `dev_${sanitizedVersion}`;
74
+ return ["md/tsc", tscVersion];
29
75
  };
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Returns candidate paths to the TypeScript package.json file derived from the current
2
+ * Returns candidate paths to the node_modules parent directories based on current
3
3
  * working directory and, if provided, from the given directory.
4
4
  *
5
5
  * @param dirname - Optional directory path to derive an additional candidate path from.
@@ -7,4 +7,4 @@
7
7
  *
8
8
  * @internal
9
9
  */
10
- export declare const getTypeScriptPackageJsonPaths: (dirname?: string) => string[];
10
+ export declare const getNodeModulesParentDirs: (dirname?: string) => string[];
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Sanitizes a TypeScript version string for user-agent reporting.
3
+ * Handles dist tags (e.g., "latest", "beta"), version prefixes (e.g., "^", "~"),
4
+ * and semver strings. Returns undefined if the version is invalid.
5
+ *
6
+ * @internal
7
+ */
8
+ export declare const getSanitizedDevTypeScriptVersion: (version?: string) => string | undefined;
@@ -0,0 +1 @@
1
+ export declare const getNodeModulesParentDirs: (dirname?: string) => string[];
@@ -0,0 +1,3 @@
1
+ export declare const getSanitizedDevTypeScriptVersion: (
2
+ version?: string
3
+ ) => string | undefined;
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-sdk/util-user-agent-node",
3
- "version": "3.973.5",
3
+ "version": "3.973.11",
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,10 +24,11 @@
24
24
  },
25
25
  "license": "Apache-2.0",
26
26
  "dependencies": {
27
- "@aws-sdk/middleware-user-agent": "^3.972.20",
28
- "@aws-sdk/types": "^3.973.5",
29
- "@smithy/node-config-provider": "^4.3.11",
30
- "@smithy/types": "^4.13.0",
27
+ "@aws-sdk/middleware-user-agent": "^3.972.25",
28
+ "@aws-sdk/types": "^3.973.6",
29
+ "@smithy/node-config-provider": "^4.3.12",
30
+ "@smithy/types": "^4.13.1",
31
+ "@smithy/util-config-provider": "^4.2.2",
31
32
  "tslib": "^2.6.2"
32
33
  },
33
34
  "devDependencies": {
@@ -2,21 +2,31 @@
2
2
 
3
3
  var xmlParser = require('./xml-parser');
4
4
 
5
+ const ATTR_ESCAPE_RE = /[&<>"]/g;
6
+ const ATTR_ESCAPE_MAP = {
7
+ "&": "&amp;",
8
+ "<": "&lt;",
9
+ ">": "&gt;",
10
+ '"': "&quot;",
11
+ };
5
12
  function escapeAttribute(value) {
6
- return value.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;");
13
+ return value.replace(ATTR_ESCAPE_RE, (ch) => ATTR_ESCAPE_MAP[ch]);
7
14
  }
8
15
 
16
+ const ELEMENT_ESCAPE_RE = /[&"'<>\r\n\u0085\u2028]/g;
17
+ const ELEMENT_ESCAPE_MAP = {
18
+ "&": "&amp;",
19
+ '"': "&quot;",
20
+ "'": "&apos;",
21
+ "<": "&lt;",
22
+ ">": "&gt;",
23
+ "\r": "&#x0D;",
24
+ "\n": "&#x0A;",
25
+ "\u0085": "&#x85;",
26
+ "\u2028": "&#x2028;",
27
+ };
9
28
  function escapeElement(value) {
10
- return value
11
- .replace(/&/g, "&amp;")
12
- .replace(/"/g, "&quot;")
13
- .replace(/'/g, "&apos;")
14
- .replace(/</g, "&lt;")
15
- .replace(/>/g, "&gt;")
16
- .replace(/\r/g, "&#x0D;")
17
- .replace(/\n/g, "&#x0A;")
18
- .replace(/\u0085/g, "&#x85;")
19
- .replace(/\u2028/, "&#x2028;");
29
+ return value.replace(ELEMENT_ESCAPE_RE, (ch) => ELEMENT_ESCAPE_MAP[ch]);
20
30
  }
21
31
 
22
32
  class XmlText {
@@ -4,13 +4,17 @@ exports.parseXML = parseXML;
4
4
  const fast_xml_parser_1 = require("fast-xml-parser");
5
5
  const parser = new fast_xml_parser_1.XMLParser({
6
6
  attributeNamePrefix: "",
7
+ processEntities: {
8
+ enabled: true,
9
+ maxTotalExpansions: Infinity,
10
+ },
7
11
  htmlEntities: true,
8
12
  ignoreAttributes: false,
9
13
  ignoreDeclaration: true,
10
14
  parseTagValue: false,
11
15
  trimValues: false,
12
16
  tagValueProcessor: (_, val) => (val.trim() === "" && val.includes("\n") ? "" : undefined),
13
- maxNestedTags: 1024,
17
+ maxNestedTags: Infinity,
14
18
  });
15
19
  parser.addEntity("#xD", "\r");
16
20
  parser.addEntity("#10", "\n");
@@ -1,3 +1,10 @@
1
+ const ATTR_ESCAPE_RE = /[&<>"]/g;
2
+ const ATTR_ESCAPE_MAP = {
3
+ "&": "&amp;",
4
+ "<": "&lt;",
5
+ ">": "&gt;",
6
+ '"': "&quot;",
7
+ };
1
8
  export function escapeAttribute(value) {
2
- return value.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;");
9
+ return value.replace(ATTR_ESCAPE_RE, (ch) => ATTR_ESCAPE_MAP[ch]);
3
10
  }
@@ -1,12 +1,15 @@
1
+ const ELEMENT_ESCAPE_RE = /[&"'<>\r\n\u0085\u2028]/g;
2
+ const ELEMENT_ESCAPE_MAP = {
3
+ "&": "&amp;",
4
+ '"': "&quot;",
5
+ "'": "&apos;",
6
+ "<": "&lt;",
7
+ ">": "&gt;",
8
+ "\r": "&#x0D;",
9
+ "\n": "&#x0A;",
10
+ "\u0085": "&#x85;",
11
+ "\u2028": "&#x2028;",
12
+ };
1
13
  export function escapeElement(value) {
2
- return value
3
- .replace(/&/g, "&amp;")
4
- .replace(/"/g, "&quot;")
5
- .replace(/'/g, "&apos;")
6
- .replace(/</g, "&lt;")
7
- .replace(/>/g, "&gt;")
8
- .replace(/\r/g, "&#x0D;")
9
- .replace(/\n/g, "&#x0A;")
10
- .replace(/\u0085/g, "&#x85;")
11
- .replace(/\u2028/, "&#x2028;");
14
+ return value.replace(ELEMENT_ESCAPE_RE, (ch) => ELEMENT_ESCAPE_MAP[ch]);
12
15
  }
@@ -1,13 +1,17 @@
1
1
  import { XMLParser } from "fast-xml-parser";
2
2
  const parser = new XMLParser({
3
3
  attributeNamePrefix: "",
4
+ processEntities: {
5
+ enabled: true,
6
+ maxTotalExpansions: Infinity,
7
+ },
4
8
  htmlEntities: true,
5
9
  ignoreAttributes: false,
6
10
  ignoreDeclaration: true,
7
11
  parseTagValue: false,
8
12
  trimValues: false,
9
13
  tagValueProcessor: (_, val) => (val.trim() === "" && val.includes("\n") ? "" : undefined),
10
- maxNestedTags: 1024,
14
+ maxNestedTags: Infinity,
11
15
  });
12
16
  parser.addEntity("#xD", "\r");
13
17
  parser.addEntity("#10", "\n");
@@ -1,23 +1,59 @@
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
+ Note: Due to some last quick changes on v4, detail of v4.5.3 & v4.5.4 are not updated here. v4.5.4x is the last tag of v4 in github repository. I'm extremely sorry for the confusion
4
+
5
+ **5.5.8 / 2026-03-20**
6
+ - pass read only matcher in callback
7
+
8
+ **5.5.7 / 2026-03-19**
9
+ - fix: entity expansion limits
10
+ - update strnum package to 2.2.0
11
+
12
+ **5.5.6 / 2026-03-16**
13
+ - update builder dependency
14
+ - fix incorrect regex to replace \. in entity name
15
+ - fix check for entitiy expansion for lastEntities and html entities too
16
+
17
+ **5.5.5 / 2026-03-13**
18
+ - sanitize dangerous tag or attribute name
19
+ - error on critical property name
20
+ - support onDangerousProperty option
21
+
22
+ **5.5.4 / 2026-03-13**
23
+ - declare Matcher & Expression as unknown so user is not forced to install path-expression-matcher
24
+
25
+
26
+ **5.5.3 / 2026-03-11**
27
+ - upgrade builder
28
+
29
+ **5.5.2 / 2026-03-11**
30
+ - update dependency to fix typings
31
+
32
+ **5.5.1 / 2026-03-10**
33
+ - fix dependency
34
+
35
+ **5.5.0 / 2026-03-10**
36
+ - support path-expression-matcher
37
+ - fix: stopNode should not be parsed
38
+ - performance improvement for stopNode checking
39
+
40
+ **5.4.2 / 2026-03-03**
41
+ - support maxEntityCount option
42
+
3
43
  **5.4.1 / 2026-02-25**
4
44
  - fix (#785) unpairedTag node should not have tag content
5
45
 
6
-
7
46
  **5.4.0 / 2026-02-25**
8
47
  - migrate to fast-xml-builder
9
48
 
10
- 5.3.9
11
49
  **5.3.9 / 2026-02-25**
12
50
  - support strictReservedNames
13
51
 
14
- 5.3.8
15
52
  **5.3.8 / 2026-02-25**
16
53
  - support maxNestedTags
17
54
  - handle non-array input for XML builder when preserveOrder is true (By [Angelo Coetzee](https://github.com/Angelopvtac))
18
55
  - save use of js properies
19
56
 
20
- 5.3.7
21
57
  **5.3.7 / 2026-02-20**
22
58
  - fix typings for CJS (By [Corentin Girard](https://github.com/Drarig29))
23
59
 
@@ -152,13 +152,14 @@ Bundle size
152
152
  <a href="./docs/v3/docs.md">documents</a>
153
153
  </td>
154
154
  <td><ol>
155
- <li><a href="./docs/v4/1.GettingStarted.md">Getting Started</a></li>
156
- <li><a href="./docs/v4/2.XMLparseOptions.md">XML Parser</a></li>
157
- <li><a href="./docs/v4/3.XMLBuilder.md">XML Builder</a></li>
158
- <li><a href="./docs/v4/4.XMLValidator.md">XML Validator</a></li>
159
- <li><a href="./docs/v4/5.Entities.md">Entities</a></li>
160
- <li><a href="./docs/v4/6.HTMLParsing.md">HTML Document Parsing</a></li>
161
- <li><a href="./docs/v4/7.PITags.md">PI Tag processing</a></li>
155
+ <li><a href="./docs/v4,v5/1.GettingStarted.md">Getting Started</a></li>
156
+ <li><a href="./docs/v4,v5/2.XMLparseOptions.md">XML Parser</a></li>
157
+ <li><a href="./docs/v4,v5/3.XMLBuilder.md">XML Builder</a></li>
158
+ <li><a href="./docs/v4,v5/4.XMLValidator.md">XML Validator</a></li>
159
+ <li><a href="./docs/v4,v5/5.Entities.md">Entities</a></li>
160
+ <li><a href="./docs/v4,v5/6.HTMLParsing.md">HTML Document Parsing</a></li>
161
+ <li><a href="./docs/v4,v5/7.PITags.md">PI Tag processing</a></li>
162
+ <li><a href="./docs/v4,v5/8.PathExpression.md">Path Expression</a></li>
162
163
  </ol></td>
163
164
  <td><ol>
164
165
  <li></li><a href="./docs/v6/1.GettingStarted.md">Getting Started</a></li>
@@ -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 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})());
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={};t.r(e),t.d(e,{default:()=>y});class i{constructor(t,e={}){this.pattern=t,this.separator=e.separator||".",this.segments=this._parse(t),this._hasDeepWildcard=this.segments.some(t=>"deep-wildcard"===t.type),this._hasAttributeCondition=this.segments.some(t=>void 0!==t.attrName),this._hasPositionSelector=this.segments.some(t=>void 0!==t.position)}_parse(t){const e=[];let i=0,s="";for(;i<t.length;)t[i]===this.separator?i+1<t.length&&t[i+1]===this.separator?(s.trim()&&(e.push(this._parseSegment(s.trim())),s=""),e.push({type:"deep-wildcard"}),i+=2):(s.trim()&&e.push(this._parseSegment(s.trim())),s="",i++):(s+=t[i],i++);return s.trim()&&e.push(this._parseSegment(s.trim())),e}_parseSegment(t){const e={type:"tag"};let i=null,s=t;const n=t.match(/^([^\[]+)(\[[^\]]*\])(.*)$/);if(n&&(s=n[1]+n[3],n[2])){const t=n[2].slice(1,-1);t&&(i=t)}let r,o,a=s;if(s.includes("::")){const e=s.indexOf("::");if(r=s.substring(0,e).trim(),a=s.substring(e+2).trim(),!r)throw new Error(`Invalid namespace in pattern: ${t}`)}let h=null;if(a.includes(":")){const t=a.lastIndexOf(":"),e=a.substring(0,t).trim(),i=a.substring(t+1).trim();["first","last","odd","even"].includes(i)||/^nth\(\d+\)$/.test(i)?(o=e,h=i):o=a}else o=a;if(!o)throw new Error(`Invalid segment pattern: ${t}`);if(e.tag=o,r&&(e.namespace=r),i)if(i.includes("=")){const t=i.indexOf("=");e.attrName=i.substring(0,t).trim(),e.attrValue=i.substring(t+1).trim()}else e.attrName=i.trim();if(h){const t=h.match(/^nth\((\d+)\)$/);t?(e.position="nth",e.positionValue=parseInt(t[1],10)):e.position=h}return e}get length(){return this.segments.length}hasDeepWildcard(){return this._hasDeepWildcard}hasAttributeCondition(){return this._hasAttributeCondition}hasPositionSelector(){return this._hasPositionSelector}toString(){return this.pattern}}const s=new Set(["push","pop","reset","updateCurrent","restore"]);class n{constructor(t={}){this.separator=t.separator||".",this.path=[],this.siblingStacks=[]}push(t,e=null,i=null){this.path.length>0&&(this.path[this.path.length-1].values=void 0);const s=this.path.length;this.siblingStacks[s]||(this.siblingStacks[s]=new Map);const n=this.siblingStacks[s],r=i?`${i}:${t}`:t,o=n.get(r)||0;let a=0;for(const t of n.values())a+=t;n.set(r,o+1);const h={tag:t,position:a,counter:o};null!=i&&(h.namespace=i),null!=e&&(h.values=e),this.path.push(h)}pop(){if(0===this.path.length)return;const t=this.path.pop();return this.siblingStacks.length>this.path.length+1&&(this.siblingStacks.length=this.path.length+1),t}updateCurrent(t){if(this.path.length>0){const e=this.path[this.path.length-1];null!=t&&(e.values=t)}}getCurrentTag(){return this.path.length>0?this.path[this.path.length-1].tag:void 0}getCurrentNamespace(){return this.path.length>0?this.path[this.path.length-1].namespace:void 0}getAttrValue(t){if(0===this.path.length)return;const e=this.path[this.path.length-1];return e.values?.[t]}hasAttr(t){if(0===this.path.length)return!1;const e=this.path[this.path.length-1];return void 0!==e.values&&t in e.values}getPosition(){return 0===this.path.length?-1:this.path[this.path.length-1].position??0}getCounter(){return 0===this.path.length?-1:this.path[this.path.length-1].counter??0}getIndex(){return this.getPosition()}getDepth(){return this.path.length}toString(t,e=!0){const i=t||this.separator;return this.path.map(t=>e&&t.namespace?`${t.namespace}:${t.tag}`:t.tag).join(i)}toArray(){return this.path.map(t=>t.tag)}reset(){this.path=[],this.siblingStacks=[]}matches(t){const e=t.segments;return 0!==e.length&&(t.hasDeepWildcard()?this._matchWithDeepWildcard(e):this._matchSimple(e))}_matchSimple(t){if(this.path.length!==t.length)return!1;for(let e=0;e<t.length;e++){const i=t[e],s=this.path[e],n=e===this.path.length-1;if(!this._matchSegment(i,s,n))return!1}return!0}_matchWithDeepWildcard(t){let e=this.path.length-1,i=t.length-1;for(;i>=0&&e>=0;){const s=t[i];if("deep-wildcard"===s.type){if(i--,i<0)return!0;const s=t[i];let n=!1;for(let t=e;t>=0;t--){const r=t===this.path.length-1;if(this._matchSegment(s,this.path[t],r)){e=t-1,i--,n=!0;break}}if(!n)return!1}else{const t=e===this.path.length-1;if(!this._matchSegment(s,this.path[e],t))return!1;e--,i--}}return i<0}_matchSegment(t,e,i){if("*"!==t.tag&&t.tag!==e.tag)return!1;if(void 0!==t.namespace&&"*"!==t.namespace&&t.namespace!==e.namespace)return!1;if(void 0!==t.attrName){if(!i)return!1;if(!e.values||!(t.attrName in e.values))return!1;if(void 0!==t.attrValue){const i=e.values[t.attrName];if(String(i)!==String(t.attrValue))return!1}}if(void 0!==t.position){if(!i)return!1;const s=e.counter??0;if("first"===t.position&&0!==s)return!1;if("odd"===t.position&&s%2!=1)return!1;if("even"===t.position&&s%2!=0)return!1;if("nth"===t.position&&s!==t.positionValue)return!1}return!0}snapshot(){return{path:this.path.map(t=>({...t})),siblingStacks:this.siblingStacks.map(t=>new Map(t))}}restore(t){this.path=t.path.map(t=>({...t})),this.siblingStacks=t.siblingStacks.map(t=>new Map(t))}readOnly(){return new Proxy(this,{get(t,e,i){if(s.has(e))return()=>{throw new TypeError(`Cannot call '${e}' on a read-only Matcher. Obtain a writable instance to mutate state.`)};const n=Reflect.get(t,e,i);return"path"===e||"siblingStacks"===e?Object.freeze(Array.isArray(n)?n.map(t=>t instanceof Map?Object.freeze(new Map(t)):Object.freeze({...t})):n):"function"==typeof n?n.bind(t):n},set(t,e){throw new TypeError(`Cannot set property '${String(e)}' on a read-only Matcher.`)},deleteProperty(t,e){throw new TypeError(`Cannot delete property '${String(e)}' from a read-only Matcher.`)}})}}function r(t,e){let s="";e.format&&e.indentBy.length>0&&(s="\n");const r=[];if(e.stopNodes&&Array.isArray(e.stopNodes))for(let t=0;t<e.stopNodes.length;t++){const s=e.stopNodes[t];"string"==typeof s?r.push(new i(s)):s instanceof i&&r.push(s)}return o(t,e,s,new n,r)}function o(t,e,i,s,n){let r="",p=!1;if(e.maxNestedTags&&s.getDepth()>e.maxNestedTags)throw new Error("Maximum nested tags exceeded");if(!Array.isArray(t)){if(null!=t){let i=t.toString();return i=d(i,e),i}return""}for(let f=0;f<t.length;f++){const g=t[f],m=u(g);if(void 0===m)continue;const b=a(g[":@"],e);s.push(m,b);const N=c(s,n);if(m===e.textNodeName){let t=g[m];N||(t=e.tagValueProcessor(m,t),t=d(t,e)),p&&(r+=i),r+=t,p=!1,s.pop();continue}if(m===e.cdataPropName){p&&(r+=i),r+=`<![CDATA[${g[m][0][e.textNodeName]}]]>`,p=!1,s.pop();continue}if(m===e.commentPropName){r+=i+`\x3c!--${g[m][0][e.textNodeName]}--\x3e`,p=!0,s.pop();continue}if("?"===m[0]){const t=l(g[":@"],e,N),n="?xml"===m?"":i;let o=g[m][0][e.textNodeName];o=0!==o.length?" "+o:"",r+=n+`<${m}${o}${t}?>`,p=!0,s.pop();continue}let y=i;""!==y&&(y+=e.indentBy);const x=i+`<${m}${l(g[":@"],e,N)}`;let P;P=N?h(g[m],e):o(g[m],e,y,s,n),-1!==e.unpairedTags.indexOf(m)?e.suppressUnpairedNode?r+=x+">":r+=x+"/>":P&&0!==P.length||!e.suppressEmptyNode?P&&P.endsWith(">")?r+=x+`>${P}${i}</${m}>`:(r+=x+">",P&&""!==i&&(P.includes("/>")||P.includes("</"))?r+=i+e.indentBy+P+i:r+=P,r+=`</${m}>`):r+=x+"/>",p=!0,s.pop()}return r}function a(t,e){if(!t||e.ignoreAttributes)return null;const i={};let s=!1;for(let n in t)Object.prototype.hasOwnProperty.call(t,n)&&(i[n.startsWith(e.attributeNamePrefix)?n.substr(e.attributeNamePrefix.length):n]=t[n],s=!0);return s?i:null}function h(t,e){if(!Array.isArray(t))return null!=t?t.toString():"";let i="";for(let s=0;s<t.length;s++){const n=t[s],r=u(n);if(r===e.textNodeName)i+=n[r];else if(r===e.cdataPropName)i+=n[r][0][e.textNodeName];else if(r===e.commentPropName)i+=n[r][0][e.textNodeName];else{if(r&&"?"===r[0])continue;if(r){const t=p(n[":@"],e),s=h(n[r],e);s&&0!==s.length?i+=`<${r}${t}>${s}</${r}>`:i+=`<${r}${t}/>`}}}return i}function p(t,e){let i="";if(t&&!e.ignoreAttributes)for(let s in t){if(!Object.prototype.hasOwnProperty.call(t,s))continue;let n=t[s];!0===n&&e.suppressBooleanAttributes?i+=` ${s.substr(e.attributeNamePrefix.length)}`:i+=` ${s.substr(e.attributeNamePrefix.length)}="${n}"`}return i}function u(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 l(t,e,i){let s="";if(t&&!e.ignoreAttributes)for(let n in t){if(!Object.prototype.hasOwnProperty.call(t,n))continue;let r;i?r=t[n]:(r=e.attributeValueProcessor(n,t[n]),r=d(r,e)),!0===r&&e.suppressBooleanAttributes?s+=` ${n.substr(e.attributeNamePrefix.length)}`:s+=` ${n.substr(e.attributeNamePrefix.length)}="${r}"`}return s}function c(t,e){if(!e||0===e.length)return!1;for(let i=0;i<e.length;i++)if(t.matches(e[i]))return!0;return!1}function d(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}const f={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,maxNestedTags:100,jPath:!0};function g(t){if(this.options=Object.assign({},f,t),this.options.stopNodes&&Array.isArray(this.options.stopNodes)&&(this.options.stopNodes=this.options.stopNodes.map(t=>"string"==typeof t&&t.startsWith("*.")?".."+t.substring(2):t)),this.stopNodeExpressions=[],this.options.stopNodes&&Array.isArray(this.options.stopNodes))for(let t=0;t<this.options.stopNodes.length;t++){const e=this.options.stopNodes[t];"string"==typeof e?this.stopNodeExpressions.push(new i(e)):e instanceof i&&this.stopNodeExpressions.push(e)}var e;!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=N),this.processTextOrObjNode=m,this.options.format?(this.indentate=b,this.tagEndChar=">\n",this.newLine="\n"):(this.indentate=function(){return""},this.tagEndChar=">",this.newLine="")}function m(t,e,i,s){const n=this.extractAttributes(t);if(s.push(e,n),this.checkStopNode(s)){const n=this.buildRawContent(t),r=this.buildAttributesForStopNode(t);return s.pop(),this.buildObjectNode(n,e,r,i)}const r=this.j2x(t,i+1,s);return s.pop(),void 0!==t[this.options.textNodeName]&&1===Object.keys(t).length?this.buildTextValNode(t[this.options.textNodeName],e,r.attrStr,i,s):this.buildObjectNode(r.val,e,r.attrStr,i)}function b(t){return this.options.indentBy.repeat(t)}function N(t){return!(!t.startsWith(this.options.attributeNamePrefix)||t===this.options.textNodeName)&&t.substr(this.attrPrefixLen)}g.prototype.build=function(t){if(this.options.preserveOrder)return r(t,this.options);{Array.isArray(t)&&this.options.arrayNodeName&&this.options.arrayNodeName.length>1&&(t={[this.options.arrayNodeName]:t});const e=new n;return this.j2x(t,0,e).val}},g.prototype.j2x=function(t,e,i){let s="",n="";if(this.options.maxNestedTags&&i.getDepth()>=this.options.maxNestedTags)throw new Error("Maximum nested tags exceeded");const r=this.options.jPath?i.toString():i,o=this.checkStopNode(i);for(let a in t)if(Object.prototype.hasOwnProperty.call(t,a))if(void 0===t[a])this.isAttribute(a)&&(n+="");else if(null===t[a])this.isAttribute(a)||a===this.options.cdataPropName?n+="":"?"===a[0]?n+=this.indentate(e)+"<"+a+"?"+this.tagEndChar:n+=this.indentate(e)+"<"+a+"/"+this.tagEndChar;else if(t[a]instanceof Date)n+=this.buildTextValNode(t[a],a,"",e,i);else if("object"!=typeof t[a]){const h=this.isAttribute(a);if(h&&!this.ignoreAttributesFn(h,r))s+=this.buildAttrPairStr(h,""+t[a],o);else if(!h)if(a===this.options.textNodeName){let e=this.options.tagValueProcessor(a,""+t[a]);n+=this.replaceEntitiesValue(e)}else{i.push(a);const s=this.checkStopNode(i);if(i.pop(),s){const i=""+t[a];n+=""===i?this.indentate(e)+"<"+a+this.closeTag(a)+this.tagEndChar:this.indentate(e)+"<"+a+">"+i+"</"+a+this.tagEndChar}else n+=this.buildTextValNode(t[a],a,"",e,i)}}else if(Array.isArray(t[a])){const s=t[a].length;let r="",o="";for(let h=0;h<s;h++){const s=t[a][h];if(void 0===s);else if(null===s)"?"===a[0]?n+=this.indentate(e)+"<"+a+"?"+this.tagEndChar:n+=this.indentate(e)+"<"+a+"/"+this.tagEndChar;else if("object"==typeof s)if(this.options.oneListGroup){i.push(a);const t=this.j2x(s,e+1,i);i.pop(),r+=t.val,this.options.attributesGroupName&&s.hasOwnProperty(this.options.attributesGroupName)&&(o+=t.attrStr)}else r+=this.processTextOrObjNode(s,a,e,i);else if(this.options.oneListGroup){let t=this.options.tagValueProcessor(a,s);t=this.replaceEntitiesValue(t),r+=t}else{i.push(a);const t=this.checkStopNode(i);if(i.pop(),t){const t=""+s;r+=""===t?this.indentate(e)+"<"+a+this.closeTag(a)+this.tagEndChar:this.indentate(e)+"<"+a+">"+t+"</"+a+this.tagEndChar}else r+=this.buildTextValNode(s,a,"",e,i)}}this.options.oneListGroup&&(r=this.buildObjectNode(r,a,o,e)),n+=r}else if(this.options.attributesGroupName&&a===this.options.attributesGroupName){const e=Object.keys(t[a]),i=e.length;for(let n=0;n<i;n++)s+=this.buildAttrPairStr(e[n],""+t[a][e[n]],o)}else n+=this.processTextOrObjNode(t[a],a,e,i);return{attrStr:s,val:n}},g.prototype.buildAttrPairStr=function(t,e,i){return i||(e=this.options.attributeValueProcessor(t,""+e),e=this.replaceEntitiesValue(e)),this.options.suppressBooleanAttributes&&"true"===e?" "+t:" "+t+'="'+e+'"'},g.prototype.extractAttributes=function(t){if(!t||"object"!=typeof t)return null;const e={};let i=!1;if(this.options.attributesGroupName&&t[this.options.attributesGroupName]){const s=t[this.options.attributesGroupName];for(let t in s)Object.prototype.hasOwnProperty.call(s,t)&&(e[t.startsWith(this.options.attributeNamePrefix)?t.substring(this.options.attributeNamePrefix.length):t]=s[t],i=!0)}else for(let s in t){if(!Object.prototype.hasOwnProperty.call(t,s))continue;const n=this.isAttribute(s);n&&(e[n]=t[s],i=!0)}return i?e:null},g.prototype.buildRawContent=function(t){if("string"==typeof t)return t;if("object"!=typeof t||null===t)return String(t);if(void 0!==t[this.options.textNodeName])return t[this.options.textNodeName];let e="";for(let i in t){if(!Object.prototype.hasOwnProperty.call(t,i))continue;if(this.isAttribute(i))continue;if(this.options.attributesGroupName&&i===this.options.attributesGroupName)continue;const s=t[i];if(i===this.options.textNodeName)e+=s;else if(Array.isArray(s)){for(let t of s)if("string"==typeof t||"number"==typeof t)e+=`<${i}>${t}</${i}>`;else if("object"==typeof t&&null!==t){const s=this.buildRawContent(t),n=this.buildAttributesForStopNode(t);e+=""===s?`<${i}${n}/>`:`<${i}${n}>${s}</${i}>`}}else if("object"==typeof s&&null!==s){const t=this.buildRawContent(s),n=this.buildAttributesForStopNode(s);e+=""===t?`<${i}${n}/>`:`<${i}${n}>${t}</${i}>`}else e+=`<${i}>${s}</${i}>`}return e},g.prototype.buildAttributesForStopNode=function(t){if(!t||"object"!=typeof t)return"";let e="";if(this.options.attributesGroupName&&t[this.options.attributesGroupName]){const i=t[this.options.attributesGroupName];for(let t in i){if(!Object.prototype.hasOwnProperty.call(i,t))continue;const s=t.startsWith(this.options.attributeNamePrefix)?t.substring(this.options.attributeNamePrefix.length):t,n=i[t];!0===n&&this.options.suppressBooleanAttributes?e+=" "+s:e+=" "+s+'="'+n+'"'}}else for(let i in t){if(!Object.prototype.hasOwnProperty.call(t,i))continue;const s=this.isAttribute(i);if(s){const n=t[i];!0===n&&this.options.suppressBooleanAttributes?e+=" "+s:e+=" "+s+'="'+n+'"'}}return e},g.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,r="";return"?"===e[0]&&(r="?",n=""),!i&&""!==i||-1!==t.indexOf("<")?!1!==this.options.commentPropName&&e===this.options.commentPropName&&0===r.length?this.indentate(s)+`\x3c!--${t}--\x3e`+this.newLine:this.indentate(s)+"<"+e+i+r+this.tagEndChar+t+this.indentate(s)+n:this.indentate(s)+"<"+e+i+r+">"+t+n}},g.prototype.closeTag=function(t){let e="";return-1!==this.options.unpairedTags.indexOf(t)?this.options.suppressUnpairedNode||(e="/"):e=this.options.suppressEmptyNode?"/":`></${t}`,e},g.prototype.checkStopNode=function(t){if(!this.stopNodeExpressions||0===this.stopNodeExpressions.length)return!1;for(let e=0;e<this.stopNodeExpressions.length;e++)if(t.matches(this.stopNodeExpressions[e]))return!0;return!1},g.prototype.buildTextValNode=function(t,e,i,s,n){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}},g.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 y=g;return e})());
2
2
  //# sourceMappingURL=fxbuilder.min.js.map