@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
@@ -1,41 +1,41 @@
1
- import { buildOptions} from './OptionsBuilder.js';
1
+ import { buildOptions } from './OptionsBuilder.js';
2
2
  import OrderedObjParser from './OrderedObjParser.js';
3
3
  import prettify from './node2json.js';
4
- import {validate} from "../validator.js";
4
+ import { validate } from "../validator.js";
5
5
  import XmlNode from './xmlNode.js';
6
6
 
7
- export default class XMLParser{
8
-
9
- constructor(options){
7
+ export default class XMLParser {
8
+
9
+ constructor(options) {
10
10
  this.externalEntities = {};
11
11
  this.options = buildOptions(options);
12
-
12
+
13
13
  }
14
14
  /**
15
15
  * Parse XML dats to JS object
16
16
  * @param {string|Uint8Array} xmlData
17
17
  * @param {boolean|Object} validationOption
18
18
  */
19
- parse(xmlData,validationOption){
20
- if(typeof xmlData !== "string" && xmlData.toString){
19
+ parse(xmlData, validationOption) {
20
+ if (typeof xmlData !== "string" && xmlData.toString) {
21
21
  xmlData = xmlData.toString();
22
- }else if(typeof xmlData !== "string"){
22
+ } else if (typeof xmlData !== "string") {
23
23
  throw new Error("XML data is accepted in String or Bytes[] form.")
24
24
  }
25
-
26
- if( validationOption){
27
- if(validationOption === true) validationOption = {}; //validate with default options
28
-
25
+
26
+ if (validationOption) {
27
+ if (validationOption === true) validationOption = {}; //validate with default options
28
+
29
29
  const result = validate(xmlData, validationOption);
30
30
  if (result !== true) {
31
- throw Error( `${result.err.msg}:${result.err.line}:${result.err.col}` )
31
+ throw Error(`${result.err.msg}:${result.err.line}:${result.err.col}`)
32
32
  }
33
- }
33
+ }
34
34
  const orderedObjParser = new OrderedObjParser(this.options);
35
35
  orderedObjParser.addExternalEntities(this.externalEntities);
36
36
  const orderedResult = orderedObjParser.parseXml(xmlData);
37
- if(this.options.preserveOrder || orderedResult === undefined) return orderedResult;
38
- else return prettify(orderedResult, this.options);
37
+ if (this.options.preserveOrder || orderedResult === undefined) return orderedResult;
38
+ else return prettify(orderedResult, this.options, orderedObjParser.matcher, orderedObjParser.readonlyMatcher);
39
39
  }
40
40
 
41
41
  /**
@@ -43,14 +43,14 @@ export default class XMLParser{
43
43
  * @param {string} key
44
44
  * @param {string} value
45
45
  */
46
- addEntity(key, value){
47
- if(value.indexOf("&") !== -1){
46
+ addEntity(key, value) {
47
+ if (value.indexOf("&") !== -1) {
48
48
  throw new Error("Entity value can't have '&'")
49
- }else if(key.indexOf("&") !== -1 || key.indexOf(";") !== -1){
49
+ } else if (key.indexOf("&") !== -1 || key.indexOf(";") !== -1) {
50
50
  throw new Error("An entity must be set without '&' and ';'. Eg. use '#xD' for '
'")
51
- }else if(value === "&"){
51
+ } else if (value === "&") {
52
52
  throw new Error("An entity with value '&' is not permitted");
53
- }else{
53
+ } else {
54
54
  this.externalEntities[key] = value;
55
55
  }
56
56
  }
@@ -68,4 +68,4 @@ export default class XMLParser{
68
68
  static getMetaDataSymbol() {
69
69
  return XmlNode.getMetaDataSymbol();
70
70
  }
71
- }
71
+ }
@@ -1,98 +1,152 @@
1
1
  'use strict';
2
2
 
3
3
  import XmlNode from './xmlNode.js';
4
+ import { Matcher } from 'path-expression-matcher';
4
5
 
5
6
  const METADATA_SYMBOL = XmlNode.getMetaDataSymbol();
6
7
 
8
+ /**
9
+ * Helper function to strip attribute prefix from attribute map
10
+ * @param {object} attrs - Attributes with prefix (e.g., {"@_class": "code"})
11
+ * @param {string} prefix - Attribute prefix to remove (e.g., "@_")
12
+ * @returns {object} Attributes without prefix (e.g., {"class": "code"})
13
+ */
14
+ function stripAttributePrefix(attrs, prefix) {
15
+ if (!attrs || typeof attrs !== 'object') return {};
16
+ if (!prefix) return attrs;
17
+
18
+ const rawAttrs = {};
19
+ for (const key in attrs) {
20
+ if (key.startsWith(prefix)) {
21
+ const rawName = key.substring(prefix.length);
22
+ rawAttrs[rawName] = attrs[key];
23
+ } else {
24
+ // Attribute without prefix (shouldn't normally happen, but be safe)
25
+ rawAttrs[key] = attrs[key];
26
+ }
27
+ }
28
+ return rawAttrs;
29
+ }
30
+
7
31
  /**
8
32
  *
9
33
  * @param {array} node
10
34
  * @param {any} options
35
+ * @param {Matcher} matcher - Path matcher instance
11
36
  * @returns
12
37
  */
13
- export default function prettify(node, options){
14
- return compress( node, options);
38
+ export default function prettify(node, options, matcher, readonlyMatcher) {
39
+ return compress(node, options, matcher, readonlyMatcher);
15
40
  }
16
41
 
17
42
  /**
18
- *
19
43
  * @param {array} arr
20
44
  * @param {object} options
21
- * @param {string} jPath
45
+ * @param {Matcher} matcher - Path matcher instance
22
46
  * @returns object
23
47
  */
24
- function compress(arr, options, jPath){
48
+ function compress(arr, options, matcher, readonlyMatcher) {
25
49
  let text;
26
- const compressedObj = {};
50
+ const compressedObj = {}; //This is intended to be a plain object
27
51
  for (let i = 0; i < arr.length; i++) {
28
52
  const tagObj = arr[i];
29
53
  const property = propName(tagObj);
30
- let newJpath = "";
31
- if(jPath === undefined) newJpath = property;
32
- else newJpath = jPath + "." + property;
33
54
 
34
- if(property === options.textNodeName){
35
- if(text === undefined) text = tagObj[property];
55
+ // Push current property to matcher WITH RAW ATTRIBUTES (no prefix)
56
+ if (property !== undefined && property !== options.textNodeName) {
57
+ const rawAttrs = stripAttributePrefix(
58
+ tagObj[":@"] || {},
59
+ options.attributeNamePrefix
60
+ );
61
+ matcher.push(property, rawAttrs);
62
+ }
63
+
64
+ if (property === options.textNodeName) {
65
+ if (text === undefined) text = tagObj[property];
36
66
  else text += "" + tagObj[property];
37
- }else if(property === undefined){
67
+ } else if (property === undefined) {
38
68
  continue;
39
- }else if(tagObj[property]){
40
-
41
- let val = compress(tagObj[property], options, newJpath);
69
+ } else if (tagObj[property]) {
70
+
71
+ let val = compress(tagObj[property], options, matcher, readonlyMatcher);
42
72
  const isLeaf = isLeafTag(val, options);
43
- if (tagObj[METADATA_SYMBOL] !== undefined) {
44
- val[METADATA_SYMBOL] = tagObj[METADATA_SYMBOL]; // copy over metadata
45
- }
46
73
 
47
- if(tagObj[":@"]){
48
- assignAttributes( val, tagObj[":@"], newJpath, options);
49
- }else if(Object.keys(val).length === 1 && val[options.textNodeName] !== undefined && !options.alwaysCreateTextNode){
74
+ if (tagObj[":@"]) {
75
+ assignAttributes(val, tagObj[":@"], readonlyMatcher, options);
76
+ } else if (Object.keys(val).length === 1 && val[options.textNodeName] !== undefined && !options.alwaysCreateTextNode) {
50
77
  val = val[options.textNodeName];
51
- }else if(Object.keys(val).length === 0){
52
- if(options.alwaysCreateTextNode) val[options.textNodeName] = "";
78
+ } else if (Object.keys(val).length === 0) {
79
+ if (options.alwaysCreateTextNode) val[options.textNodeName] = "";
53
80
  else val = "";
54
81
  }
55
82
 
56
- if(compressedObj[property] !== undefined && compressedObj.hasOwnProperty(property)) {
57
- if(!Array.isArray(compressedObj[property])) {
58
- compressedObj[property] = [ compressedObj[property] ];
83
+ if (tagObj[METADATA_SYMBOL] !== undefined && typeof val === "object" && val !== null) {
84
+ val[METADATA_SYMBOL] = tagObj[METADATA_SYMBOL]; // copy over metadata
85
+ }
86
+
87
+
88
+ if (compressedObj[property] !== undefined && Object.prototype.hasOwnProperty.call(compressedObj, property)) {
89
+ if (!Array.isArray(compressedObj[property])) {
90
+ compressedObj[property] = [compressedObj[property]];
59
91
  }
60
92
  compressedObj[property].push(val);
61
- }else{
93
+ } else {
62
94
  //TODO: if a node is not an array, then check if it should be an array
63
95
  //also determine if it is a leaf node
64
- if (options.isArray(property, newJpath, isLeaf )) {
96
+
97
+ // Pass jPath string or readonlyMatcher based on options.jPath setting
98
+ const jPathOrMatcher = options.jPath ? readonlyMatcher.toString() : readonlyMatcher;
99
+ if (options.isArray(property, jPathOrMatcher, isLeaf)) {
65
100
  compressedObj[property] = [val];
66
- }else{
101
+ } else {
67
102
  compressedObj[property] = val;
68
103
  }
69
104
  }
105
+
106
+ // Pop property from matcher after processing
107
+ if (property !== undefined && property !== options.textNodeName) {
108
+ matcher.pop();
109
+ }
70
110
  }
71
-
111
+
72
112
  }
73
113
  // if(text && text.length > 0) compressedObj[options.textNodeName] = text;
74
- if(typeof text === "string"){
75
- if(text.length > 0) compressedObj[options.textNodeName] = text;
76
- }else if(text !== undefined) compressedObj[options.textNodeName] = text;
114
+ if (typeof text === "string") {
115
+ if (text.length > 0) compressedObj[options.textNodeName] = text;
116
+ } else if (text !== undefined) compressedObj[options.textNodeName] = text;
117
+
118
+
77
119
  return compressedObj;
78
120
  }
79
121
 
80
- function propName(obj){
122
+ function propName(obj) {
81
123
  const keys = Object.keys(obj);
82
124
  for (let i = 0; i < keys.length; i++) {
83
125
  const key = keys[i];
84
- if(key !== ":@") return key;
126
+ if (key !== ":@") return key;
85
127
  }
86
128
  }
87
129
 
88
- function assignAttributes(obj, attrMap, jpath, options){
130
+ function assignAttributes(obj, attrMap, readonlyMatcher, options) {
89
131
  if (attrMap) {
90
132
  const keys = Object.keys(attrMap);
91
133
  const len = keys.length; //don't make it inline
92
134
  for (let i = 0; i < len; i++) {
93
- const atrrName = keys[i];
94
- if (options.isArray(atrrName, jpath + "." + atrrName, true, true)) {
95
- obj[atrrName] = [ attrMap[atrrName] ];
135
+ const atrrName = keys[i]; // This is the PREFIXED name (e.g., "@_class")
136
+
137
+ // Strip prefix for matcher path (for isArray callback)
138
+ const rawAttrName = atrrName.startsWith(options.attributeNamePrefix)
139
+ ? atrrName.substring(options.attributeNamePrefix.length)
140
+ : atrrName;
141
+
142
+ // For attributes, we need to create a temporary path
143
+ // Pass jPath string or matcher based on options.jPath setting
144
+ const jPathOrMatcher = options.jPath
145
+ ? readonlyMatcher.toString() + "." + rawAttrName
146
+ : readonlyMatcher;
147
+
148
+ if (options.isArray(atrrName, jPathOrMatcher, true, true)) {
149
+ obj[atrrName] = [attrMap[atrrName]];
96
150
  } else {
97
151
  obj[atrrName] = attrMap[atrrName];
98
152
  }
@@ -100,10 +154,10 @@ function assignAttributes(obj, attrMap, jpath, options){
100
154
  }
101
155
  }
102
156
 
103
- function isLeafTag(obj, options){
157
+ function isLeafTag(obj, options) {
104
158
  const { textNodeName } = options;
105
159
  const propCount = Object.keys(obj).length;
106
-
160
+
107
161
  if (propCount === 0) {
108
162
  return true;
109
163
  }
@@ -116,4 +170,4 @@ function isLeafTag(obj, options){
116
170
  }
117
171
 
118
172
  return false;
119
- }
173
+ }
@@ -8,23 +8,23 @@ if (typeof Symbol !== "function") {
8
8
  METADATA_SYMBOL = Symbol("XML Node Metadata");
9
9
  }
10
10
 
11
- export default class XmlNode{
11
+ export default class XmlNode {
12
12
  constructor(tagname) {
13
13
  this.tagname = tagname;
14
14
  this.child = []; //nested tags, text, cdata, comments in order
15
- this[":@"] = {}; //attributes map
15
+ this[":@"] = Object.create(null); //attributes map
16
16
  }
17
- add(key,val){
17
+ add(key, val) {
18
18
  // this.child.push( {name : key, val: val, isCdata: isCdata });
19
- if(key === "__proto__") key = "#__proto__";
20
- this.child.push( {[key]: val });
19
+ if (key === "__proto__") key = "#__proto__";
20
+ this.child.push({ [key]: val });
21
21
  }
22
22
  addChild(node, startIndex) {
23
- if(node.tagname === "__proto__") node.tagname = "#__proto__";
24
- if(node[":@"] && Object.keys(node[":@"]).length > 0){
25
- this.child.push( { [node.tagname]: node.child, [":@"]: node[":@"] });
26
- }else{
27
- this.child.push( { [node.tagname]: node.child });
23
+ if (node.tagname === "__proto__") node.tagname = "#__proto__";
24
+ if (node[":@"] && Object.keys(node[":@"]).length > 0) {
25
+ this.child.push({ [node.tagname]: node.child, [":@"]: node[":@"] });
26
+ } else {
27
+ this.child.push({ [node.tagname]: node.child });
28
28
  }
29
29
  // if requested, add the startIndex
30
30
  if (startIndex !== undefined) {
@@ -1,6 +1,13 @@
1
1
 
2
- **2.1.1 / 2025-05-15**
3
- - remove unnecessary check to remove lint error
2
+ **2.2.2 / 2026-03-23**
3
+ - fix for space string
4
+
5
+
6
+ **2.2.1 / 2026-03-19**
7
+ - fix false positive for eNotation when no leading zeros
8
+
9
+ **2.2.0 / 2026-02-28**
10
+ - support infinity
4
11
 
5
12
  **2.1.0 / 2025-05-01**
6
13
  - fix e-notation
@@ -94,6 +94,7 @@ hex: true, //when hexadecimal string should be parsed
94
94
  leadingZeros: true, //when number with leading zeros like 08 should be parsed. 0.0 is not impacted
95
95
  eNotation: true, //when number with eNotation or number parsed in eNotation should be considered
96
96
  skipLike: /regex/ //when string should not be parsed when it matches the specified regular expression
97
+ infinity: "original", // "null", "infinity" (Infinity type), "string" ("Infinity" (the string literal))
97
98
  ```
98
99
 
99
100
 
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "name": "strnum",
3
- "version": "2.1.2",
3
+ "version": "2.2.2",
4
4
  "description": "Parse String to Number based on configuration",
5
5
  "type": "module",
6
6
  "main": "strnum.js",
7
7
  "scripts": {
8
- "test": "jasmine strnum.test.js"
8
+ "test": "jasmine tests/*_test.js"
9
9
  },
10
10
  "keywords": [
11
11
  "string",
@@ -28,4 +28,4 @@
28
28
  "devDependencies": {
29
29
  "jasmine": "^5.6.0"
30
30
  }
31
- }
31
+ }
@@ -0,0 +1,161 @@
1
+ const hexRegex = /^[-+]?0x[a-fA-F0-9]+$/;
2
+ const numRegex = /^([\-\+])?(0*)([0-9]*(\.[0-9]*)?)$/;
3
+ // const octRegex = /^0x[a-z0-9]+/;
4
+ // const binRegex = /0x[a-z0-9]+/;
5
+
6
+
7
+ const consider = {
8
+ hex: true,
9
+ // oct: false,
10
+ leadingZeros: true,
11
+ decimalPoint: "\.",
12
+ eNotation: true,
13
+ //skipLike: /regex/,
14
+ infinity: "original", // "null", "infinity" (Infinity type), "string" ("Infinity" (the string literal))
15
+ };
16
+
17
+ export default function toNumber(str, options = {}) {
18
+ options = Object.assign({}, consider, options);
19
+ if (!str || typeof str !== "string") return str;
20
+
21
+ let trimmedStr = str.trim();
22
+
23
+ if (trimmedStr.length === 0) return str;
24
+ else if (options.skipLike !== undefined && options.skipLike.test(trimmedStr)) return str;
25
+ else if (trimmedStr === "0") return 0;
26
+ else if (options.hex && hexRegex.test(trimmedStr)) {
27
+ return parse_int(trimmedStr, 16);
28
+ // }else if (options.oct && octRegex.test(str)) {
29
+ // return Number.parseInt(val, 8);
30
+ } else if (!isFinite(trimmedStr)) { //Infinity
31
+ return handleInfinity(str, Number(trimmedStr), options);
32
+ } else if (trimmedStr.includes('e') || trimmedStr.includes('E')) { //eNotation
33
+ return resolveEnotation(str, trimmedStr, options);
34
+ // }else if (options.parseBin && binRegex.test(str)) {
35
+ // return Number.parseInt(val, 2);
36
+ } else {
37
+ //separate negative sign, leading zeros, and rest number
38
+ const match = numRegex.exec(trimmedStr);
39
+ // +00.123 => [ , '+', '00', '.123', ..
40
+ if (match) {
41
+ const sign = match[1] || "";
42
+ const leadingZeros = match[2];
43
+ let numTrimmedByZeros = trimZeros(match[3]); //complete num without leading zeros
44
+ const decimalAdjacentToLeadingZeros = sign ? // 0., -00., 000.
45
+ str[leadingZeros.length + 1] === "."
46
+ : str[leadingZeros.length] === ".";
47
+
48
+ //trim ending zeros for floating number
49
+ if (!options.leadingZeros //leading zeros are not allowed
50
+ && (leadingZeros.length > 1
51
+ || (leadingZeros.length === 1 && !decimalAdjacentToLeadingZeros))) {
52
+ // 00, 00.3, +03.24, 03, 03.24
53
+ return str;
54
+ }
55
+ else {//no leading zeros or leading zeros are allowed
56
+ const num = Number(trimmedStr);
57
+ const parsedStr = String(num);
58
+
59
+ if (num === 0) return num;
60
+ if (parsedStr.search(/[eE]/) !== -1) { //given number is long and parsed to eNotation
61
+ if (options.eNotation) return num;
62
+ else return str;
63
+ } else if (trimmedStr.indexOf(".") !== -1) { //floating number
64
+ if (parsedStr === "0") return num; //0.0
65
+ else if (parsedStr === numTrimmedByZeros) return num; //0.456. 0.79000
66
+ else if (parsedStr === `${sign}${numTrimmedByZeros}`) return num;
67
+ else return str;
68
+ }
69
+
70
+ let n = leadingZeros ? numTrimmedByZeros : trimmedStr;
71
+ if (leadingZeros) {
72
+ // -009 => -9
73
+ return (n === parsedStr) || (sign + n === parsedStr) ? num : str
74
+ } else {
75
+ // +9
76
+ return (n === parsedStr) || (n === sign + parsedStr) ? num : str
77
+ }
78
+ }
79
+ } else { //non-numeric string
80
+ return str;
81
+ }
82
+ }
83
+ }
84
+
85
+ const eNotationRegx = /^([-+])?(0*)(\d*(\.\d*)?[eE][-\+]?\d+)$/;
86
+ function resolveEnotation(str, trimmedStr, options) {
87
+ if (!options.eNotation) return str;
88
+ const notation = trimmedStr.match(eNotationRegx);
89
+ if (notation) {
90
+ let sign = notation[1] || "";
91
+ const eChar = notation[3].indexOf("e") === -1 ? "E" : "e";
92
+ const leadingZeros = notation[2];
93
+ const eAdjacentToLeadingZeros = sign ? // 0E.
94
+ str[leadingZeros.length + 1] === eChar
95
+ : str[leadingZeros.length] === eChar;
96
+
97
+ if (leadingZeros.length > 1 && eAdjacentToLeadingZeros) return str;
98
+ else if (leadingZeros.length === 1
99
+ && (notation[3].startsWith(`.${eChar}`) || notation[3][0] === eChar)) {
100
+ return Number(trimmedStr);
101
+ } else if (leadingZeros.length > 0) {
102
+ // Has leading zeros — only accept if leadingZeros option allows it
103
+ if (options.leadingZeros && !eAdjacentToLeadingZeros) {
104
+ trimmedStr = (notation[1] || "") + notation[3];
105
+ return Number(trimmedStr);
106
+ } else return str;
107
+ } else {
108
+ // No leading zeros — always valid e-notation, parse it
109
+ return Number(trimmedStr);
110
+ }
111
+ } else {
112
+ return str;
113
+ }
114
+ }
115
+
116
+ /**
117
+ *
118
+ * @param {string} numStr without leading zeros
119
+ * @returns
120
+ */
121
+ function trimZeros(numStr) {
122
+ if (numStr && numStr.indexOf(".") !== -1) {//float
123
+ numStr = numStr.replace(/0+$/, ""); //remove ending zeros
124
+ if (numStr === ".") numStr = "0";
125
+ else if (numStr[0] === ".") numStr = "0" + numStr;
126
+ else if (numStr[numStr.length - 1] === ".") numStr = numStr.substring(0, numStr.length - 1);
127
+ return numStr;
128
+ }
129
+ return numStr;
130
+ }
131
+
132
+ function parse_int(numStr, base) {
133
+ //polyfill
134
+ if (parseInt) return parseInt(numStr, base);
135
+ else if (Number.parseInt) return Number.parseInt(numStr, base);
136
+ else if (window && window.parseInt) return window.parseInt(numStr, base);
137
+ else throw new Error("parseInt, Number.parseInt, window.parseInt are not supported")
138
+ }
139
+
140
+ /**
141
+ * Handle infinite values based on user option
142
+ * @param {string} str - original input string
143
+ * @param {number} num - parsed number (Infinity or -Infinity)
144
+ * @param {object} options - user options
145
+ * @returns {string|number|null} based on infinity option
146
+ */
147
+ function handleInfinity(str, num, options) {
148
+ const isPositive = num === Infinity;
149
+
150
+ switch (options.infinity.toLowerCase()) {
151
+ case "null":
152
+ return null;
153
+ case "infinity":
154
+ return num; // Return Infinity or -Infinity
155
+ case "string":
156
+ return isPositive ? "Infinity" : "-Infinity";
157
+ case "original":
158
+ default:
159
+ return str; // Return original string like "1e1000"
160
+ }
161
+ }
@@ -0,0 +1,18 @@
1
+ import toNumber from "../strnum.js";
2
+
3
+ describe("Should convert all the valid numeric strings to number", () => {
4
+ it("should return infinity as per user option", () => {
5
+ expect(toNumber("1e1000", { infinity: "original" })).toEqual("1e1000");
6
+ expect(toNumber("1e1000", { infinity: "null" })).toEqual(null);
7
+ expect(toNumber("1e1000", { infinity: "infinity" })).toEqual(Infinity);
8
+ expect(toNumber("1e1000", { infinity: "string" })).toEqual("Infinity");
9
+ expect(toNumber("-1e1000", { infinity: "original" })).toEqual("-1e1000");
10
+ expect(toNumber("-1e1000", { infinity: "null" })).toEqual(null);
11
+ expect(toNumber("-1e1000", { infinity: "infinity" })).toEqual(-Infinity);
12
+ expect(toNumber("-1e1000", { infinity: "string" })).toEqual("-Infinity");
13
+
14
+
15
+ expect(toNumber("1e309")).toEqual("1e309");
16
+
17
+ });
18
+ });