@cdklabs/cdk-construct-connect-datalake 0.0.0 → 0.0.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 (355) hide show
  1. package/.jsii +10 -10
  2. package/.jsii.tabl.json +1 -1
  3. package/lib/index.js +1 -1
  4. package/node_modules/@aws/lambda-invoke-store/dist-cjs/invoke-store.js +2 -2
  5. package/node_modules/@aws/lambda-invoke-store/dist-es/invoke-store.js +2 -2
  6. package/node_modules/@aws/lambda-invoke-store/dist-types/invoke-store.d.ts +1 -1
  7. package/node_modules/@aws/lambda-invoke-store/package.json +1 -1
  8. package/node_modules/@aws-sdk/client-cloudformation/README.md +26 -46
  9. package/node_modules/@aws-sdk/client-cloudformation/package.json +39 -39
  10. package/node_modules/@aws-sdk/client-connect/README.md +47 -46
  11. package/node_modules/@aws-sdk/client-connect/dist-cjs/index.js +43 -0
  12. package/node_modules/@aws-sdk/client-connect/dist-cjs/schemas/schemas_0.js +109 -41
  13. package/node_modules/@aws-sdk/client-connect/dist-es/Connect.js +6 -0
  14. package/node_modules/@aws-sdk/client-connect/dist-es/commands/AssociateQueueEmailAddressesCommand.js +16 -0
  15. package/node_modules/@aws-sdk/client-connect/dist-es/commands/DisassociateQueueEmailAddressesCommand.js +16 -0
  16. package/node_modules/@aws-sdk/client-connect/dist-es/commands/ListQueueEmailAddressesCommand.js +16 -0
  17. package/node_modules/@aws-sdk/client-connect/dist-es/commands/index.js +3 -0
  18. package/node_modules/@aws-sdk/client-connect/dist-es/models/enums.js +1 -0
  19. package/node_modules/@aws-sdk/client-connect/dist-es/schemas/schemas_0.js +78 -10
  20. package/node_modules/@aws-sdk/client-connect/dist-types/Connect.d.ts +21 -0
  21. package/node_modules/@aws-sdk/client-connect/dist-types/ConnectClient.d.ts +5 -2
  22. package/node_modules/@aws-sdk/client-connect/dist-types/commands/AssociateQueueEmailAddressesCommand.d.ts +120 -0
  23. package/node_modules/@aws-sdk/client-connect/dist-types/commands/CreateQueueCommand.d.ts +5 -0
  24. package/node_modules/@aws-sdk/client-connect/dist-types/commands/CreateTestCaseCommand.d.ts +4 -1
  25. package/node_modules/@aws-sdk/client-connect/dist-types/commands/DescribeContactEvaluationCommand.d.ts +4 -2
  26. package/node_modules/@aws-sdk/client-connect/dist-types/commands/DescribeTestCaseCommand.d.ts +4 -1
  27. package/node_modules/@aws-sdk/client-connect/dist-types/commands/DisassociateQueueEmailAddressesCommand.d.ts +109 -0
  28. package/node_modules/@aws-sdk/client-connect/dist-types/commands/GetTestCaseExecutionSummaryCommand.d.ts +2 -1
  29. package/node_modules/@aws-sdk/client-connect/dist-types/commands/GetTrafficDistributionCommand.d.ts +1 -2
  30. package/node_modules/@aws-sdk/client-connect/dist-types/commands/ListQueueEmailAddressesCommand.d.ts +121 -0
  31. package/node_modules/@aws-sdk/client-connect/dist-types/commands/SearchContactEvaluationsCommand.d.ts +1 -2
  32. package/node_modules/@aws-sdk/client-connect/dist-types/commands/SearchRoutingProfilesCommand.d.ts +1 -2
  33. package/node_modules/@aws-sdk/client-connect/dist-types/commands/SearchSecurityProfilesCommand.d.ts +1 -2
  34. package/node_modules/@aws-sdk/client-connect/dist-types/commands/SearchTestCasesCommand.d.ts +5 -3
  35. package/node_modules/@aws-sdk/client-connect/dist-types/commands/UpdateTestCaseCommand.d.ts +4 -1
  36. package/node_modules/@aws-sdk/client-connect/dist-types/commands/index.d.ts +3 -0
  37. package/node_modules/@aws-sdk/client-connect/dist-types/models/enums.d.ts +1 -0
  38. package/node_modules/@aws-sdk/client-connect/dist-types/models/models_0.d.ts +62 -88
  39. package/node_modules/@aws-sdk/client-connect/dist-types/models/models_1.d.ts +137 -81
  40. package/node_modules/@aws-sdk/client-connect/dist-types/models/models_2.d.ts +147 -148
  41. package/node_modules/@aws-sdk/client-connect/dist-types/models/models_3.d.ts +150 -3
  42. package/node_modules/@aws-sdk/client-connect/dist-types/schemas/schemas_0.d.ts +10 -0
  43. package/node_modules/@aws-sdk/client-connect/dist-types/ts3.4/Connect.d.ts +51 -0
  44. package/node_modules/@aws-sdk/client-connect/dist-types/ts3.4/ConnectClient.d.ts +18 -0
  45. package/node_modules/@aws-sdk/client-connect/dist-types/ts3.4/commands/AssociateQueueEmailAddressesCommand.d.ts +47 -0
  46. package/node_modules/@aws-sdk/client-connect/dist-types/ts3.4/commands/DisassociateQueueEmailAddressesCommand.d.ts +47 -0
  47. package/node_modules/@aws-sdk/client-connect/dist-types/ts3.4/commands/GetTestCaseExecutionSummaryCommand.d.ts +2 -4
  48. package/node_modules/@aws-sdk/client-connect/dist-types/ts3.4/commands/GetTrafficDistributionCommand.d.ts +4 -2
  49. package/node_modules/@aws-sdk/client-connect/dist-types/ts3.4/commands/ListQueueEmailAddressesCommand.d.ts +51 -0
  50. package/node_modules/@aws-sdk/client-connect/dist-types/ts3.4/commands/SearchRoutingProfilesCommand.d.ts +4 -2
  51. package/node_modules/@aws-sdk/client-connect/dist-types/ts3.4/commands/SearchSecurityProfilesCommand.d.ts +4 -2
  52. package/node_modules/@aws-sdk/client-connect/dist-types/ts3.4/commands/SearchTestCasesCommand.d.ts +4 -2
  53. package/node_modules/@aws-sdk/client-connect/dist-types/ts3.4/commands/index.d.ts +3 -0
  54. package/node_modules/@aws-sdk/client-connect/dist-types/ts3.4/models/enums.d.ts +1 -0
  55. package/node_modules/@aws-sdk/client-connect/dist-types/ts3.4/models/models_0.d.ts +14 -20
  56. package/node_modules/@aws-sdk/client-connect/dist-types/ts3.4/models/models_1.d.ts +30 -24
  57. package/node_modules/@aws-sdk/client-connect/dist-types/ts3.4/models/models_2.d.ts +35 -35
  58. package/node_modules/@aws-sdk/client-connect/dist-types/ts3.4/models/models_3.d.ts +34 -3
  59. package/node_modules/@aws-sdk/client-connect/dist-types/ts3.4/schemas/schemas_0.d.ts +10 -0
  60. package/node_modules/@aws-sdk/client-connect/package.json +38 -38
  61. package/node_modules/@aws-sdk/client-glue/README.md +26 -46
  62. package/node_modules/@aws-sdk/client-glue/dist-cjs/index.js +5 -0
  63. package/node_modules/@aws-sdk/client-glue/dist-cjs/schemas/schemas_0.js +5 -4
  64. package/node_modules/@aws-sdk/client-glue/dist-es/models/enums.js +4 -0
  65. package/node_modules/@aws-sdk/client-glue/dist-es/schemas/schemas_0.js +5 -4
  66. package/node_modules/@aws-sdk/client-glue/dist-types/commands/BatchGetPartitionCommand.d.ts +16 -0
  67. package/node_modules/@aws-sdk/client-glue/dist-types/commands/CreateCatalogCommand.d.ts +1 -0
  68. package/node_modules/@aws-sdk/client-glue/dist-types/commands/CreateDataQualityRulesetCommand.d.ts +1 -2
  69. package/node_modules/@aws-sdk/client-glue/dist-types/commands/UpdateCatalogCommand.d.ts +1 -0
  70. package/node_modules/@aws-sdk/client-glue/dist-types/models/enums.d.ts +12 -0
  71. package/node_modules/@aws-sdk/client-glue/dist-types/models/models_0.d.ts +50 -43
  72. package/node_modules/@aws-sdk/client-glue/dist-types/models/models_1.d.ts +41 -21
  73. package/node_modules/@aws-sdk/client-glue/dist-types/models/models_2.d.ts +23 -33
  74. package/node_modules/@aws-sdk/client-glue/dist-types/ts3.4/commands/CreateDataQualityRulesetCommand.d.ts +4 -2
  75. package/node_modules/@aws-sdk/client-glue/dist-types/ts3.4/models/enums.d.ts +6 -0
  76. package/node_modules/@aws-sdk/client-glue/dist-types/ts3.4/models/models_0.d.ts +13 -9
  77. package/node_modules/@aws-sdk/client-glue/dist-types/ts3.4/models/models_1.d.ts +9 -5
  78. package/node_modules/@aws-sdk/client-glue/dist-types/ts3.4/models/models_2.d.ts +6 -8
  79. package/node_modules/@aws-sdk/client-glue/package.json +38 -38
  80. package/node_modules/@aws-sdk/client-lakeformation/README.md +26 -46
  81. package/node_modules/@aws-sdk/client-lakeformation/package.json +39 -39
  82. package/node_modules/@aws-sdk/client-ram/README.md +26 -46
  83. package/node_modules/@aws-sdk/client-ram/dist-cjs/schemas/schemas_0.js +14 -6
  84. package/node_modules/@aws-sdk/client-ram/dist-es/schemas/schemas_0.js +12 -4
  85. package/node_modules/@aws-sdk/client-ram/dist-types/commands/CreateResourceShareCommand.d.ts +6 -0
  86. package/node_modules/@aws-sdk/client-ram/dist-types/commands/GetResourceSharesCommand.d.ts +3 -0
  87. package/node_modules/@aws-sdk/client-ram/dist-types/commands/UpdateResourceShareCommand.d.ts +3 -0
  88. package/node_modules/@aws-sdk/client-ram/dist-types/models/models_0.d.ts +21 -0
  89. package/node_modules/@aws-sdk/client-ram/dist-types/schemas/schemas_0.d.ts +1 -0
  90. package/node_modules/@aws-sdk/client-ram/dist-types/ts3.4/models/models_0.d.ts +5 -0
  91. package/node_modules/@aws-sdk/client-ram/dist-types/ts3.4/schemas/schemas_0.d.ts +1 -0
  92. package/node_modules/@aws-sdk/client-ram/package.json +38 -38
  93. package/node_modules/@aws-sdk/client-sts/README.md +26 -46
  94. package/node_modules/@aws-sdk/client-sts/package.json +43 -39
  95. package/node_modules/@aws-sdk/core/dist-cjs/index.js +11 -15
  96. package/node_modules/@aws-sdk/core/dist-cjs/submodules/protocols/index.js +11 -15
  97. package/node_modules/@aws-sdk/core/dist-es/submodules/protocols/index.js +2 -0
  98. package/node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/JsonShapeDeserializer.js +2 -8
  99. package/node_modules/@aws-sdk/core/dist-es/submodules/protocols/query/AwsEc2QueryProtocol.js +3 -0
  100. package/node_modules/@aws-sdk/core/dist-es/submodules/protocols/xml/XmlShapeDeserializer.js +5 -7
  101. package/node_modules/@aws-sdk/core/dist-types/submodules/protocols/index.d.ts +2 -0
  102. package/node_modules/@aws-sdk/core/dist-types/submodules/protocols/query/AwsEc2QueryProtocol.d.ts +4 -0
  103. package/node_modules/@aws-sdk/core/dist-types/submodules/protocols/query/QuerySerializerSettings.d.ts +3 -0
  104. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/index.d.ts +2 -0
  105. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/query/AwsEc2QueryProtocol.d.ts +1 -0
  106. package/node_modules/@aws-sdk/core/package.json +14 -14
  107. package/node_modules/@aws-sdk/credential-provider-env/package.json +6 -6
  108. package/node_modules/@aws-sdk/credential-provider-http/package.json +11 -11
  109. package/node_modules/@aws-sdk/credential-provider-ini/package.json +15 -15
  110. package/node_modules/@aws-sdk/credential-provider-login/package.json +9 -9
  111. package/node_modules/@aws-sdk/credential-provider-node/package.json +13 -13
  112. package/node_modules/@aws-sdk/credential-provider-process/package.json +7 -7
  113. package/node_modules/@aws-sdk/credential-provider-sso/package.json +9 -9
  114. package/node_modules/@aws-sdk/credential-provider-web-identity/package.json +8 -8
  115. package/node_modules/@aws-sdk/middleware-host-header/package.json +5 -5
  116. package/node_modules/@aws-sdk/middleware-logger/package.json +4 -4
  117. package/node_modules/@aws-sdk/middleware-recursion-detection/package.json +5 -5
  118. package/node_modules/@aws-sdk/middleware-user-agent/dist-cjs/index.js +9 -9
  119. package/node_modules/@aws-sdk/middleware-user-agent/dist-es/check-features.js +9 -9
  120. package/node_modules/@aws-sdk/middleware-user-agent/dist-types/check-features.d.ts +4 -2
  121. package/node_modules/@aws-sdk/middleware-user-agent/dist-types/ts3.4/check-features.d.ts +3 -3
  122. package/node_modules/@aws-sdk/middleware-user-agent/package.json +9 -8
  123. package/node_modules/@aws-sdk/nested-clients/package.json +39 -37
  124. package/node_modules/@aws-sdk/region-config-resolver/package.json +6 -6
  125. package/node_modules/@aws-sdk/token-providers/package.json +8 -8
  126. package/node_modules/@aws-sdk/types/package.json +3 -3
  127. package/node_modules/@aws-sdk/util-endpoints/package.json +6 -6
  128. package/node_modules/@aws-sdk/util-locate-window/package.json +2 -2
  129. package/node_modules/@aws-sdk/util-user-agent-browser/package.json +4 -4
  130. package/node_modules/@aws-sdk/util-user-agent-node/dist-cjs/index.js +87 -14
  131. package/node_modules/@aws-sdk/util-user-agent-node/dist-es/getNodeModulesParentDirs.js +15 -0
  132. package/node_modules/@aws-sdk/util-user-agent-node/dist-es/getSanitizedDevTypeScriptVersion.js +14 -0
  133. package/node_modules/@aws-sdk/util-user-agent-node/dist-es/getSanitizedTypeScriptVersion.js +9 -0
  134. package/node_modules/@aws-sdk/util-user-agent-node/dist-es/getTypeScriptUserAgentPair.js +59 -8
  135. package/node_modules/@aws-sdk/util-user-agent-node/dist-types/getNodeModulesParentDirs.d.ts +10 -0
  136. package/node_modules/@aws-sdk/util-user-agent-node/dist-types/getSanitizedDevTypeScriptVersion.d.ts +8 -0
  137. package/node_modules/@aws-sdk/util-user-agent-node/dist-types/getSanitizedTypeScriptVersion.d.ts +8 -0
  138. package/node_modules/@aws-sdk/util-user-agent-node/dist-types/ts3.4/getNodeModulesParentDirs.d.ts +1 -0
  139. package/node_modules/@aws-sdk/util-user-agent-node/dist-types/ts3.4/getSanitizedDevTypeScriptVersion.d.ts +3 -0
  140. package/node_modules/@aws-sdk/util-user-agent-node/dist-types/ts3.4/getSanitizedTypeScriptVersion.d.ts +3 -0
  141. package/node_modules/@aws-sdk/util-user-agent-node/package.json +7 -6
  142. package/node_modules/@aws-sdk/xml-builder/dist-cjs/index.js +21 -11
  143. package/node_modules/@aws-sdk/xml-builder/dist-cjs/xml-parser.js +5 -0
  144. package/node_modules/@aws-sdk/xml-builder/dist-es/escape-attribute.js +8 -1
  145. package/node_modules/@aws-sdk/xml-builder/dist-es/escape-element.js +13 -10
  146. package/node_modules/@aws-sdk/xml-builder/dist-es/xml-parser.js +5 -0
  147. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/CHANGELOG.md +59 -0
  148. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/README.md +8 -7
  149. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/lib/fxbuilder.min.js +1 -1
  150. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/lib/fxbuilder.min.js.map +1 -1
  151. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/lib/fxp.cjs +1 -1
  152. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/lib/fxp.d.cts +97 -21
  153. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/lib/fxp.min.js +1 -1
  154. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/lib/fxp.min.js.map +1 -1
  155. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/lib/fxparser.min.js +1 -1
  156. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/lib/fxparser.min.js.map +1 -1
  157. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/lib/fxvalidator.min.js +1 -1
  158. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/lib/fxvalidator.min.js.map +1 -1
  159. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/lib/pem.d.cts +148 -0
  160. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/package.json +5 -3
  161. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/fxp.d.ts +91 -19
  162. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/fxp.js +1 -1
  163. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/pem.d.ts +135 -0
  164. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/util.js +18 -25
  165. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/v6/EntitiesParser.js +87 -87
  166. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/v6/OptionsBuilder.js +10 -10
  167. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/v6/OutputBuilders/BaseOutputBuilder.js +23 -23
  168. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/v6/OutputBuilders/JsArrBuilder.js +29 -29
  169. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/v6/OutputBuilders/JsObjBuilder.js +39 -39
  170. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/v6/OutputBuilders/ParserOptionsBuilder.js +17 -17
  171. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/v6/XMLParser.js +22 -22
  172. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/v6/valueParsers/EntitiesParser.js +85 -85
  173. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/validator.js +34 -34
  174. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/xmlbuilder/json2xml.js +5 -284
  175. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/xmlparser/DocTypeReader.js +37 -18
  176. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/xmlparser/OptionsBuilder.js +78 -5
  177. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/xmlparser/OrderedObjParser.js +317 -113
  178. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/xmlparser/XMLParser.js +23 -23
  179. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/xmlparser/node2json.js +96 -42
  180. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/xmlparser/xmlNode.js +10 -10
  181. package/node_modules/{strnum → @aws-sdk/xml-builder/node_modules/strnum}/CHANGELOG.md +9 -2
  182. package/node_modules/{strnum → @aws-sdk/xml-builder/node_modules/strnum}/README.md +1 -0
  183. package/node_modules/{strnum → @aws-sdk/xml-builder/node_modules/strnum}/package.json +3 -3
  184. package/node_modules/@aws-sdk/xml-builder/node_modules/strnum/strnum.js +161 -0
  185. package/node_modules/@aws-sdk/xml-builder/node_modules/strnum/tests/infinity_test.js +18 -0
  186. package/node_modules/{strnum/strnum.test.js → @aws-sdk/xml-builder/node_modules/strnum/tests/strnum_test.js} +70 -68
  187. package/node_modules/@aws-sdk/xml-builder/node_modules/strnum/tests/temp.js +8 -0
  188. package/node_modules/@aws-sdk/xml-builder/package.json +4 -4
  189. package/node_modules/@smithy/abort-controller/package.json +3 -3
  190. package/node_modules/@smithy/config-resolver/dist-cjs/index.js +12 -0
  191. package/node_modules/@smithy/config-resolver/dist-es/endpointsConfig/NodeUseDualstackEndpointConfigOptions.js +5 -0
  192. package/node_modules/@smithy/config-resolver/dist-es/endpointsConfig/NodeUseFipsEndpointConfigOptions.js +5 -0
  193. package/node_modules/@smithy/config-resolver/dist-types/endpointsConfig/NodeUseDualstackEndpointConfigOptions.d.ts +6 -0
  194. package/node_modules/@smithy/config-resolver/dist-types/endpointsConfig/NodeUseFipsEndpointConfigOptions.d.ts +6 -0
  195. package/node_modules/@smithy/config-resolver/dist-types/ts3.4/endpointsConfig/NodeUseDualstackEndpointConfigOptions.d.ts +6 -0
  196. package/node_modules/@smithy/config-resolver/dist-types/ts3.4/endpointsConfig/NodeUseFipsEndpointConfigOptions.d.ts +6 -0
  197. package/node_modules/@smithy/config-resolver/package.json +7 -7
  198. package/node_modules/@smithy/core/dist-cjs/index.js +1 -2
  199. package/node_modules/@smithy/core/dist-cjs/submodules/cbor/index.js +9 -9
  200. package/node_modules/@smithy/core/dist-cjs/submodules/endpoints/index.js +22 -0
  201. package/node_modules/@smithy/core/dist-cjs/submodules/event-streams/index.js +1 -1
  202. package/node_modules/@smithy/core/dist-cjs/submodules/protocols/index.js +11 -1
  203. package/node_modules/@smithy/core/dist-cjs/submodules/schema/index.js +42 -5
  204. package/node_modules/@smithy/core/dist-es/middleware-http-auth-scheme/getHttpAuthSchemePlugin.js +1 -2
  205. package/node_modules/@smithy/core/dist-es/submodules/cbor/CborCodec.js +2 -8
  206. package/node_modules/@smithy/core/dist-es/submodules/cbor/parseCborBody.js +7 -1
  207. package/node_modules/@smithy/core/dist-es/submodules/endpoints/index.js +1 -0
  208. package/node_modules/@smithy/core/dist-es/submodules/endpoints/toEndpointV1.js +17 -0
  209. package/node_modules/@smithy/core/dist-es/submodules/event-streams/EventStreamSerde.js +1 -1
  210. package/node_modules/@smithy/core/dist-es/submodules/protocols/HttpProtocol.js +10 -0
  211. package/node_modules/@smithy/core/dist-es/submodules/protocols/RpcProtocol.js +1 -1
  212. package/node_modules/@smithy/core/dist-es/submodules/schema/middleware/schemaSerializationMiddleware.js +3 -2
  213. package/node_modules/@smithy/core/dist-es/submodules/schema/schemas/NormalizedSchema.js +31 -2
  214. package/node_modules/@smithy/core/dist-es/submodules/schema/schemas/translateTraits.js +5 -1
  215. package/node_modules/@smithy/core/dist-types/submodules/endpoints/index.d.ts +1 -0
  216. package/node_modules/@smithy/core/dist-types/submodules/endpoints/toEndpointV1.d.ts +6 -0
  217. package/node_modules/@smithy/core/dist-types/submodules/schema/schemas/NormalizedSchema.d.ts +11 -0
  218. package/node_modules/@smithy/core/dist-types/submodules/schema/schemas/translateTraits.d.ts +6 -0
  219. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/endpoints/index.d.ts +1 -0
  220. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/endpoints/toEndpointV1.d.ts +6 -0
  221. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/schema/schemas/NormalizedSchema.d.ts +11 -0
  222. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/schema/schemas/translateTraits.d.ts +6 -0
  223. package/node_modules/@smithy/core/endpoints.d.ts +7 -0
  224. package/node_modules/@smithy/core/endpoints.js +6 -0
  225. package/node_modules/@smithy/core/package.json +21 -12
  226. package/node_modules/@smithy/credential-provider-imds/package.json +6 -6
  227. package/node_modules/@smithy/fetch-http-handler/dist-cjs/index.js +21 -4
  228. package/node_modules/@smithy/fetch-http-handler/dist-es/fetch-http-handler.js +21 -4
  229. package/node_modules/@smithy/fetch-http-handler/package.json +7 -7
  230. package/node_modules/@smithy/hash-node/package.json +5 -5
  231. package/node_modules/@smithy/invalid-dependency/package.json +3 -3
  232. package/node_modules/@smithy/is-array-buffer/package.json +2 -2
  233. package/node_modules/@smithy/middleware-content-length/package.json +4 -4
  234. package/node_modules/@smithy/middleware-endpoint/dist-cjs/index.js +17 -1
  235. package/node_modules/@smithy/middleware-endpoint/dist-es/adaptors/getEndpointFromInstructions.js +9 -0
  236. package/node_modules/@smithy/middleware-endpoint/dist-es/adaptors/toEndpointV1.js +8 -1
  237. package/node_modules/@smithy/middleware-endpoint/dist-types/adaptors/toEndpointV1.d.ts +1 -0
  238. package/node_modules/@smithy/middleware-endpoint/dist-types/resolveEndpointConfig.d.ts +2 -2
  239. package/node_modules/@smithy/middleware-endpoint/dist-types/ts3.4/adaptors/toEndpointV1.d.ts +1 -0
  240. package/node_modules/@smithy/middleware-endpoint/dist-types/ts3.4/resolveEndpointConfig.d.ts +2 -2
  241. package/node_modules/@smithy/middleware-endpoint/package.json +9 -9
  242. package/node_modules/@smithy/middleware-retry/dist-cjs/index.js +9 -12
  243. package/node_modules/@smithy/middleware-retry/dist-es/configurations.js +9 -12
  244. package/node_modules/@smithy/middleware-retry/package.json +10 -10
  245. package/node_modules/@smithy/middleware-serde/dist-cjs/index.js +3 -2
  246. package/node_modules/@smithy/middleware-serde/dist-es/serializerMiddleware.js +3 -2
  247. package/node_modules/@smithy/middleware-serde/package.json +5 -4
  248. package/node_modules/@smithy/middleware-stack/package.json +3 -3
  249. package/node_modules/@smithy/node-config-provider/package.json +5 -5
  250. package/node_modules/@smithy/node-http-handler/dist-cjs/index.js +68 -45
  251. package/node_modules/@smithy/node-http-handler/dist-es/build-abort-error.js +19 -0
  252. package/node_modules/@smithy/node-http-handler/dist-es/node-http-handler.js +41 -35
  253. package/node_modules/@smithy/node-http-handler/dist-es/node-http2-connection-manager.js +1 -1
  254. package/node_modules/@smithy/node-http-handler/dist-es/node-http2-handler.js +4 -5
  255. package/node_modules/@smithy/node-http-handler/dist-es/readable.mock.js +1 -1
  256. package/node_modules/@smithy/node-http-handler/dist-es/server.mock.js +6 -6
  257. package/node_modules/@smithy/node-http-handler/dist-es/stream-collector/collector.js +1 -1
  258. package/node_modules/@smithy/node-http-handler/dist-es/stream-collector/readable.mock.js +1 -1
  259. package/node_modules/@smithy/node-http-handler/dist-es/write-request-body.js +1 -1
  260. package/node_modules/@smithy/node-http-handler/dist-types/build-abort-error.d.ts +10 -0
  261. package/node_modules/@smithy/node-http-handler/dist-types/get-transformed-headers.d.ts +1 -1
  262. package/node_modules/@smithy/node-http-handler/dist-types/node-http-handler.d.ts +4 -4
  263. package/node_modules/@smithy/node-http-handler/dist-types/node-http2-connection-manager.d.ts +1 -1
  264. package/node_modules/@smithy/node-http-handler/dist-types/node-http2-connection-pool.d.ts +1 -1
  265. package/node_modules/@smithy/node-http-handler/dist-types/readable.mock.d.ts +2 -2
  266. package/node_modules/@smithy/node-http-handler/dist-types/server.mock.d.ts +3 -3
  267. package/node_modules/@smithy/node-http-handler/dist-types/set-connection-timeout.d.ts +1 -1
  268. package/node_modules/@smithy/node-http-handler/dist-types/set-request-timeout.d.ts +1 -1
  269. package/node_modules/@smithy/node-http-handler/dist-types/set-socket-keep-alive.d.ts +1 -1
  270. package/node_modules/@smithy/node-http-handler/dist-types/set-socket-timeout.d.ts +1 -1
  271. package/node_modules/@smithy/node-http-handler/dist-types/stream-collector/collector.d.ts +1 -1
  272. package/node_modules/@smithy/node-http-handler/dist-types/stream-collector/readable.mock.d.ts +2 -2
  273. package/node_modules/@smithy/node-http-handler/dist-types/ts3.4/build-abort-error.d.ts +10 -0
  274. package/node_modules/@smithy/node-http-handler/dist-types/ts3.4/get-transformed-headers.d.ts +1 -1
  275. package/node_modules/@smithy/node-http-handler/dist-types/ts3.4/node-http-handler.d.ts +4 -4
  276. package/node_modules/@smithy/node-http-handler/dist-types/ts3.4/node-http2-connection-manager.d.ts +1 -1
  277. package/node_modules/@smithy/node-http-handler/dist-types/ts3.4/node-http2-connection-pool.d.ts +1 -1
  278. package/node_modules/@smithy/node-http-handler/dist-types/ts3.4/readable.mock.d.ts +2 -2
  279. package/node_modules/@smithy/node-http-handler/dist-types/ts3.4/server.mock.d.ts +3 -3
  280. package/node_modules/@smithy/node-http-handler/dist-types/ts3.4/set-connection-timeout.d.ts +1 -1
  281. package/node_modules/@smithy/node-http-handler/dist-types/ts3.4/set-request-timeout.d.ts +1 -1
  282. package/node_modules/@smithy/node-http-handler/dist-types/ts3.4/set-socket-keep-alive.d.ts +1 -1
  283. package/node_modules/@smithy/node-http-handler/dist-types/ts3.4/set-socket-timeout.d.ts +1 -1
  284. package/node_modules/@smithy/node-http-handler/dist-types/ts3.4/stream-collector/collector.d.ts +1 -1
  285. package/node_modules/@smithy/node-http-handler/dist-types/ts3.4/stream-collector/readable.mock.d.ts +2 -2
  286. package/node_modules/@smithy/node-http-handler/dist-types/ts3.4/write-request-body.d.ts +2 -2
  287. package/node_modules/@smithy/node-http-handler/dist-types/write-request-body.d.ts +2 -2
  288. package/node_modules/@smithy/node-http-handler/package.json +6 -6
  289. package/node_modules/@smithy/property-provider/package.json +3 -3
  290. package/node_modules/@smithy/protocol-http/package.json +3 -3
  291. package/node_modules/@smithy/querystring-builder/package.json +4 -4
  292. package/node_modules/@smithy/querystring-parser/package.json +3 -3
  293. package/node_modules/@smithy/service-error-classification/package.json +3 -3
  294. package/node_modules/@smithy/shared-ini-file-loader/package.json +3 -3
  295. package/node_modules/@smithy/signature-v4/package.json +9 -9
  296. package/node_modules/@smithy/smithy-client/package.json +8 -8
  297. package/node_modules/@smithy/types/dist-types/http.d.ts +1 -0
  298. package/node_modules/@smithy/types/dist-types/ts3.4/http.d.ts +1 -0
  299. package/node_modules/@smithy/types/package.json +1 -1
  300. package/node_modules/@smithy/url-parser/package.json +4 -4
  301. package/node_modules/@smithy/util-base64/package.json +4 -4
  302. package/node_modules/@smithy/util-body-length-browser/package.json +2 -2
  303. package/node_modules/@smithy/util-body-length-node/package.json +2 -2
  304. package/node_modules/@smithy/util-buffer-from/package.json +3 -3
  305. package/node_modules/@smithy/util-config-provider/package.json +2 -2
  306. package/node_modules/@smithy/util-defaults-mode-browser/package.json +5 -5
  307. package/node_modules/@smithy/util-defaults-mode-node/package.json +8 -8
  308. package/node_modules/@smithy/util-endpoints/package.json +4 -4
  309. package/node_modules/@smithy/util-hex-encoding/package.json +2 -2
  310. package/node_modules/@smithy/util-middleware/package.json +3 -3
  311. package/node_modules/@smithy/util-retry/package.json +4 -4
  312. package/node_modules/@smithy/util-stream/package.json +9 -9
  313. package/node_modules/@smithy/util-uri-escape/package.json +2 -2
  314. package/node_modules/@smithy/util-utf8/package.json +3 -3
  315. package/node_modules/@smithy/util-waiter/dist-cjs/index.js +1 -1
  316. package/node_modules/@smithy/util-waiter/dist-es/poller.js +1 -1
  317. package/node_modules/@smithy/util-waiter/package.json +4 -4
  318. package/node_modules/@smithy/uuid/package.json +2 -2
  319. package/node_modules/fast-xml-builder/CHANGELOG.md +16 -0
  320. package/node_modules/fast-xml-builder/LICENSE +21 -0
  321. package/node_modules/fast-xml-builder/README.md +23 -0
  322. package/node_modules/fast-xml-builder/lib/fxb.cjs +1 -0
  323. package/node_modules/fast-xml-builder/lib/fxb.d.cts +180 -0
  324. package/node_modules/fast-xml-builder/lib/fxb.min.js +2 -0
  325. package/node_modules/fast-xml-builder/lib/fxb.min.js.map +1 -0
  326. package/node_modules/fast-xml-builder/package.json +80 -0
  327. package/node_modules/fast-xml-builder/src/fxb.d.ts +180 -0
  328. package/node_modules/fast-xml-builder/src/fxb.js +529 -0
  329. package/node_modules/fast-xml-builder/src/ignoreAttributes.js +18 -0
  330. package/node_modules/fast-xml-builder/src/orderedJs2Xml.js +292 -0
  331. package/node_modules/path-expression-matcher/LICENSE +21 -0
  332. package/node_modules/path-expression-matcher/README.md +720 -0
  333. package/node_modules/path-expression-matcher/lib/pem.cjs +1 -0
  334. package/node_modules/path-expression-matcher/lib/pem.d.cts +523 -0
  335. package/node_modules/path-expression-matcher/lib/pem.min.js +2 -0
  336. package/node_modules/path-expression-matcher/lib/pem.min.js.map +1 -0
  337. package/node_modules/path-expression-matcher/package.json +78 -0
  338. package/node_modules/path-expression-matcher/src/Expression.js +232 -0
  339. package/node_modules/path-expression-matcher/src/Matcher.js +498 -0
  340. package/node_modules/path-expression-matcher/src/index.d.ts +518 -0
  341. package/node_modules/path-expression-matcher/src/index.js +28 -0
  342. package/node_modules/xml2js/node_modules/sax/lib/sax.js +151 -7
  343. package/node_modules/xml2js/node_modules/sax/package.json +5 -2
  344. package/package.json +10 -10
  345. package/node_modules/@aws-sdk/util-user-agent-node/dist-es/getTypeScriptPackageJsonPath.js +0 -14
  346. package/node_modules/@aws-sdk/util-user-agent-node/dist-types/getTypeScriptPackageJsonPath.d.ts +0 -9
  347. package/node_modules/@aws-sdk/util-user-agent-node/dist-types/ts3.4/getTypeScriptPackageJsonPath.d.ts +0 -1
  348. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/xmlbuilder/orderedJs2Xml.js +0 -134
  349. package/node_modules/strnum/strnum.js +0 -129
  350. package/node_modules/strnum/test.js +0 -9
  351. /package/node_modules/{strnum → @aws-sdk/xml-builder/node_modules/strnum}/.github/SECURITY.md +0 -0
  352. /package/node_modules/{strnum → @aws-sdk/xml-builder/node_modules/strnum}/.vscode/launch.json +0 -0
  353. /package/node_modules/{strnum → @aws-sdk/xml-builder/node_modules/strnum}/LICENSE +0 -0
  354. /package/node_modules/{strnum → @aws-sdk/xml-builder/node_modules/strnum}/algo.stflow +0 -0
  355. /package/node_modules/{@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/xmlbuilder → fast-xml-builder/src}/prettifyJs2Xml.js +0 -0
@@ -0,0 +1,529 @@
1
+ 'use strict';
2
+ //parse Empty Node as self closing node
3
+ import buildFromOrderedJs from './orderedJs2Xml.js';
4
+ import getIgnoreAttributesFn from "./ignoreAttributes.js";
5
+ import { Expression, Matcher } from 'path-expression-matcher';
6
+
7
+ const defaultOptions = {
8
+ attributeNamePrefix: '@_',
9
+ attributesGroupName: false,
10
+ textNodeName: '#text',
11
+ ignoreAttributes: true,
12
+ cdataPropName: false,
13
+ format: false,
14
+ indentBy: ' ',
15
+ suppressEmptyNode: false,
16
+ suppressUnpairedNode: true,
17
+ suppressBooleanAttributes: true,
18
+ tagValueProcessor: function (key, a) {
19
+ return a;
20
+ },
21
+ attributeValueProcessor: function (attrName, a) {
22
+ return a;
23
+ },
24
+ preserveOrder: false,
25
+ commentPropName: false,
26
+ unpairedTags: [],
27
+ entities: [
28
+ { regex: new RegExp("&", "g"), val: "&" },//it must be on top
29
+ { regex: new RegExp(">", "g"), val: ">" },
30
+ { regex: new RegExp("<", "g"), val: "&lt;" },
31
+ { regex: new RegExp("\'", "g"), val: "&apos;" },
32
+ { regex: new RegExp("\"", "g"), val: "&quot;" }
33
+ ],
34
+ processEntities: true,
35
+ stopNodes: [],
36
+ // transformTagName: false,
37
+ // transformAttributeName: false,
38
+ oneListGroup: false,
39
+ maxNestedTags: 100,
40
+ jPath: true // When true, callbacks receive string jPath; when false, receive Matcher instance
41
+ };
42
+
43
+ export default function Builder(options) {
44
+ this.options = Object.assign({}, defaultOptions, options);
45
+
46
+ // Convert old-style stopNodes for backward compatibility
47
+ // Old syntax: "*.tag" meant "tag anywhere in tree"
48
+ // New syntax: "..tag" means "tag anywhere in tree"
49
+ if (this.options.stopNodes && Array.isArray(this.options.stopNodes)) {
50
+ this.options.stopNodes = this.options.stopNodes.map(node => {
51
+ if (typeof node === 'string' && node.startsWith('*.')) {
52
+ // Convert old wildcard syntax to deep wildcard
53
+ return '..' + node.substring(2);
54
+ }
55
+ return node;
56
+ });
57
+ }
58
+
59
+ // Pre-compile stopNode expressions for pattern matching
60
+ this.stopNodeExpressions = [];
61
+ if (this.options.stopNodes && Array.isArray(this.options.stopNodes)) {
62
+ for (let i = 0; i < this.options.stopNodes.length; i++) {
63
+ const node = this.options.stopNodes[i];
64
+ if (typeof node === 'string') {
65
+ this.stopNodeExpressions.push(new Expression(node));
66
+ } else if (node instanceof Expression) {
67
+ this.stopNodeExpressions.push(node);
68
+ }
69
+ }
70
+ }
71
+
72
+ if (this.options.ignoreAttributes === true || this.options.attributesGroupName) {
73
+ this.isAttribute = function (/*a*/) {
74
+ return false;
75
+ };
76
+ } else {
77
+ this.ignoreAttributesFn = getIgnoreAttributesFn(this.options.ignoreAttributes)
78
+ this.attrPrefixLen = this.options.attributeNamePrefix.length;
79
+ this.isAttribute = isAttribute;
80
+ }
81
+
82
+ this.processTextOrObjNode = processTextOrObjNode
83
+
84
+ if (this.options.format) {
85
+ this.indentate = indentate;
86
+ this.tagEndChar = '>\n';
87
+ this.newLine = '\n';
88
+ } else {
89
+ this.indentate = function () {
90
+ return '';
91
+ };
92
+ this.tagEndChar = '>';
93
+ this.newLine = '';
94
+ }
95
+ }
96
+
97
+ Builder.prototype.build = function (jObj) {
98
+ if (this.options.preserveOrder) {
99
+ return buildFromOrderedJs(jObj, this.options);
100
+ } else {
101
+ if (Array.isArray(jObj) && this.options.arrayNodeName && this.options.arrayNodeName.length > 1) {
102
+ jObj = {
103
+ [this.options.arrayNodeName]: jObj
104
+ }
105
+ }
106
+ // Initialize matcher for path tracking
107
+ const matcher = new Matcher();
108
+ return this.j2x(jObj, 0, matcher).val;
109
+ }
110
+ };
111
+
112
+ Builder.prototype.j2x = function (jObj, level, matcher) {
113
+ let attrStr = '';
114
+ let val = '';
115
+ if (this.options.maxNestedTags && matcher.getDepth() >= this.options.maxNestedTags) {
116
+ throw new Error("Maximum nested tags exceeded");
117
+ }
118
+ // Get jPath based on option: string for backward compatibility, or Matcher for new features
119
+ const jPath = this.options.jPath ? matcher.toString() : matcher;
120
+
121
+ // Check if current node is a stopNode (will be used for attribute encoding)
122
+ const isCurrentStopNode = this.checkStopNode(matcher);
123
+
124
+ for (let key in jObj) {
125
+ if (!Object.prototype.hasOwnProperty.call(jObj, key)) continue;
126
+ if (typeof jObj[key] === 'undefined') {
127
+ // supress undefined node only if it is not an attribute
128
+ if (this.isAttribute(key)) {
129
+ val += '';
130
+ }
131
+ } else if (jObj[key] === null) {
132
+ // null attribute should be ignored by the attribute list, but should not cause the tag closing
133
+ if (this.isAttribute(key)) {
134
+ val += '';
135
+ } else if (key === this.options.cdataPropName) {
136
+ val += '';
137
+ } else if (key[0] === '?') {
138
+ val += this.indentate(level) + '<' + key + '?' + this.tagEndChar;
139
+ } else {
140
+ val += this.indentate(level) + '<' + key + '/' + this.tagEndChar;
141
+ }
142
+ // val += this.indentate(level) + '<' + key + '/' + this.tagEndChar;
143
+ } else if (jObj[key] instanceof Date) {
144
+ val += this.buildTextValNode(jObj[key], key, '', level, matcher);
145
+ } else if (typeof jObj[key] !== 'object') {
146
+ //premitive type
147
+ const attr = this.isAttribute(key);
148
+ if (attr && !this.ignoreAttributesFn(attr, jPath)) {
149
+ attrStr += this.buildAttrPairStr(attr, '' + jObj[key], isCurrentStopNode);
150
+ } else if (!attr) {
151
+ //tag value
152
+ if (key === this.options.textNodeName) {
153
+ let newval = this.options.tagValueProcessor(key, '' + jObj[key]);
154
+ val += this.replaceEntitiesValue(newval);
155
+ } else {
156
+ // Check if this is a stopNode before building
157
+ matcher.push(key);
158
+ const isStopNode = this.checkStopNode(matcher);
159
+ matcher.pop();
160
+
161
+ if (isStopNode) {
162
+ // Build as raw content without encoding
163
+ const textValue = '' + jObj[key];
164
+ if (textValue === '') {
165
+ val += this.indentate(level) + '<' + key + this.closeTag(key) + this.tagEndChar;
166
+ } else {
167
+ val += this.indentate(level) + '<' + key + '>' + textValue + '</' + key + this.tagEndChar;
168
+ }
169
+ } else {
170
+ val += this.buildTextValNode(jObj[key], key, '', level, matcher);
171
+ }
172
+ }
173
+ }
174
+ } else if (Array.isArray(jObj[key])) {
175
+ //repeated nodes
176
+ const arrLen = jObj[key].length;
177
+ let listTagVal = "";
178
+ let listTagAttr = "";
179
+ for (let j = 0; j < arrLen; j++) {
180
+ const item = jObj[key][j];
181
+ if (typeof item === 'undefined') {
182
+ // supress undefined node
183
+ } else if (item === null) {
184
+ if (key[0] === "?") val += this.indentate(level) + '<' + key + '?' + this.tagEndChar;
185
+ else val += this.indentate(level) + '<' + key + '/' + this.tagEndChar;
186
+ // val += this.indentate(level) + '<' + key + '/' + this.tagEndChar;
187
+ } else if (typeof item === 'object') {
188
+ if (this.options.oneListGroup) {
189
+ // Push tag to matcher before recursive call
190
+ matcher.push(key);
191
+ const result = this.j2x(item, level + 1, matcher);
192
+ // Pop tag from matcher after recursive call
193
+ matcher.pop();
194
+
195
+ listTagVal += result.val;
196
+ if (this.options.attributesGroupName && item.hasOwnProperty(this.options.attributesGroupName)) {
197
+ listTagAttr += result.attrStr
198
+ }
199
+ } else {
200
+ listTagVal += this.processTextOrObjNode(item, key, level, matcher)
201
+ }
202
+ } else {
203
+ if (this.options.oneListGroup) {
204
+ let textValue = this.options.tagValueProcessor(key, item);
205
+ textValue = this.replaceEntitiesValue(textValue);
206
+ listTagVal += textValue;
207
+ } else {
208
+ // Check if this is a stopNode before building
209
+ matcher.push(key);
210
+ const isStopNode = this.checkStopNode(matcher);
211
+ matcher.pop();
212
+
213
+ if (isStopNode) {
214
+ // Build as raw content without encoding
215
+ const textValue = '' + item;
216
+ if (textValue === '') {
217
+ listTagVal += this.indentate(level) + '<' + key + this.closeTag(key) + this.tagEndChar;
218
+ } else {
219
+ listTagVal += this.indentate(level) + '<' + key + '>' + textValue + '</' + key + this.tagEndChar;
220
+ }
221
+ } else {
222
+ listTagVal += this.buildTextValNode(item, key, '', level, matcher);
223
+ }
224
+ }
225
+ }
226
+ }
227
+ if (this.options.oneListGroup) {
228
+ listTagVal = this.buildObjectNode(listTagVal, key, listTagAttr, level);
229
+ }
230
+ val += listTagVal;
231
+ } else {
232
+ //nested node
233
+ if (this.options.attributesGroupName && key === this.options.attributesGroupName) {
234
+ const Ks = Object.keys(jObj[key]);
235
+ const L = Ks.length;
236
+ for (let j = 0; j < L; j++) {
237
+ attrStr += this.buildAttrPairStr(Ks[j], '' + jObj[key][Ks[j]], isCurrentStopNode);
238
+ }
239
+ } else {
240
+ val += this.processTextOrObjNode(jObj[key], key, level, matcher)
241
+ }
242
+ }
243
+ }
244
+ return { attrStr: attrStr, val: val };
245
+ };
246
+
247
+ Builder.prototype.buildAttrPairStr = function (attrName, val, isStopNode) {
248
+ if (!isStopNode) {
249
+ val = this.options.attributeValueProcessor(attrName, '' + val);
250
+ val = this.replaceEntitiesValue(val);
251
+ }
252
+ if (this.options.suppressBooleanAttributes && val === "true") {
253
+ return ' ' + attrName;
254
+ } else return ' ' + attrName + '="' + val + '"';
255
+ }
256
+
257
+ function processTextOrObjNode(object, key, level, matcher) {
258
+ // Extract attributes to pass to matcher
259
+ const attrValues = this.extractAttributes(object);
260
+
261
+ // Push tag to matcher before recursion WITH attributes
262
+ matcher.push(key, attrValues);
263
+
264
+ // Check if this entire node is a stopNode
265
+ const isStopNode = this.checkStopNode(matcher);
266
+
267
+ if (isStopNode) {
268
+ // For stopNodes, build raw content without entity encoding
269
+ const rawContent = this.buildRawContent(object);
270
+ const attrStr = this.buildAttributesForStopNode(object);
271
+ matcher.pop();
272
+ return this.buildObjectNode(rawContent, key, attrStr, level);
273
+ }
274
+
275
+ const result = this.j2x(object, level + 1, matcher);
276
+ // Pop tag from matcher after recursion
277
+ matcher.pop();
278
+
279
+ if (object[this.options.textNodeName] !== undefined && Object.keys(object).length === 1) {
280
+ return this.buildTextValNode(object[this.options.textNodeName], key, result.attrStr, level, matcher);
281
+ } else {
282
+ return this.buildObjectNode(result.val, key, result.attrStr, level);
283
+ }
284
+ }
285
+
286
+ // Helper method to extract attributes from an object
287
+ Builder.prototype.extractAttributes = function (obj) {
288
+ if (!obj || typeof obj !== 'object') return null;
289
+
290
+ const attrValues = {};
291
+ let hasAttrs = false;
292
+
293
+ // Check for attributesGroupName (when attributes are grouped)
294
+ if (this.options.attributesGroupName && obj[this.options.attributesGroupName]) {
295
+ const attrGroup = obj[this.options.attributesGroupName];
296
+ for (let attrKey in attrGroup) {
297
+ if (!Object.prototype.hasOwnProperty.call(attrGroup, attrKey)) continue;
298
+ // Remove attribute prefix if present
299
+ const cleanKey = attrKey.startsWith(this.options.attributeNamePrefix)
300
+ ? attrKey.substring(this.options.attributeNamePrefix.length)
301
+ : attrKey;
302
+ attrValues[cleanKey] = attrGroup[attrKey];
303
+ hasAttrs = true;
304
+ }
305
+ } else {
306
+ // Look for individual attributes (prefixed with attributeNamePrefix)
307
+ for (let key in obj) {
308
+ if (!Object.prototype.hasOwnProperty.call(obj, key)) continue;
309
+ const attr = this.isAttribute(key);
310
+ if (attr) {
311
+ attrValues[attr] = obj[key];
312
+ hasAttrs = true;
313
+ }
314
+ }
315
+ }
316
+
317
+ return hasAttrs ? attrValues : null;
318
+ };
319
+
320
+ // Build raw content for stopNode without entity encoding
321
+ Builder.prototype.buildRawContent = function (obj) {
322
+ if (typeof obj === 'string') {
323
+ return obj; // Already a string, return as-is
324
+ }
325
+
326
+ if (typeof obj !== 'object' || obj === null) {
327
+ return String(obj);
328
+ }
329
+
330
+ // Check if this is a stopNode data from parser: { "#text": "raw xml", "@_attr": "val" }
331
+ if (obj[this.options.textNodeName] !== undefined) {
332
+ return obj[this.options.textNodeName]; // Return raw text without encoding
333
+ }
334
+
335
+ // Build raw XML from nested structure
336
+ let content = '';
337
+
338
+ for (let key in obj) {
339
+ if (!Object.prototype.hasOwnProperty.call(obj, key)) continue;
340
+
341
+ // Skip attributes
342
+ if (this.isAttribute(key)) continue;
343
+ if (this.options.attributesGroupName && key === this.options.attributesGroupName) continue;
344
+
345
+ const value = obj[key];
346
+
347
+ if (key === this.options.textNodeName) {
348
+ content += value; // Raw text
349
+ } else if (Array.isArray(value)) {
350
+ // Array of same tag
351
+ for (let item of value) {
352
+ if (typeof item === 'string' || typeof item === 'number') {
353
+ content += `<${key}>${item}</${key}>`;
354
+ } else if (typeof item === 'object' && item !== null) {
355
+ const nestedContent = this.buildRawContent(item);
356
+ const nestedAttrs = this.buildAttributesForStopNode(item);
357
+ if (nestedContent === '') {
358
+ content += `<${key}${nestedAttrs}/>`;
359
+ } else {
360
+ content += `<${key}${nestedAttrs}>${nestedContent}</${key}>`;
361
+ }
362
+ }
363
+ }
364
+ } else if (typeof value === 'object' && value !== null) {
365
+ // Nested object
366
+ const nestedContent = this.buildRawContent(value);
367
+ const nestedAttrs = this.buildAttributesForStopNode(value);
368
+ if (nestedContent === '') {
369
+ content += `<${key}${nestedAttrs}/>`;
370
+ } else {
371
+ content += `<${key}${nestedAttrs}>${nestedContent}</${key}>`;
372
+ }
373
+ } else {
374
+ // Primitive value
375
+ content += `<${key}>${value}</${key}>`;
376
+ }
377
+ }
378
+
379
+ return content;
380
+ };
381
+
382
+ // Build attribute string for stopNode (no entity encoding)
383
+ Builder.prototype.buildAttributesForStopNode = function (obj) {
384
+ if (!obj || typeof obj !== 'object') return '';
385
+
386
+ let attrStr = '';
387
+
388
+ // Check for attributesGroupName (when attributes are grouped)
389
+ if (this.options.attributesGroupName && obj[this.options.attributesGroupName]) {
390
+ const attrGroup = obj[this.options.attributesGroupName];
391
+ for (let attrKey in attrGroup) {
392
+ if (!Object.prototype.hasOwnProperty.call(attrGroup, attrKey)) continue;
393
+ const cleanKey = attrKey.startsWith(this.options.attributeNamePrefix)
394
+ ? attrKey.substring(this.options.attributeNamePrefix.length)
395
+ : attrKey;
396
+ const val = attrGroup[attrKey];
397
+ if (val === true && this.options.suppressBooleanAttributes) {
398
+ attrStr += ' ' + cleanKey;
399
+ } else {
400
+ attrStr += ' ' + cleanKey + '="' + val + '"'; // No encoding for stopNode
401
+ }
402
+ }
403
+ } else {
404
+ // Look for individual attributes
405
+ for (let key in obj) {
406
+ if (!Object.prototype.hasOwnProperty.call(obj, key)) continue;
407
+ const attr = this.isAttribute(key);
408
+ if (attr) {
409
+ const val = obj[key];
410
+ if (val === true && this.options.suppressBooleanAttributes) {
411
+ attrStr += ' ' + attr;
412
+ } else {
413
+ attrStr += ' ' + attr + '="' + val + '"'; // No encoding for stopNode
414
+ }
415
+ }
416
+ }
417
+ }
418
+
419
+ return attrStr;
420
+ };
421
+
422
+ Builder.prototype.buildObjectNode = function (val, key, attrStr, level) {
423
+ if (val === "") {
424
+ if (key[0] === "?") return this.indentate(level) + '<' + key + attrStr + '?' + this.tagEndChar;
425
+ else {
426
+ return this.indentate(level) + '<' + key + attrStr + this.closeTag(key) + this.tagEndChar;
427
+ }
428
+ } else {
429
+
430
+ let tagEndExp = '</' + key + this.tagEndChar;
431
+ let piClosingChar = "";
432
+
433
+ if (key[0] === "?") {
434
+ piClosingChar = "?";
435
+ tagEndExp = "";
436
+ }
437
+
438
+ // attrStr is an empty string in case the attribute came as undefined or null
439
+ if ((attrStr || attrStr === '') && val.indexOf('<') === -1) {
440
+ return (this.indentate(level) + '<' + key + attrStr + piClosingChar + '>' + val + tagEndExp);
441
+ } else if (this.options.commentPropName !== false && key === this.options.commentPropName && piClosingChar.length === 0) {
442
+ return this.indentate(level) + `<!--${val}-->` + this.newLine;
443
+ } else {
444
+ return (
445
+ this.indentate(level) + '<' + key + attrStr + piClosingChar + this.tagEndChar +
446
+ val +
447
+ this.indentate(level) + tagEndExp);
448
+ }
449
+ }
450
+ }
451
+
452
+ Builder.prototype.closeTag = function (key) {
453
+ let closeTag = "";
454
+ if (this.options.unpairedTags.indexOf(key) !== -1) { //unpaired
455
+ if (!this.options.suppressUnpairedNode) closeTag = "/"
456
+ } else if (this.options.suppressEmptyNode) { //empty
457
+ closeTag = "/";
458
+ } else {
459
+ closeTag = `></${key}`
460
+ }
461
+ return closeTag;
462
+ }
463
+
464
+ Builder.prototype.checkStopNode = function (matcher) {
465
+ if (!this.stopNodeExpressions || this.stopNodeExpressions.length === 0) return false;
466
+
467
+ for (let i = 0; i < this.stopNodeExpressions.length; i++) {
468
+ if (matcher.matches(this.stopNodeExpressions[i])) {
469
+ return true;
470
+ }
471
+ }
472
+ return false;
473
+ }
474
+
475
+ function buildEmptyObjNode(val, key, attrStr, level) {
476
+ if (val !== '') {
477
+ return this.buildObjectNode(val, key, attrStr, level);
478
+ } else {
479
+ if (key[0] === "?") return this.indentate(level) + '<' + key + attrStr + '?' + this.tagEndChar;
480
+ else {
481
+ return this.indentate(level) + '<' + key + attrStr + '/' + this.tagEndChar;
482
+ // return this.buildTagStr(level,key, attrStr);
483
+ }
484
+ }
485
+ }
486
+
487
+ Builder.prototype.buildTextValNode = function (val, key, attrStr, level, matcher) {
488
+ if (this.options.cdataPropName !== false && key === this.options.cdataPropName) {
489
+ return this.indentate(level) + `<![CDATA[${val}]]>` + this.newLine;
490
+ } else if (this.options.commentPropName !== false && key === this.options.commentPropName) {
491
+ return this.indentate(level) + `<!--${val}-->` + this.newLine;
492
+ } else if (key[0] === "?") {//PI tag
493
+ return this.indentate(level) + '<' + key + attrStr + '?' + this.tagEndChar;
494
+ } else {
495
+ // Normal processing: apply tagValueProcessor and entity replacement
496
+ let textValue = this.options.tagValueProcessor(key, val);
497
+ textValue = this.replaceEntitiesValue(textValue);
498
+
499
+ if (textValue === '') {
500
+ return this.indentate(level) + '<' + key + attrStr + this.closeTag(key) + this.tagEndChar;
501
+ } else {
502
+ return this.indentate(level) + '<' + key + attrStr + '>' +
503
+ textValue +
504
+ '</' + key + this.tagEndChar;
505
+ }
506
+ }
507
+ }
508
+
509
+ Builder.prototype.replaceEntitiesValue = function (textValue) {
510
+ if (textValue && textValue.length > 0 && this.options.processEntities) {
511
+ for (let i = 0; i < this.options.entities.length; i++) {
512
+ const entity = this.options.entities[i];
513
+ textValue = textValue.replace(entity.regex, entity.val);
514
+ }
515
+ }
516
+ return textValue;
517
+ }
518
+
519
+ function indentate(level) {
520
+ return this.options.indentBy.repeat(level);
521
+ }
522
+
523
+ function isAttribute(name /*, options*/) {
524
+ if (name.startsWith(this.options.attributeNamePrefix) && name !== this.options.textNodeName) {
525
+ return name.substr(this.attrPrefixLen);
526
+ } else {
527
+ return false;
528
+ }
529
+ }
@@ -0,0 +1,18 @@
1
+ export default function getIgnoreAttributesFn(ignoreAttributes) {
2
+ if (typeof ignoreAttributes === 'function') {
3
+ return ignoreAttributes
4
+ }
5
+ if (Array.isArray(ignoreAttributes)) {
6
+ return (attrName) => {
7
+ for (const pattern of ignoreAttributes) {
8
+ if (typeof pattern === 'string' && attrName === pattern) {
9
+ return true
10
+ }
11
+ if (pattern instanceof RegExp && pattern.test(attrName)) {
12
+ return true
13
+ }
14
+ }
15
+ }
16
+ }
17
+ return () => false
18
+ }