lambda-live-debugger 1.12.5 → 1.12.6

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 (760) hide show
  1. package/dist/extension/extension.zip +0 -0
  2. package/dist/extension/nodejs/node_modules/interceptor.js +1697 -1854
  3. package/dist/extension/nodejs/node_modules/interceptor.js.map +4 -4
  4. package/node_modules/@aws-sdk/checksums/package.json +5 -5
  5. package/node_modules/@aws-sdk/client-cloudformation/dist-cjs/index.js +1 -1
  6. package/node_modules/@aws-sdk/client-cloudformation/package.json +8 -8
  7. package/node_modules/@aws-sdk/client-cognito-identity/dist-cjs/index.js +1 -1
  8. package/node_modules/@aws-sdk/client-cognito-identity/package.json +4 -4
  9. package/node_modules/@aws-sdk/client-iam/dist-cjs/index.js +1 -1
  10. package/node_modules/@aws-sdk/client-iam/package.json +9 -9
  11. package/node_modules/@aws-sdk/client-iot/dist-cjs/index.js +1 -1
  12. package/node_modules/@aws-sdk/client-iot/package.json +8 -8
  13. package/node_modules/@aws-sdk/client-iot-data-plane/dist-cjs/index.js +1 -1
  14. package/node_modules/@aws-sdk/client-iot-data-plane/package.json +8 -8
  15. package/node_modules/@aws-sdk/client-lambda/dist-cjs/index.js +107 -91
  16. package/node_modules/@aws-sdk/client-lambda/dist-es/models/enums.js +5 -5
  17. package/node_modules/@aws-sdk/client-lambda/dist-es/models/errors.js +64 -64
  18. package/node_modules/@aws-sdk/client-lambda/dist-es/schemas/schemas_0.js +35 -21
  19. package/node_modules/@aws-sdk/client-lambda/dist-types/commands/CheckpointDurableExecutionCommand.d.ts +12 -0
  20. package/node_modules/@aws-sdk/client-lambda/dist-types/commands/CreateCapacityProviderCommand.d.ts +12 -0
  21. package/node_modules/@aws-sdk/client-lambda/dist-types/commands/CreateFunctionCommand.d.ts +2 -0
  22. package/node_modules/@aws-sdk/client-lambda/dist-types/commands/DeleteCapacityProviderCommand.d.ts +6 -0
  23. package/node_modules/@aws-sdk/client-lambda/dist-types/commands/GetCapacityProviderCommand.d.ts +6 -0
  24. package/node_modules/@aws-sdk/client-lambda/dist-types/commands/GetDurableExecutionCommand.d.ts +19 -0
  25. package/node_modules/@aws-sdk/client-lambda/dist-types/commands/GetDurableExecutionHistoryCommand.d.ts +12 -0
  26. package/node_modules/@aws-sdk/client-lambda/dist-types/commands/GetDurableExecutionStateCommand.d.ts +12 -0
  27. package/node_modules/@aws-sdk/client-lambda/dist-types/commands/GetFunctionCommand.d.ts +1 -0
  28. package/node_modules/@aws-sdk/client-lambda/dist-types/commands/GetFunctionConfigurationCommand.d.ts +1 -0
  29. package/node_modules/@aws-sdk/client-lambda/dist-types/commands/InvokeWithResponseStreamCommand.d.ts +1 -1
  30. package/node_modules/@aws-sdk/client-lambda/dist-types/commands/ListCapacityProvidersCommand.d.ts +6 -0
  31. package/node_modules/@aws-sdk/client-lambda/dist-types/commands/ListDurableExecutionsByFunctionCommand.d.ts +1 -0
  32. package/node_modules/@aws-sdk/client-lambda/dist-types/commands/ListFunctionsCommand.d.ts +1 -0
  33. package/node_modules/@aws-sdk/client-lambda/dist-types/commands/ListVersionsByFunctionCommand.d.ts +1 -0
  34. package/node_modules/@aws-sdk/client-lambda/dist-types/commands/PublishVersionCommand.d.ts +1 -0
  35. package/node_modules/@aws-sdk/client-lambda/dist-types/commands/SendDurableExecutionCallbackFailureCommand.d.ts +12 -0
  36. package/node_modules/@aws-sdk/client-lambda/dist-types/commands/SendDurableExecutionCallbackSuccessCommand.d.ts +12 -0
  37. package/node_modules/@aws-sdk/client-lambda/dist-types/commands/StopDurableExecutionCommand.d.ts +12 -0
  38. package/node_modules/@aws-sdk/client-lambda/dist-types/commands/UpdateCapacityProviderCommand.d.ts +12 -0
  39. package/node_modules/@aws-sdk/client-lambda/dist-types/commands/UpdateFunctionCodeCommand.d.ts +1 -0
  40. package/node_modules/@aws-sdk/client-lambda/dist-types/commands/UpdateFunctionConfigurationCommand.d.ts +2 -0
  41. package/node_modules/@aws-sdk/client-lambda/dist-types/models/enums.d.ts +13 -13
  42. package/node_modules/@aws-sdk/client-lambda/dist-types/models/errors.d.ts +56 -56
  43. package/node_modules/@aws-sdk/client-lambda/dist-types/models/models_0.d.ts +75 -8
  44. package/node_modules/@aws-sdk/client-lambda/dist-types/schemas/schemas_0.d.ts +2 -0
  45. package/node_modules/@aws-sdk/client-lambda/dist-types/ts3.4/models/enums.d.ts +7 -7
  46. package/node_modules/@aws-sdk/client-lambda/dist-types/ts3.4/models/errors.d.ts +36 -36
  47. package/node_modules/@aws-sdk/client-lambda/dist-types/ts3.4/models/models_0.d.ts +16 -1
  48. package/node_modules/@aws-sdk/client-lambda/dist-types/ts3.4/schemas/schemas_0.d.ts +2 -0
  49. package/node_modules/@aws-sdk/client-lambda/package.json +9 -9
  50. package/node_modules/@aws-sdk/client-s3/dist-cjs/index.js +1 -1
  51. package/node_modules/@aws-sdk/client-s3/package.json +13 -13
  52. package/node_modules/@aws-sdk/core/dist-cjs/submodules/client/index.js +55 -141
  53. package/node_modules/@aws-sdk/core/dist-es/submodules/account-id-endpoint/index.js +3 -3
  54. package/node_modules/@aws-sdk/core/dist-es/submodules/client/middleware-recursion-detection/configuration.js +1 -1
  55. package/node_modules/@aws-sdk/core/dist-es/submodules/client/middleware-recursion-detection/recursionDetectionMiddleware.js +48 -19
  56. package/node_modules/@aws-sdk/core/dist-es/submodules/client/util-user-agent-browser/defaultUserAgent.browser.js +1 -1
  57. package/node_modules/@aws-sdk/core/dist-es/submodules/client/util-user-agent-node/defaultUserAgent.js +0 -5
  58. package/node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/aws_sdk/index.js +3 -3
  59. package/node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/index.js +2 -2
  60. package/node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/utils/index.js +3 -3
  61. package/node_modules/@aws-sdk/core/dist-es/submodules/protocols/index.js +19 -20
  62. package/node_modules/@aws-sdk/core/dist-types/submodules/account-id-endpoint/index.d.ts +5 -3
  63. package/node_modules/@aws-sdk/core/dist-types/submodules/client/index.browser.d.ts +5 -5
  64. package/node_modules/@aws-sdk/core/dist-types/submodules/client/index.d.ts +5 -5
  65. package/node_modules/@aws-sdk/core/dist-types/submodules/client/index.native.d.ts +5 -5
  66. package/node_modules/@aws-sdk/core/dist-types/submodules/client/middleware-recursion-detection/configuration.d.ts +1 -0
  67. package/node_modules/@aws-sdk/core/dist-types/submodules/client/middleware-recursion-detection/recursionDetectionMiddleware.d.ts +5 -1
  68. package/node_modules/@aws-sdk/core/dist-types/submodules/client/util-endpoints/types/EndpointRuleObject.d.ts +1 -1
  69. package/node_modules/@aws-sdk/core/dist-types/submodules/client/util-endpoints/types/ErrorRuleObject.d.ts +1 -1
  70. package/node_modules/@aws-sdk/core/dist-types/submodules/client/util-endpoints/types/RuleSetObject.d.ts +1 -1
  71. package/node_modules/@aws-sdk/core/dist-types/submodules/client/util-endpoints/types/TreeRuleObject.d.ts +1 -1
  72. package/node_modules/@aws-sdk/core/dist-types/submodules/client/util-endpoints/types/shared.d.ts +1 -1
  73. package/node_modules/@aws-sdk/core/dist-types/submodules/client/util-user-agent-browser/defaultUserAgent.browser.d.ts +2 -1
  74. package/node_modules/@aws-sdk/core/dist-types/submodules/httpAuthSchemes/aws_sdk/index.d.ts +5 -3
  75. package/node_modules/@aws-sdk/core/dist-types/submodules/httpAuthSchemes/index.d.ts +3 -2
  76. package/node_modules/@aws-sdk/core/dist-types/submodules/httpAuthSchemes/utils/index.d.ts +3 -3
  77. package/node_modules/@aws-sdk/core/dist-types/submodules/protocols/index.d.ts +22 -20
  78. package/node_modules/@aws-sdk/core/dist-types/submodules/util/index.d.ts +2 -1
  79. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/account-id-endpoint/index.d.ts +16 -3
  80. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/client/util-user-agent-browser/defaultUserAgent.browser.d.ts +7 -1
  81. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/httpAuthSchemes/aws_sdk/index.d.ts +23 -3
  82. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/httpAuthSchemes/index.d.ts +24 -2
  83. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/httpAuthSchemes/utils/index.d.ts +3 -3
  84. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/index.d.ts +31 -20
  85. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/util/index.d.ts +2 -1
  86. package/node_modules/@aws-sdk/core/package.json +7 -7
  87. package/node_modules/@aws-sdk/credential-provider-cognito-identity/dist-es/index.js +2 -5
  88. package/node_modules/@aws-sdk/credential-provider-cognito-identity/dist-types/index.d.ts +7 -20
  89. package/node_modules/@aws-sdk/credential-provider-cognito-identity/dist-types/ts3.4/index.d.ts +11 -5
  90. package/node_modules/@aws-sdk/credential-provider-cognito-identity/package.json +5 -5
  91. package/node_modules/@aws-sdk/credential-provider-env/dist-es/index.js +1 -1
  92. package/node_modules/@aws-sdk/credential-provider-env/dist-types/index.d.ts +2 -4
  93. package/node_modules/@aws-sdk/credential-provider-env/dist-types/ts3.4/index.d.ts +10 -1
  94. package/node_modules/@aws-sdk/credential-provider-env/package.json +5 -5
  95. package/node_modules/@aws-sdk/credential-provider-http/dist-cjs/index.js +16 -10
  96. package/node_modules/@aws-sdk/credential-provider-http/dist-es/fromHttp/fromHttp.js +16 -10
  97. package/node_modules/@aws-sdk/credential-provider-http/package.json +7 -7
  98. package/node_modules/@aws-sdk/credential-provider-ini/dist-cjs/index.js +1 -1
  99. package/node_modules/@aws-sdk/credential-provider-ini/dist-es/index.js +1 -1
  100. package/node_modules/@aws-sdk/credential-provider-ini/dist-es/resolveLoginCredentials.js +1 -1
  101. package/node_modules/@aws-sdk/credential-provider-ini/dist-types/index.d.ts +2 -4
  102. package/node_modules/@aws-sdk/credential-provider-ini/dist-types/ts3.4/index.d.ts +2 -1
  103. package/node_modules/@aws-sdk/credential-provider-ini/package.json +13 -13
  104. package/node_modules/@aws-sdk/credential-provider-login/dist-es/index.js +1 -2
  105. package/node_modules/@aws-sdk/credential-provider-login/dist-types/index.d.ts +2 -8
  106. package/node_modules/@aws-sdk/credential-provider-login/dist-types/ts3.4/index.d.ts +7 -2
  107. package/node_modules/@aws-sdk/credential-provider-login/package.json +6 -6
  108. package/node_modules/@aws-sdk/credential-provider-node/dist-es/index.js +1 -1
  109. package/node_modules/@aws-sdk/credential-provider-node/dist-types/index.d.ts +2 -1
  110. package/node_modules/@aws-sdk/credential-provider-node/dist-types/ts3.4/index.d.ts +6 -1
  111. package/node_modules/@aws-sdk/credential-provider-node/package.json +11 -11
  112. package/node_modules/@aws-sdk/credential-provider-process/dist-es/index.js +1 -1
  113. package/node_modules/@aws-sdk/credential-provider-process/dist-types/index.d.ts +2 -4
  114. package/node_modules/@aws-sdk/credential-provider-process/dist-types/ts3.4/index.d.ts +2 -1
  115. package/node_modules/@aws-sdk/credential-provider-process/package.json +5 -5
  116. package/node_modules/@aws-sdk/credential-provider-sso/dist-es/index.js +3 -4
  117. package/node_modules/@aws-sdk/credential-provider-sso/dist-types/fromSSO.d.ts +4 -4
  118. package/node_modules/@aws-sdk/credential-provider-sso/dist-types/index.d.ts +5 -16
  119. package/node_modules/@aws-sdk/credential-provider-sso/dist-types/ts3.4/index.d.ts +5 -4
  120. package/node_modules/@aws-sdk/credential-provider-sso/package.json +7 -7
  121. package/node_modules/@aws-sdk/credential-provider-web-identity/dist-es/index.js +2 -2
  122. package/node_modules/@aws-sdk/credential-provider-web-identity/dist-types/index.d.ts +4 -8
  123. package/node_modules/@aws-sdk/credential-provider-web-identity/dist-types/ts3.4/index.d.ts +7 -2
  124. package/node_modules/@aws-sdk/credential-provider-web-identity/package.json +6 -6
  125. package/node_modules/@aws-sdk/credential-providers/package.json +13 -13
  126. package/node_modules/@aws-sdk/middleware-sdk-s3/package.json +6 -6
  127. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/cognito-identity/index.js +1 -1
  128. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/signin/index.js +1 -1
  129. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sso/index.js +1 -1
  130. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sso-oidc/index.js +1 -1
  131. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sts/index.js +1 -1
  132. package/node_modules/@aws-sdk/nested-clients/package.json +8 -8
  133. package/node_modules/@aws-sdk/signature-v4-multi-region/package.json +4 -4
  134. package/node_modules/@aws-sdk/token-providers/dist-es/index.js +4 -4
  135. package/node_modules/@aws-sdk/token-providers/dist-types/index.d.ts +7 -4
  136. package/node_modules/@aws-sdk/token-providers/dist-types/ts3.4/index.d.ts +7 -4
  137. package/node_modules/@aws-sdk/token-providers/package.json +6 -6
  138. package/node_modules/@aws-sdk/types/dist-es/endpoint.js +1 -1
  139. package/node_modules/@aws-sdk/types/dist-es/identity/index.js +1 -5
  140. package/node_modules/@aws-sdk/types/dist-es/index.js +4 -34
  141. package/node_modules/@aws-sdk/types/dist-es/transfer.js +1 -1
  142. package/node_modules/@aws-sdk/types/dist-types/abort.d.ts +1 -1
  143. package/node_modules/@aws-sdk/types/dist-types/auth.d.ts +2 -1
  144. package/node_modules/@aws-sdk/types/dist-types/blob/blob-types.d.ts +2 -2
  145. package/node_modules/@aws-sdk/types/dist-types/checksum.d.ts +1 -1
  146. package/node_modules/@aws-sdk/types/dist-types/client.d.ts +1 -1
  147. package/node_modules/@aws-sdk/types/dist-types/command.d.ts +1 -1
  148. package/node_modules/@aws-sdk/types/dist-types/connection.d.ts +1 -1
  149. package/node_modules/@aws-sdk/types/dist-types/crypto.d.ts +1 -1
  150. package/node_modules/@aws-sdk/types/dist-types/encode.d.ts +1 -1
  151. package/node_modules/@aws-sdk/types/dist-types/endpoint.d.ts +2 -1
  152. package/node_modules/@aws-sdk/types/dist-types/eventStream.d.ts +1 -1
  153. package/node_modules/@aws-sdk/types/dist-types/http.d.ts +1 -1
  154. package/node_modules/@aws-sdk/types/dist-types/identity/AwsCredentialIdentity.d.ts +7 -7
  155. package/node_modules/@aws-sdk/types/dist-types/identity/Identity.d.ts +1 -1
  156. package/node_modules/@aws-sdk/types/dist-types/identity/TokenIdentity.d.ts +1 -1
  157. package/node_modules/@aws-sdk/types/dist-types/identity/index.d.ts +5 -5
  158. package/node_modules/@aws-sdk/types/dist-types/index.d.ts +42 -34
  159. package/node_modules/@aws-sdk/types/dist-types/middleware.d.ts +1 -1
  160. package/node_modules/@aws-sdk/types/dist-types/pagination.d.ts +1 -1
  161. package/node_modules/@aws-sdk/types/dist-types/profile.d.ts +1 -1
  162. package/node_modules/@aws-sdk/types/dist-types/response.d.ts +1 -1
  163. package/node_modules/@aws-sdk/types/dist-types/retry.d.ts +1 -1
  164. package/node_modules/@aws-sdk/types/dist-types/serde.d.ts +1 -1
  165. package/node_modules/@aws-sdk/types/dist-types/shapes.d.ts +1 -1
  166. package/node_modules/@aws-sdk/types/dist-types/signature.d.ts +1 -1
  167. package/node_modules/@aws-sdk/types/dist-types/stream.d.ts +1 -1
  168. package/node_modules/@aws-sdk/types/dist-types/transfer.d.ts +2 -1
  169. package/node_modules/@aws-sdk/types/dist-types/ts3.4/auth.d.ts +2 -5
  170. package/node_modules/@aws-sdk/types/dist-types/ts3.4/endpoint.d.ts +1 -1
  171. package/node_modules/@aws-sdk/types/dist-types/ts3.4/identity/AwsCredentialIdentity.d.ts +1 -1
  172. package/node_modules/@aws-sdk/types/dist-types/ts3.4/identity/index.d.ts +17 -5
  173. package/node_modules/@aws-sdk/types/dist-types/ts3.4/index.d.ts +225 -34
  174. package/node_modules/@aws-sdk/types/dist-types/ts3.4/transfer.d.ts +1 -1
  175. package/node_modules/@aws-sdk/types/dist-types/uri.d.ts +1 -1
  176. package/node_modules/@aws-sdk/types/dist-types/util.d.ts +1 -1
  177. package/node_modules/@aws-sdk/types/dist-types/waiter.d.ts +1 -1
  178. package/node_modules/@aws-sdk/types/package.json +2 -2
  179. package/node_modules/@aws-sdk/xml-builder/dist-es/index.js +2 -2
  180. package/node_modules/@aws-sdk/xml-builder/dist-types/index.d.ts +2 -11
  181. package/node_modules/@aws-sdk/xml-builder/dist-types/ts3.4/index.d.ts +2 -2
  182. package/node_modules/@aws-sdk/xml-builder/package.json +2 -2
  183. package/node_modules/@smithy/core/dist-es/index.js +5 -5
  184. package/node_modules/@smithy/core/dist-es/legacy-root-exports/middleware-http-auth-scheme/index.js +3 -3
  185. package/node_modules/@smithy/core/dist-es/legacy-root-exports/middleware-http-signing/index.js +2 -2
  186. package/node_modules/@smithy/core/dist-es/legacy-root-exports/util-identity-and-auth/httpAuthSchemes/index.js +3 -3
  187. package/node_modules/@smithy/core/dist-es/legacy-root-exports/util-identity-and-auth/index.js +3 -3
  188. package/node_modules/@smithy/core/dist-es/submodules/cbor/index.js +3 -3
  189. package/node_modules/@smithy/core/dist-es/submodules/endpoints/index.browser.js +1 -1
  190. package/node_modules/@smithy/core/dist-es/submodules/endpoints/index.js +1 -1
  191. package/node_modules/@smithy/core/dist-es/submodules/endpoints/middleware-endpoint/service-customizations/index.js +1 -1
  192. package/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/debug/index.js +2 -2
  193. package/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/lib/index.js +11 -11
  194. package/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/types/index.js +1 -7
  195. package/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/utils/index.js +2 -2
  196. package/node_modules/@smithy/core/dist-es/submodules/protocols/index.js +13 -13
  197. package/node_modules/@smithy/core/dist-es/submodules/schema/index.js +14 -14
  198. package/node_modules/@smithy/core/dist-types/index.d.ts +7 -5
  199. package/node_modules/@smithy/core/dist-types/legacy-root-exports/middleware-http-auth-scheme/index.d.ts +4 -3
  200. package/node_modules/@smithy/core/dist-types/legacy-root-exports/middleware-http-signing/index.d.ts +2 -2
  201. package/node_modules/@smithy/core/dist-types/legacy-root-exports/util-identity-and-auth/httpAuthSchemes/index.d.ts +3 -3
  202. package/node_modules/@smithy/core/dist-types/legacy-root-exports/util-identity-and-auth/index.d.ts +4 -3
  203. package/node_modules/@smithy/core/dist-types/submodules/cbor/index.d.ts +3 -3
  204. package/node_modules/@smithy/core/dist-types/submodules/client/util-waiter/waiter.d.ts +1 -1
  205. package/node_modules/@smithy/core/dist-types/submodules/endpoints/index.browser.d.ts +2 -1
  206. package/node_modules/@smithy/core/dist-types/submodules/endpoints/index.d.ts +2 -1
  207. package/node_modules/@smithy/core/dist-types/submodules/endpoints/middleware-endpoint/service-customizations/index.d.ts +1 -1
  208. package/node_modules/@smithy/core/dist-types/submodules/endpoints/util-endpoints/debug/index.d.ts +2 -2
  209. package/node_modules/@smithy/core/dist-types/submodules/endpoints/util-endpoints/lib/index.d.ts +12 -11
  210. package/node_modules/@smithy/core/dist-types/submodules/endpoints/util-endpoints/types/index.d.ts +7 -7
  211. package/node_modules/@smithy/core/dist-types/submodules/endpoints/util-endpoints/utils/index.d.ts +2 -2
  212. package/node_modules/@smithy/core/dist-types/submodules/protocols/index.d.ts +13 -13
  213. package/node_modules/@smithy/core/dist-types/submodules/schema/index.d.ts +14 -14
  214. package/node_modules/@smithy/core/dist-types/submodules/transport/httpRequest.d.ts +2 -2
  215. package/node_modules/@smithy/core/dist-types/submodules/transport/index.d.ts +2 -1
  216. package/node_modules/@smithy/core/dist-types/ts3.4/index.d.ts +14 -0
  217. package/node_modules/@smithy/core/dist-types/ts3.4/legacy-root-exports/middleware-http-auth-scheme/getHttpAuthSchemeEndpointRuleSetPlugin.d.ts +18 -0
  218. package/node_modules/@smithy/core/dist-types/ts3.4/legacy-root-exports/middleware-http-auth-scheme/getHttpAuthSchemePlugin.d.ts +18 -0
  219. package/node_modules/@smithy/core/dist-types/ts3.4/legacy-root-exports/middleware-http-auth-scheme/httpAuthSchemeMiddleware.d.ts +33 -0
  220. package/node_modules/@smithy/core/dist-types/ts3.4/legacy-root-exports/middleware-http-auth-scheme/index.d.ts +4 -0
  221. package/node_modules/@smithy/core/dist-types/ts3.4/legacy-root-exports/middleware-http-auth-scheme/resolveAuthOptions.d.ts +10 -0
  222. package/node_modules/@smithy/core/dist-types/ts3.4/legacy-root-exports/middleware-http-signing/getHttpSigningMiddleware.d.ts +9 -0
  223. package/node_modules/@smithy/core/dist-types/ts3.4/legacy-root-exports/middleware-http-signing/httpSigningMiddleware.d.ts +5 -0
  224. package/node_modules/@smithy/core/dist-types/ts3.4/legacy-root-exports/middleware-http-signing/index.d.ts +2 -0
  225. package/node_modules/@smithy/core/dist-types/ts3.4/legacy-root-exports/pagination/createPaginator.d.ts +7 -0
  226. package/node_modules/@smithy/core/dist-types/ts3.4/legacy-root-exports/util-identity-and-auth/DefaultIdentityProviderConfig.d.ts +15 -0
  227. package/node_modules/@smithy/core/dist-types/ts3.4/legacy-root-exports/util-identity-and-auth/httpAuthSchemes/httpApiKeyAuth.d.ts +8 -0
  228. package/node_modules/@smithy/core/dist-types/ts3.4/legacy-root-exports/util-identity-and-auth/httpAuthSchemes/httpBearerAuth.d.ts +8 -0
  229. package/node_modules/@smithy/core/dist-types/ts3.4/legacy-root-exports/util-identity-and-auth/httpAuthSchemes/index.d.ts +3 -0
  230. package/node_modules/@smithy/core/dist-types/ts3.4/legacy-root-exports/util-identity-and-auth/httpAuthSchemes/noAuth.d.ts +8 -0
  231. package/node_modules/@smithy/core/dist-types/ts3.4/legacy-root-exports/util-identity-and-auth/index.d.ts +4 -0
  232. package/node_modules/@smithy/core/dist-types/ts3.4/legacy-root-exports/util-identity-and-auth/memoizeIdentityProvider.d.ts +31 -0
  233. package/node_modules/@smithy/core/dist-types/ts3.4/normalizeProvider.d.ts +7 -0
  234. package/node_modules/@smithy/core/dist-types/ts3.4/setFeature.d.ts +12 -0
  235. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/cbor/CborCodec.d.ts +33 -0
  236. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/cbor/SmithyRpcV2CborProtocol.d.ts +28 -0
  237. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/cbor/byte-printer.d.ts +6 -0
  238. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/cbor/cbor-decode.d.ts +22 -0
  239. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/cbor/cbor-encode.d.ts +13 -0
  240. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/cbor/cbor-types.d.ts +65 -0
  241. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/cbor/cbor.d.ts +25 -0
  242. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/cbor/index.d.ts +5 -0
  243. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/cbor/parseCborBody.d.ts +31 -0
  244. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/checksum/chunked-blob-reader/chunked-blob-reader.d.ts +6 -0
  245. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/checksum/chunked-blob-reader/chunked-blob-reader.native.d.ts +4 -0
  246. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/checksum/crc32/Crc32Js.d.ts +18 -0
  247. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/checksum/crc32/Crc32Node.d.ts +18 -0
  248. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/checksum/hash-blob-browser/blobHasher.d.ts +5 -0
  249. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/checksum/hash-stream-node/HashCalculator.d.ts +10 -0
  250. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/checksum/hash-stream-node/fileStreamHasher.d.ts +6 -0
  251. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/checksum/hash-stream-node/readableStreamHasher.d.ts +6 -0
  252. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/checksum/index.browser.d.ts +11 -0
  253. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/checksum/index.d.ts +11 -0
  254. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/checksum/index.native.d.ts +11 -0
  255. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/checksum/md5/Md5Js.d.ts +19 -0
  256. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/checksum/md5/Md5Node.d.ts +17 -0
  257. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/checksum/sha256/Sha256Js.d.ts +28 -0
  258. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/checksum/sha256/Sha256Node.d.ts +13 -0
  259. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/checksum/sha256/Sha256WebCrypto.d.ts +22 -0
  260. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/client/index.d.ts +27 -0
  261. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/client/invalid-dependency/invalidFunction.d.ts +4 -0
  262. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/client/invalid-dependency/invalidProvider.d.ts +5 -0
  263. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/client/middleware-stack/MiddlewareStack.d.ts +5 -0
  264. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/client/middleware-stack/types.d.ts +22 -0
  265. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/client/smithy-client/NoOpLogger.d.ts +11 -0
  266. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/client/smithy-client/client-command-builder.d.ts +22 -0
  267. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/client/smithy-client/client.d.ts +84 -0
  268. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/client/smithy-client/command.d.ts +118 -0
  269. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/client/smithy-client/constants.d.ts +4 -0
  270. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/client/smithy-client/create-aggregated-client.d.ts +16 -0
  271. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/client/smithy-client/default-error-handler.d.ts +15 -0
  272. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/client/smithy-client/defaults-mode.d.ts +28 -0
  273. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/client/smithy-client/emitWarningIfUnsupportedVersion.d.ts +7 -0
  274. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/client/smithy-client/exceptions.d.ts +42 -0
  275. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/client/smithy-client/extensions/checksum.d.ts +25 -0
  276. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/client/smithy-client/extensions/defaultExtensionConfiguration.d.ts +38 -0
  277. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/client/smithy-client/extensions/retry.d.ts +18 -0
  278. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/client/smithy-client/get-array-if-single-item.d.ts +7 -0
  279. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/client/smithy-client/get-value-from-text-node.d.ts +7 -0
  280. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/client/smithy-client/is-serializable-header-value.d.ts +5 -0
  281. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/client/smithy-client/object-mapping.d.ts +179 -0
  282. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/client/smithy-client/schemaLogFilter.d.ts +9 -0
  283. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/client/smithy-client/ser-utils.d.ts +14 -0
  284. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/client/smithy-client/serde-json.d.ts +10 -0
  285. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/client/util-waiter/circularReplacer.d.ts +6 -0
  286. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/client/util-waiter/createWaiter.d.ts +11 -0
  287. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/client/util-waiter/poller.d.ts +11 -0
  288. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/client/util-waiter/utils/sleep.d.ts +4 -0
  289. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/client/util-waiter/utils/validate.d.ts +8 -0
  290. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/client/util-waiter/waiter.d.ts +49 -0
  291. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/config/config-resolver/endpointsConfig/NodeUseDualstackEndpointConfigOptions.d.ts +23 -0
  292. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/config/config-resolver/endpointsConfig/NodeUseFipsEndpointConfigOptions.d.ts +23 -0
  293. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/config/config-resolver/endpointsConfig/resolveCustomEndpointsConfig.d.ts +37 -0
  294. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/config/config-resolver/endpointsConfig/resolveEndpointsConfig.d.ts +57 -0
  295. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/config/config-resolver/endpointsConfig/utils/getEndpointFromRegion.d.ts +11 -0
  296. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/config/config-resolver/regionConfig/checkRegion.d.ts +9 -0
  297. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/config/config-resolver/regionConfig/config.d.ts +17 -0
  298. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/config/config-resolver/regionConfig/getInstanceMetadataRegion.d.ts +7 -0
  299. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/config/config-resolver/regionConfig/getRealRegion.d.ts +4 -0
  300. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/config/config-resolver/regionConfig/isFipsRegion.d.ts +4 -0
  301. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/config/config-resolver/regionConfig/resolveRegionConfig.d.ts +34 -0
  302. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/config/config-resolver/regionInfo/EndpointVariant.d.ts +11 -0
  303. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/config/config-resolver/regionInfo/EndpointVariantTag.d.ts +10 -0
  304. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/config/config-resolver/regionInfo/PartitionHash.d.ts +15 -0
  305. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/config/config-resolver/regionInfo/RegionHash.d.ts +13 -0
  306. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/config/config-resolver/regionInfo/getHostnameFromVariants.d.ts +14 -0
  307. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/config/config-resolver/regionInfo/getRegionInfo.d.ts +19 -0
  308. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/config/config-resolver/regionInfo/getResolvedHostname.d.ts +13 -0
  309. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/config/config-resolver/regionInfo/getResolvedPartition.d.ts +13 -0
  310. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/config/config-resolver/regionInfo/getResolvedSigningRegion.d.ts +14 -0
  311. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/config/defaults-mode/constants.d.ts +36 -0
  312. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/config/defaults-mode/defaultsModeConfig.d.ts +6 -0
  313. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/config/defaults-mode/resolveDefaultsModeConfig.browser.d.ts +17 -0
  314. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/config/defaults-mode/resolveDefaultsModeConfig.d.ts +17 -0
  315. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/config/defaults-mode/resolveDefaultsModeConfig.native.d.ts +16 -0
  316. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/config/index.browser.d.ts +55 -0
  317. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/config/index.d.ts +36 -0
  318. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/config/index.native.d.ts +55 -0
  319. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/config/node-config-provider/configLoader.d.ts +31 -0
  320. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/config/node-config-provider/fromEnv.d.ts +20 -0
  321. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/config/node-config-provider/fromSharedConfigFiles.d.ts +22 -0
  322. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/config/node-config-provider/fromStatic.d.ts +9 -0
  323. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/config/node-config-provider/getSelectorName.d.ts +9 -0
  324. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/config/property-provider/CredentialsProviderError.d.ts +29 -0
  325. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/config/property-provider/ProviderError.d.ts +38 -0
  326. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/config/property-provider/TokenProviderError.d.ts +29 -0
  327. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/config/property-provider/chain.d.ts +12 -0
  328. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/config/property-provider/fromValue.d.ts +5 -0
  329. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/config/property-provider/memoize.d.ts +40 -0
  330. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/config/shared-ini-file-loader/constants.d.ts +4 -0
  331. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/config/shared-ini-file-loader/externalDataInterceptor.d.ts +9 -0
  332. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/config/shared-ini-file-loader/getConfigData.d.ts +8 -0
  333. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/config/shared-ini-file-loader/getConfigFilepath.d.ts +2 -0
  334. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/config/shared-ini-file-loader/getCredentialsFilepath.d.ts +2 -0
  335. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/config/shared-ini-file-loader/getHomeDir.d.ts +6 -0
  336. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/config/shared-ini-file-loader/getProfileName.d.ts +15 -0
  337. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/config/shared-ini-file-loader/getSSOTokenFilepath.d.ts +5 -0
  338. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/config/shared-ini-file-loader/getSSOTokenFromFile.d.ts +53 -0
  339. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/config/shared-ini-file-loader/getSsoSessionData.d.ts +6 -0
  340. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/config/shared-ini-file-loader/loadSharedConfigFiles.d.ts +33 -0
  341. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/config/shared-ini-file-loader/loadSsoSessionData.d.ts +17 -0
  342. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/config/shared-ini-file-loader/mergeConfigFiles.d.ts +7 -0
  343. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/config/shared-ini-file-loader/parseIni.d.ts +2 -0
  344. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/config/shared-ini-file-loader/parseKnownFiles.d.ts +18 -0
  345. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/config/shared-ini-file-loader/readFile.d.ts +21 -0
  346. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/config/shared-ini-file-loader/types.d.ts +16 -0
  347. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/config/util-config-provider/booleanSelector.d.ts +10 -0
  348. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/config/util-config-provider/numberSelector.d.ts +9 -0
  349. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/config/util-config-provider/types.d.ts +4 -0
  350. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/endpoints/index.browser.d.ts +24 -0
  351. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/endpoints/index.d.ts +24 -0
  352. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/endpoints/middleware-endpoint/adaptors/createConfigValueProvider.d.ts +14 -0
  353. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/endpoints/middleware-endpoint/adaptors/getEndpointFromConfig.browser.d.ts +1 -0
  354. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/endpoints/middleware-endpoint/adaptors/getEndpointFromConfig.d.ts +4 -0
  355. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/endpoints/middleware-endpoint/adaptors/getEndpointFromInstructions.d.ts +20 -0
  356. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/endpoints/middleware-endpoint/adaptors/getEndpointUrlConfig.d.ts +2 -0
  357. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/endpoints/middleware-endpoint/adaptors/toEndpointV1.d.ts +5 -0
  358. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/endpoints/middleware-endpoint/endpointMiddleware.d.ts +10 -0
  359. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/endpoints/middleware-endpoint/getEndpointPlugin.d.ts +11 -0
  360. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/endpoints/middleware-endpoint/resolveEndpointConfig.d.ts +110 -0
  361. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/endpoints/middleware-endpoint/resolveEndpointRequiredConfig.d.ts +32 -0
  362. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/endpoints/middleware-endpoint/service-customizations/index.d.ts +4 -0
  363. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/endpoints/middleware-endpoint/service-customizations/s3.d.ts +26 -0
  364. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/endpoints/util-endpoints/bdd/BinaryDecisionDiagram.d.ts +41 -0
  365. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/endpoints/util-endpoints/cache/EndpointCache.d.ts +34 -0
  366. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/endpoints/util-endpoints/debug/debugId.d.ts +1 -0
  367. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/endpoints/util-endpoints/debug/index.d.ts +2 -0
  368. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/endpoints/util-endpoints/debug/toDebugString.d.ts +9 -0
  369. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/endpoints/util-endpoints/decideEndpoint.d.ts +7 -0
  370. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/endpoints/util-endpoints/getEndpointUrlConfig.d.ts +12 -0
  371. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/endpoints/util-endpoints/lib/booleanEquals.d.ts +5 -0
  372. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/endpoints/util-endpoints/lib/coalesce.d.ts +7 -0
  373. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/endpoints/util-endpoints/lib/getAttr.d.ts +7 -0
  374. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/endpoints/util-endpoints/lib/getAttrPathList.d.ts +4 -0
  375. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/endpoints/util-endpoints/lib/index.d.ts +13 -0
  376. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/endpoints/util-endpoints/lib/isIpAddress.d.ts +4 -0
  377. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/endpoints/util-endpoints/lib/isSet.d.ts +5 -0
  378. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/endpoints/util-endpoints/lib/ite.d.ts +6 -0
  379. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/endpoints/util-endpoints/lib/not.d.ts +5 -0
  380. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/endpoints/util-endpoints/lib/parseURL.d.ts +5 -0
  381. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/endpoints/util-endpoints/lib/split.d.ts +11 -0
  382. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/endpoints/util-endpoints/lib/stringEquals.d.ts +5 -0
  383. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/endpoints/util-endpoints/lib/substring.d.ts +7 -0
  384. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/endpoints/util-endpoints/lib/uriEncode.d.ts +4 -0
  385. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/endpoints/util-endpoints/resolveEndpoint.d.ts +6 -0
  386. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/endpoints/util-endpoints/types/EndpointError.d.ts +3 -0
  387. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/endpoints/util-endpoints/types/EndpointFunctions.d.ts +2 -0
  388. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/endpoints/util-endpoints/types/EndpointRuleObject.d.ts +5 -0
  389. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/endpoints/util-endpoints/types/ErrorRuleObject.d.ts +2 -0
  390. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/endpoints/util-endpoints/types/RuleSetObject.d.ts +4 -0
  391. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/endpoints/util-endpoints/types/TreeRuleObject.d.ts +3 -0
  392. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/endpoints/util-endpoints/types/index.d.ts +7 -0
  393. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/endpoints/util-endpoints/types/shared.d.ts +25 -0
  394. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/endpoints/util-endpoints/utils/callFunction.d.ts +1 -0
  395. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/endpoints/util-endpoints/utils/customEndpointFunctions.d.ts +4 -0
  396. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/endpoints/util-endpoints/utils/endpointFunctions.d.ts +2 -0
  397. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/endpoints/util-endpoints/utils/evaluateCondition.d.ts +11 -0
  398. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/endpoints/util-endpoints/utils/evaluateConditions.d.ts +8 -0
  399. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/endpoints/util-endpoints/utils/evaluateEndpointRule.d.ts +3 -0
  400. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/endpoints/util-endpoints/utils/evaluateErrorRule.d.ts +2 -0
  401. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/endpoints/util-endpoints/utils/evaluateExpression.d.ts +7 -0
  402. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/endpoints/util-endpoints/utils/evaluateRules.d.ts +8 -0
  403. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/endpoints/util-endpoints/utils/evaluateTemplate.d.ts +2 -0
  404. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/endpoints/util-endpoints/utils/evaluateTreeRule.d.ts +1 -0
  405. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/endpoints/util-endpoints/utils/getEndpointHeaders.d.ts +2 -0
  406. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/endpoints/util-endpoints/utils/getEndpointProperties.d.ts +8 -0
  407. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/endpoints/util-endpoints/utils/getEndpointProperty.d.ts +1 -0
  408. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/endpoints/util-endpoints/utils/getEndpointUrl.d.ts +2 -0
  409. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/endpoints/util-endpoints/utils/getReferenceValue.d.ts +4 -0
  410. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/endpoints/util-endpoints/utils/index.d.ts +2 -0
  411. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/event-streams/EventStreamSerde.d.ts +60 -0
  412. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/event-streams/eventstream-codec/EventStreamCodec.d.ts +30 -0
  413. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/event-streams/eventstream-codec/HeaderMarshaller.d.ts +12 -0
  414. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/event-streams/eventstream-codec/Int64.d.ts +20 -0
  415. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/event-streams/eventstream-codec/Message.d.ts +26 -0
  416. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/event-streams/eventstream-codec/MessageDecoderStream.d.ts +17 -0
  417. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/event-streams/eventstream-codec/MessageEncoderStream.d.ts +18 -0
  418. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/event-streams/eventstream-codec/SmithyMessageDecoderStream.d.ts +17 -0
  419. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/event-streams/eventstream-codec/SmithyMessageEncoderStream.d.ts +17 -0
  420. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/event-streams/eventstream-codec/splitMessage.d.ts +11 -0
  421. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/event-streams/eventstream-serde/EventStreamMarshaller.browser.d.ts +46 -0
  422. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/event-streams/eventstream-serde/EventStreamMarshaller.d.ts +31 -0
  423. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/event-streams/eventstream-serde/utils.d.ts +11 -0
  424. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/event-streams/eventstream-serde-config-resolver/EventStreamSerdeConfig.d.ts +27 -0
  425. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/event-streams/eventstream-serde-universal/EventStreamMarshaller.d.ts +22 -0
  426. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/event-streams/eventstream-serde-universal/getChunkedStream.d.ts +4 -0
  427. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/event-streams/eventstream-serde-universal/getUnmarshalledStream.d.ts +18 -0
  428. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/event-streams/index.browser.d.ts +23 -0
  429. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/event-streams/index.d.ts +23 -0
  430. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/protocols/HttpBindingProtocol.d.ts +31 -0
  431. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/protocols/HttpProtocol.d.ts +95 -0
  432. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/protocols/RpcProtocol.d.ts +16 -0
  433. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/protocols/SerdeContext.d.ts +16 -0
  434. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/protocols/collect-stream-body.d.ts +10 -0
  435. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/protocols/extended-encode-uri-component.d.ts +7 -0
  436. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/protocols/index.d.ts +27 -0
  437. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/protocols/middleware-content-length/contentLengthMiddleware.d.ts +6 -0
  438. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/protocols/protocol-http/Field.d.ts +49 -0
  439. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/protocols/protocol-http/Fields.d.ts +44 -0
  440. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/protocols/protocol-http/extensions/httpExtensionConfiguration.d.ts +33 -0
  441. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/protocols/protocol-http/httpHandler.d.ts +31 -0
  442. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/protocols/protocol-http/types.d.ts +21 -0
  443. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/protocols/querystring-builder/buildQueryString.d.ts +5 -0
  444. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/protocols/requestBuilder.d.ts +52 -0
  445. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/protocols/resolve-path.d.ts +4 -0
  446. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/protocols/serde/FromStringShapeDeserializer.d.ts +13 -0
  447. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/protocols/serde/HttpInterceptingShapeDeserializer.d.ts +21 -0
  448. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/protocols/serde/HttpInterceptingShapeSerializer.d.ts +23 -0
  449. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/protocols/serde/ToStringShapeSerializer.d.ts +14 -0
  450. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/protocols/serde/determineTimestampFormat.d.ts +9 -0
  451. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/protocols/util-uri-escape/escape-uri-path.d.ts +4 -0
  452. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/protocols/util-uri-escape/escape-uri.d.ts +4 -0
  453. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/retry/index.browser.d.ts +26 -0
  454. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/retry/index.d.ts +20 -0
  455. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/retry/middleware-retry/configurations.d.ts +71 -0
  456. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/retry/middleware-retry/isStreamingPayload/isStreamingPayload.browser.d.ts +5 -0
  457. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/retry/middleware-retry/isStreamingPayload/isStreamingPayload.d.ts +5 -0
  458. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/retry/middleware-retry/longPollMiddleware.d.ts +15 -0
  459. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/retry/middleware-retry/omitRetryHeadersMiddleware.d.ts +15 -0
  460. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/retry/middleware-retry/parseRetryAfterHeader.d.ts +10 -0
  461. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/retry/middleware-retry/retry-pre-sra-deprecated/AdaptiveRetryStrategy.d.ts +23 -0
  462. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/retry/middleware-retry/retry-pre-sra-deprecated/StandardRetryStrategy.d.ts +33 -0
  463. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/retry/middleware-retry/retry-pre-sra-deprecated/defaultRetryQuota.d.ts +26 -0
  464. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/retry/middleware-retry/retry-pre-sra-deprecated/delayDecider.d.ts +6 -0
  465. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/retry/middleware-retry/retry-pre-sra-deprecated/retryDecider.d.ts +6 -0
  466. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/retry/middleware-retry/retry-pre-sra-deprecated/types.d.ts +65 -0
  467. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/retry/middleware-retry/retryMiddleware.d.ts +19 -0
  468. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/retry/middleware-retry/util.d.ts +2 -0
  469. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/retry/service-error-classification/constants.d.ts +30 -0
  470. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/retry/service-error-classification/service-error-classification.d.ts +30 -0
  471. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/retry/util-retry/AdaptiveRetryStrategy.d.ts +38 -0
  472. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/retry/util-retry/ConfiguredRetryStrategy.d.ts +31 -0
  473. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/retry/util-retry/DefaultRateLimiter.d.ts +119 -0
  474. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/retry/util-retry/DefaultRetryBackoffStrategy.d.ts +12 -0
  475. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/retry/util-retry/DefaultRetryToken.d.ts +18 -0
  476. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/retry/util-retry/StandardRetryStrategy.d.ts +56 -0
  477. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/retry/util-retry/config.d.ts +20 -0
  478. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/retry/util-retry/constants.d.ts +60 -0
  479. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/retry/util-retry/retries-2026-config.d.ts +11 -0
  480. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/retry/util-retry/types.d.ts +19 -0
  481. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/schema/TypeRegistry.d.ts +71 -0
  482. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/schema/deref.d.ts +6 -0
  483. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/schema/index.d.ts +14 -0
  484. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/schema/middleware/getSchemaSerdePlugin.d.ts +14 -0
  485. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/schema/middleware/schema-middleware-types.d.ts +11 -0
  486. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/schema/middleware/schemaDeserializationMiddleware.d.ts +9 -0
  487. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/schema/middleware/schemaSerializationMiddleware.d.ts +6 -0
  488. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/schema/schemas/ErrorSchema.d.ts +37 -0
  489. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/schema/schemas/ListSchema.d.ts +23 -0
  490. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/schema/schemas/MapSchema.d.ts +24 -0
  491. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/schema/schemas/NormalizedSchema.d.ts +146 -0
  492. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/schema/schemas/OperationSchema.d.ts +23 -0
  493. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/schema/schemas/Schema.d.ts +16 -0
  494. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/schema/schemas/SimpleSchema.d.ts +28 -0
  495. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/schema/schemas/StructureSchema.d.ts +23 -0
  496. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/schema/schemas/operation.d.ts +7 -0
  497. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/schema/schemas/sentinels.d.ts +23 -0
  498. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/schema/schemas/translateTraits.d.ts +13 -0
  499. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/serde/concatBytes.d.ts +6 -0
  500. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/serde/copyDocumentWithTransform.d.ts +6 -0
  501. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/serde/date-utils.d.ts +61 -0
  502. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/serde/hash-node/hash-node.d.ts +13 -0
  503. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/serde/index.browser.d.ts +41 -0
  504. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/serde/index.d.ts +39 -0
  505. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/serde/index.native.d.ts +39 -0
  506. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/serde/is-array-buffer/is-array-buffer.d.ts +4 -0
  507. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/serde/lazy-json.d.ts +43 -0
  508. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/serde/middleware-serde/deserializerMiddleware.d.ts +6 -0
  509. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/serde/middleware-serde/serdePlugin.d.ts +24 -0
  510. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/serde/middleware-serde/serializerMiddleware.d.ts +6 -0
  511. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/serde/parse-utils.d.ts +250 -0
  512. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/serde/quote-header.d.ts +6 -0
  513. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/serde/schema-serde-lib/schema-date-utils.d.ts +38 -0
  514. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/serde/split-every.d.ts +10 -0
  515. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/serde/split-header.d.ts +5 -0
  516. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/serde/util-base64/constants-for-browser.d.ts +5 -0
  517. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/serde/util-base64/fromBase64.browser.d.ts +8 -0
  518. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/serde/util-base64/fromBase64.d.ts +7 -0
  519. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/serde/util-base64/toBase64.browser.d.ts +9 -0
  520. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/serde/util-base64/toBase64.d.ts +8 -0
  521. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/serde/util-body-length/calculateBodyLength.browser.d.ts +4 -0
  522. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/serde/util-body-length/calculateBodyLength.d.ts +4 -0
  523. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/serde/util-buffer-from/buffer-from.d.ts +12 -0
  524. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/serde/util-hex-encoding/hex-encoding.d.ts +12 -0
  525. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/serde/util-stream/ByteArrayCollector.d.ts +13 -0
  526. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/serde/util-stream/blob/Uint8ArrayBlobAdapter.d.ts +18 -0
  527. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/serde/util-stream/checksum/ChecksumStream.browser.d.ts +37 -0
  528. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/serde/util-stream/checksum/ChecksumStream.d.ts +77 -0
  529. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/serde/util-stream/checksum/createChecksumStream.browser.d.ts +14 -0
  530. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/serde/util-stream/checksum/createChecksumStream.d.ts +13 -0
  531. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/serde/util-stream/createBufferedReadable.browser.d.ts +55 -0
  532. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/serde/util-stream/createBufferedReadable.d.ts +16 -0
  533. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/serde/util-stream/getAwsChunkedEncodingStream.browser.d.ts +5 -0
  534. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/serde/util-stream/getAwsChunkedEncodingStream.d.ts +10 -0
  535. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/serde/util-stream/headStream.browser.d.ts +7 -0
  536. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/serde/util-stream/headStream.d.ts +9 -0
  537. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/serde/util-stream/sdk-stream-mixin.browser.d.ts +7 -0
  538. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/serde/util-stream/sdk-stream-mixin.d.ts +8 -0
  539. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/serde/util-stream/splitStream.browser.d.ts +8 -0
  540. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/serde/util-stream/splitStream.d.ts +17 -0
  541. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/serde/util-stream/stream-collector.browser.d.ts +12 -0
  542. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/serde/util-stream/stream-collector.d.ts +6 -0
  543. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/serde/util-stream/stream-type-check.d.ts +17 -0
  544. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/serde/util-utf8/fromUtf8.browser.d.ts +1 -0
  545. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/serde/util-utf8/fromUtf8.d.ts +1 -0
  546. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/serde/util-utf8/toUint8Array.browser.d.ts +4 -0
  547. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/serde/util-utf8/toUint8Array.d.ts +1 -0
  548. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/serde/util-utf8/toUtf8.browser.d.ts +7 -0
  549. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/serde/util-utf8/toUtf8.d.ts +7 -0
  550. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/serde/uuid/v4.d.ts +24 -0
  551. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/serde/value/NumericValue.d.ts +33 -0
  552. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/transport/getSmithyContext.d.ts +5 -0
  553. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/transport/httpRequest.d.ts +52 -0
  554. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/transport/httpResponse.d.ts +29 -0
  555. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/transport/index.d.ts +10 -0
  556. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/transport/isValidHostLabel.d.ts +7 -0
  557. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/transport/isValidHostname.d.ts +1 -0
  558. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/transport/normalizeProvider.d.ts +7 -0
  559. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/transport/parseQueryString.d.ts +5 -0
  560. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/transport/parseUrl.d.ts +5 -0
  561. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/transport/toEndpointV1.d.ts +6 -0
  562. package/node_modules/@smithy/core/package.json +2 -2
  563. package/node_modules/@smithy/credential-provider-imds/dist-es/index.js +3 -4
  564. package/node_modules/@smithy/credential-provider-imds/dist-types/index.d.ts +5 -4
  565. package/node_modules/@smithy/credential-provider-imds/dist-types/ts3.4/config/Endpoint.d.ts +7 -0
  566. package/node_modules/@smithy/credential-provider-imds/dist-types/ts3.4/config/EndpointConfigOptions.d.ts +13 -0
  567. package/node_modules/@smithy/credential-provider-imds/dist-types/ts3.4/config/EndpointMode.d.ts +7 -0
  568. package/node_modules/@smithy/credential-provider-imds/dist-types/ts3.4/config/EndpointModeConfigOptions.d.ts +13 -0
  569. package/node_modules/@smithy/credential-provider-imds/dist-types/ts3.4/error/InstanceMetadataV1FallbackError.d.ts +12 -0
  570. package/node_modules/@smithy/credential-provider-imds/dist-types/ts3.4/fromContainerMetadata.d.ts +21 -0
  571. package/node_modules/@smithy/credential-provider-imds/dist-types/ts3.4/fromInstanceMetadata.d.ts +10 -0
  572. package/node_modules/@smithy/credential-provider-imds/dist-types/ts3.4/index.d.ts +26 -0
  573. package/node_modules/@smithy/credential-provider-imds/dist-types/ts3.4/remoteProvider/ImdsCredentials.d.ts +19 -0
  574. package/node_modules/@smithy/credential-provider-imds/dist-types/ts3.4/remoteProvider/RemoteProviderInit.d.ts +40 -0
  575. package/node_modules/@smithy/credential-provider-imds/dist-types/ts3.4/remoteProvider/httpRequest.d.ts +5 -0
  576. package/node_modules/@smithy/credential-provider-imds/dist-types/ts3.4/remoteProvider/node-http.d.ts +2 -0
  577. package/node_modules/@smithy/credential-provider-imds/dist-types/ts3.4/remoteProvider/retry.d.ts +10 -0
  578. package/node_modules/@smithy/credential-provider-imds/dist-types/ts3.4/types.d.ts +7 -0
  579. package/node_modules/@smithy/credential-provider-imds/dist-types/ts3.4/utils/getExtendedInstanceMetadataCredentials.d.ts +6 -0
  580. package/node_modules/@smithy/credential-provider-imds/dist-types/ts3.4/utils/getInstanceMetadataEndpoint.d.ts +21 -0
  581. package/node_modules/@smithy/credential-provider-imds/dist-types/ts3.4/utils/staticStabilityProvider.d.ts +15 -0
  582. package/node_modules/@smithy/credential-provider-imds/package.json +3 -3
  583. package/node_modules/@smithy/fetch-http-handler/dist-types/fetch-http-handler.d.ts +1 -1
  584. package/node_modules/@smithy/fetch-http-handler/dist-types/ts3.4/create-request.d.ts +7 -0
  585. package/node_modules/@smithy/fetch-http-handler/dist-types/ts3.4/fetch-http-handler.d.ts +38 -0
  586. package/node_modules/@smithy/fetch-http-handler/dist-types/ts3.4/index.d.ts +2 -0
  587. package/node_modules/@smithy/fetch-http-handler/dist-types/ts3.4/request-timeout.d.ts +1 -0
  588. package/node_modules/@smithy/fetch-http-handler/package.json +4 -4
  589. package/node_modules/@smithy/node-http-handler/dist-types/node-http-handler.d.ts +1 -1
  590. package/node_modules/@smithy/node-http-handler/dist-types/ts3.4/build-abort-error.d.ts +10 -0
  591. package/node_modules/@smithy/node-http-handler/dist-types/ts3.4/constants.d.ts +5 -0
  592. package/node_modules/@smithy/node-http-handler/dist-types/ts3.4/get-transformed-headers.d.ts +4 -0
  593. package/node_modules/@smithy/node-http-handler/dist-types/ts3.4/http2/ClientHttp2SessionRef.d.ts +46 -0
  594. package/node_modules/@smithy/node-http-handler/dist-types/ts3.4/index.d.ts +3 -0
  595. package/node_modules/@smithy/node-http-handler/dist-types/ts3.4/node-http-handler.d.ts +47 -0
  596. package/node_modules/@smithy/node-http-handler/dist-types/ts3.4/node-http2-connection-manager.d.ts +46 -0
  597. package/node_modules/@smithy/node-http-handler/dist-types/ts3.4/node-http2-connection-pool.d.ts +36 -0
  598. package/node_modules/@smithy/node-http-handler/dist-types/ts3.4/node-http2-handler.d.ts +76 -0
  599. package/node_modules/@smithy/node-http-handler/dist-types/ts3.4/node-http2.d.ts +2 -0
  600. package/node_modules/@smithy/node-http-handler/dist-types/ts3.4/node-https.d.ts +2 -0
  601. package/node_modules/@smithy/node-http-handler/dist-types/ts3.4/set-connection-timeout.d.ts +2 -0
  602. package/node_modules/@smithy/node-http-handler/dist-types/ts3.4/set-request-timeout.d.ts +6 -0
  603. package/node_modules/@smithy/node-http-handler/dist-types/ts3.4/set-socket-keep-alive.d.ts +6 -0
  604. package/node_modules/@smithy/node-http-handler/dist-types/ts3.4/set-socket-timeout.d.ts +2 -0
  605. package/node_modules/@smithy/node-http-handler/dist-types/ts3.4/timing.d.ts +9 -0
  606. package/node_modules/@smithy/node-http-handler/dist-types/ts3.4/write-request-body.d.ts +12 -0
  607. package/node_modules/@smithy/node-http-handler/package.json +4 -4
  608. package/node_modules/@smithy/signature-v4/dist-es/index.js +4 -4
  609. package/node_modules/@smithy/signature-v4/dist-types/index.d.ts +5 -4
  610. package/node_modules/@smithy/signature-v4/dist-types/ts3.4/HeaderFormatter.d.ts +25 -0
  611. package/node_modules/@smithy/signature-v4/dist-types/ts3.4/SignatureV4.d.ts +20 -0
  612. package/node_modules/@smithy/signature-v4/dist-types/ts3.4/SignatureV4Base.d.ts +69 -0
  613. package/node_modules/@smithy/signature-v4/dist-types/ts3.4/constants.d.ts +43 -0
  614. package/node_modules/@smithy/signature-v4/dist-types/ts3.4/credentialDerivation.d.ts +30 -0
  615. package/node_modules/@smithy/signature-v4/dist-types/ts3.4/getCanonicalHeaders.d.ts +5 -0
  616. package/node_modules/@smithy/signature-v4/dist-types/ts3.4/getCanonicalQuery.d.ts +5 -0
  617. package/node_modules/@smithy/signature-v4/dist-types/ts3.4/getPayloadHash.d.ts +5 -0
  618. package/node_modules/@smithy/signature-v4/dist-types/ts3.4/headerUtil.d.ts +4 -0
  619. package/node_modules/@smithy/signature-v4/dist-types/ts3.4/index.d.ts +12 -0
  620. package/node_modules/@smithy/signature-v4/dist-types/ts3.4/moveHeadersToQuery.d.ts +10 -0
  621. package/node_modules/@smithy/signature-v4/dist-types/ts3.4/prepareRequest.d.ts +5 -0
  622. package/node_modules/@smithy/signature-v4/dist-types/ts3.4/signature-v4a-container.d.ts +23 -0
  623. package/node_modules/@smithy/signature-v4/dist-types/ts3.4/utilDate.d.ts +2 -0
  624. package/node_modules/@smithy/signature-v4/package.json +3 -3
  625. package/node_modules/@smithy/types/dist-es/auth/index.js +2 -6
  626. package/node_modules/@smithy/types/dist-es/connection/index.js +1 -3
  627. package/node_modules/@smithy/types/dist-es/endpoints/index.js +1 -5
  628. package/node_modules/@smithy/types/dist-es/extensions/index.js +1 -2
  629. package/node_modules/@smithy/types/dist-es/identity/index.js +1 -4
  630. package/node_modules/@smithy/types/dist-es/index.js +7 -43
  631. package/node_modules/@smithy/types/dist-es/metrics.js +1 -0
  632. package/node_modules/@smithy/types/dist-types/abort.d.ts +1 -1
  633. package/node_modules/@smithy/types/dist-types/auth/index.d.ts +7 -6
  634. package/node_modules/@smithy/types/dist-types/connection/index.d.ts +3 -3
  635. package/node_modules/@smithy/types/dist-types/endpoints/index.d.ts +5 -5
  636. package/node_modules/@smithy/types/dist-types/extensions/index.d.ts +6 -4
  637. package/node_modules/@smithy/types/dist-types/identity/index.d.ts +4 -4
  638. package/node_modules/@smithy/types/dist-types/index.d.ts +51 -43
  639. package/node_modules/@smithy/types/dist-types/metrics.d.ts +93 -0
  640. package/node_modules/@smithy/types/dist-types/ts3.4/abort-handler.d.ts +7 -0
  641. package/node_modules/@smithy/types/dist-types/ts3.4/abort.d.ts +45 -0
  642. package/node_modules/@smithy/types/dist-types/ts3.4/auth/HttpApiKeyAuth.d.ts +7 -0
  643. package/node_modules/@smithy/types/dist-types/ts3.4/auth/HttpAuthScheme.d.ts +49 -0
  644. package/node_modules/@smithy/types/dist-types/ts3.4/auth/HttpAuthSchemeProvider.d.ts +20 -0
  645. package/node_modules/@smithy/types/dist-types/ts3.4/auth/HttpSigner.d.ts +41 -0
  646. package/node_modules/@smithy/types/dist-types/ts3.4/auth/IdentityProviderConfig.d.ts +14 -0
  647. package/node_modules/@smithy/types/dist-types/ts3.4/auth/auth.d.ts +59 -0
  648. package/node_modules/@smithy/types/dist-types/ts3.4/auth/index.d.ts +7 -0
  649. package/node_modules/@smithy/types/dist-types/ts3.4/blob/blob-payload-input-types.d.ts +37 -0
  650. package/node_modules/@smithy/types/dist-types/ts3.4/checksum.d.ts +61 -0
  651. package/node_modules/@smithy/types/dist-types/ts3.4/client.d.ts +57 -0
  652. package/node_modules/@smithy/types/dist-types/ts3.4/command.d.ts +28 -0
  653. package/node_modules/@smithy/types/dist-types/ts3.4/connection/config.d.ts +15 -0
  654. package/node_modules/@smithy/types/dist-types/ts3.4/connection/index.d.ts +3 -0
  655. package/node_modules/@smithy/types/dist-types/ts3.4/connection/manager.d.ts +34 -0
  656. package/node_modules/@smithy/types/dist-types/ts3.4/connection/pool.d.ts +32 -0
  657. package/node_modules/@smithy/types/dist-types/ts3.4/crypto.d.ts +58 -0
  658. package/node_modules/@smithy/types/dist-types/ts3.4/downlevel-ts3.4/transform/type-transform.d.ts +40 -0
  659. package/node_modules/@smithy/types/dist-types/ts3.4/encode.d.ts +31 -0
  660. package/node_modules/@smithy/types/dist-types/ts3.4/endpoint.d.ts +77 -0
  661. package/node_modules/@smithy/types/dist-types/ts3.4/endpoints/EndpointParameterInstructions.d.ts +41 -0
  662. package/node_modules/@smithy/types/dist-types/ts3.4/endpoints/EndpointRuleObject.d.ts +27 -0
  663. package/node_modules/@smithy/types/dist-types/ts3.4/endpoints/ErrorRuleObject.d.ts +10 -0
  664. package/node_modules/@smithy/types/dist-types/ts3.4/endpoints/RuleSetObject.d.ts +28 -0
  665. package/node_modules/@smithy/types/dist-types/ts3.4/endpoints/TreeRuleObject.d.ts +16 -0
  666. package/node_modules/@smithy/types/dist-types/ts3.4/endpoints/index.d.ts +5 -0
  667. package/node_modules/@smithy/types/dist-types/ts3.4/endpoints/shared.d.ts +55 -0
  668. package/node_modules/@smithy/types/dist-types/ts3.4/eventStream.d.ts +137 -0
  669. package/node_modules/@smithy/types/dist-types/ts3.4/extensions/checksum.d.ts +58 -0
  670. package/node_modules/@smithy/types/dist-types/ts3.4/extensions/defaultClientConfiguration.d.ts +32 -0
  671. package/node_modules/@smithy/types/dist-types/ts3.4/extensions/defaultExtensionConfiguration.d.ts +9 -0
  672. package/node_modules/@smithy/types/dist-types/ts3.4/extensions/index.d.ts +6 -0
  673. package/node_modules/@smithy/types/dist-types/ts3.4/extensions/retry.d.ts +18 -0
  674. package/node_modules/@smithy/types/dist-types/ts3.4/externals-check/browser-externals-check.d.ts +35 -0
  675. package/node_modules/@smithy/types/dist-types/ts3.4/feature-ids.d.ts +16 -0
  676. package/node_modules/@smithy/types/dist-types/ts3.4/http/httpHandlerInitialization.d.ts +128 -0
  677. package/node_modules/@smithy/types/dist-types/ts3.4/http.d.ts +110 -0
  678. package/node_modules/@smithy/types/dist-types/ts3.4/identity/apiKeyIdentity.d.ts +14 -0
  679. package/node_modules/@smithy/types/dist-types/ts3.4/identity/awsCredentialIdentity.d.ts +31 -0
  680. package/node_modules/@smithy/types/dist-types/ts3.4/identity/identity.d.ts +15 -0
  681. package/node_modules/@smithy/types/dist-types/ts3.4/identity/index.d.ts +4 -0
  682. package/node_modules/@smithy/types/dist-types/ts3.4/identity/tokenIdentity.d.ts +14 -0
  683. package/node_modules/@smithy/types/dist-types/ts3.4/index.d.ts +52 -0
  684. package/node_modules/@smithy/types/dist-types/ts3.4/logger.d.ts +13 -0
  685. package/node_modules/@smithy/types/dist-types/ts3.4/metrics.d.ts +93 -0
  686. package/node_modules/@smithy/types/dist-types/ts3.4/middleware.d.ts +541 -0
  687. package/node_modules/@smithy/types/dist-types/ts3.4/pagination.d.ts +33 -0
  688. package/node_modules/@smithy/types/dist-types/ts3.4/profile.d.ts +30 -0
  689. package/node_modules/@smithy/types/dist-types/ts3.4/response.d.ts +40 -0
  690. package/node_modules/@smithy/types/dist-types/ts3.4/retry.d.ts +162 -0
  691. package/node_modules/@smithy/types/dist-types/ts3.4/schema/schema-deprecated.d.ts +149 -0
  692. package/node_modules/@smithy/types/dist-types/ts3.4/schema/schema.d.ts +251 -0
  693. package/node_modules/@smithy/types/dist-types/ts3.4/schema/sentinels.d.ts +65 -0
  694. package/node_modules/@smithy/types/dist-types/ts3.4/schema/static-schemas.d.ts +118 -0
  695. package/node_modules/@smithy/types/dist-types/ts3.4/schema/traits.d.ts +46 -0
  696. package/node_modules/@smithy/types/dist-types/ts3.4/serde.d.ts +114 -0
  697. package/node_modules/@smithy/types/dist-types/ts3.4/shapes.d.ts +79 -0
  698. package/node_modules/@smithy/types/dist-types/ts3.4/signature.d.ts +172 -0
  699. package/node_modules/@smithy/types/dist-types/ts3.4/stream.d.ts +22 -0
  700. package/node_modules/@smithy/types/dist-types/ts3.4/streaming-payload/streaming-blob-common-types.d.ts +28 -0
  701. package/node_modules/@smithy/types/dist-types/ts3.4/streaming-payload/streaming-blob-payload-input-types.d.ts +54 -0
  702. package/node_modules/@smithy/types/dist-types/ts3.4/streaming-payload/streaming-blob-payload-output-types.d.ts +41 -0
  703. package/node_modules/@smithy/types/dist-types/ts3.4/transfer.d.ts +42 -0
  704. package/node_modules/@smithy/types/dist-types/ts3.4/transform/client-method-transforms.d.ts +26 -0
  705. package/node_modules/@smithy/types/dist-types/ts3.4/transform/client-payload-blob-type-narrow.d.ts +77 -0
  706. package/node_modules/@smithy/types/dist-types/ts3.4/transform/exact.d.ts +14 -0
  707. package/node_modules/@smithy/types/dist-types/ts3.4/transform/mutable.d.ts +6 -0
  708. package/node_modules/@smithy/types/dist-types/ts3.4/transform/no-undefined.d.ts +88 -0
  709. package/node_modules/@smithy/types/dist-types/ts3.4/transform/type-transform.d.ts +40 -0
  710. package/node_modules/@smithy/types/dist-types/ts3.4/uri.d.ts +17 -0
  711. package/node_modules/@smithy/types/dist-types/ts3.4/util.d.ts +192 -0
  712. package/node_modules/@smithy/types/dist-types/ts3.4/waiter.d.ts +35 -0
  713. package/node_modules/@smithy/types/package.json +2 -2
  714. package/node_modules/@types/node/README.md +1 -1
  715. package/node_modules/@types/node/fs/promises.d.ts +16 -6
  716. package/node_modules/@types/node/package.json +2 -2
  717. package/node_modules/fast-xml-parser/CHANGELOG.md +8 -0
  718. package/node_modules/fast-xml-parser/README.md +8 -6
  719. package/node_modules/fast-xml-parser/lib/fxbuilder.min.js +1 -1
  720. package/node_modules/fast-xml-parser/lib/fxbuilder.min.js.map +1 -1
  721. package/node_modules/fast-xml-parser/lib/fxp.cjs +1 -1
  722. package/node_modules/fast-xml-parser/lib/fxp.min.js +1 -1
  723. package/node_modules/fast-xml-parser/lib/fxp.min.js.map +1 -1
  724. package/node_modules/fast-xml-parser/lib/fxparser.min.js +1 -1
  725. package/node_modules/fast-xml-parser/lib/fxparser.min.js.map +1 -1
  726. package/node_modules/fast-xml-parser/node_modules/xml-naming/LICENSE +21 -0
  727. package/node_modules/fast-xml-parser/node_modules/xml-naming/README.md +287 -0
  728. package/node_modules/fast-xml-parser/node_modules/xml-naming/package.json +56 -0
  729. package/node_modules/fast-xml-parser/node_modules/xml-naming/src/index.d.ts +108 -0
  730. package/node_modules/fast-xml-parser/node_modules/xml-naming/src/index.js +382 -0
  731. package/node_modules/fast-xml-parser/package.json +4 -4
  732. package/node_modules/fast-xml-parser/src/xmlparser/OrderedObjParser.js +2 -3
  733. package/node_modules/is-unsafe/README.md +175 -104
  734. package/node_modules/is-unsafe/package.json +11 -3
  735. package/node_modules/is-unsafe/src/index.d.ts +80 -13
  736. package/node_modules/is-unsafe/src/index.js +144 -83
  737. package/node_modules/path-expression-matcher/README.md +82 -7
  738. package/node_modules/path-expression-matcher/lib/pem.cjs +1 -1
  739. package/node_modules/path-expression-matcher/lib/pem.d.cts +94 -3
  740. package/node_modules/path-expression-matcher/lib/pem.min.js +1 -1
  741. package/node_modules/path-expression-matcher/lib/pem.min.js.map +1 -1
  742. package/node_modules/path-expression-matcher/package.json +2 -1
  743. package/node_modules/path-expression-matcher/src/ExpressionSet.js +18 -2
  744. package/node_modules/path-expression-matcher/src/Matcher.js +109 -16
  745. package/node_modules/path-expression-matcher/src/index.d.ts +67 -1
  746. package/node_modules/path-expression-matcher/src/index.js +3 -2
  747. package/package.json +17 -17
  748. package/node_modules/@aws-sdk/core/dist-es/submodules/client/util-user-agent-node/getNodeModulesParentDirs.js +0 -15
  749. package/node_modules/@aws-sdk/core/dist-es/submodules/client/util-user-agent-node/getSanitizedDevTypeScriptVersion.js +0 -14
  750. package/node_modules/@aws-sdk/core/dist-es/submodules/client/util-user-agent-node/getSanitizedTypeScriptVersion.js +0 -9
  751. package/node_modules/@aws-sdk/core/dist-es/submodules/client/util-user-agent-node/getTypeScriptUserAgentPair.js +0 -75
  752. package/node_modules/@aws-sdk/core/dist-types/submodules/client/util-user-agent-node/getNodeModulesParentDirs.d.ts +0 -10
  753. package/node_modules/@aws-sdk/core/dist-types/submodules/client/util-user-agent-node/getSanitizedDevTypeScriptVersion.d.ts +0 -8
  754. package/node_modules/@aws-sdk/core/dist-types/submodules/client/util-user-agent-node/getSanitizedTypeScriptVersion.d.ts +0 -8
  755. package/node_modules/@aws-sdk/core/dist-types/submodules/client/util-user-agent-node/getTypeScriptUserAgentPair.d.ts +0 -6
  756. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/client/util-user-agent-node/getNodeModulesParentDirs.d.ts +0 -1
  757. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/client/util-user-agent-node/getSanitizedDevTypeScriptVersion.d.ts +0 -3
  758. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/client/util-user-agent-node/getSanitizedTypeScriptVersion.d.ts +0 -3
  759. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/client/util-user-agent-node/getTypeScriptUserAgentPair.d.ts +0 -4
  760. package/node_modules/is-unsafe/src/registry.js +0 -45
@@ -186,6 +186,42 @@ declare interface MatcherSnapshot {
186
186
  * Copy of sibling tracking maps
187
187
  */
188
188
  siblingStacks: Map<string, number>[];
189
+
190
+ /**
191
+ * Copy of the kept-attrs stack (see {@link PushOptions.keep})
192
+ */
193
+ keptAttrs: KeptAttrEntry[];
194
+ }
195
+
196
+ /**
197
+ * A single entry in the matcher's kept-attrs stack — an attribute value
198
+ * explicitly retained at push time via `{ keep: [...] }` so it remains
199
+ * reachable from descendants after the owning node is no longer current.
200
+ */
201
+ declare interface KeptAttrEntry {
202
+ /** Path depth (1-based) of the node that declared this kept attribute */
203
+ depth: number;
204
+ /** Attribute name */
205
+ name: string;
206
+ /** Attribute value at push time */
207
+ value: any;
208
+ }
209
+
210
+ /**
211
+ * Options for {@link Matcher.push}
212
+ */
213
+ declare interface PushOptions {
214
+ /**
215
+ * Names of attributes (from `attrValues`) to retain for ancestor lookup
216
+ * (`getAnyParentAttr` / `hasAnyParentAttr`) even after this node is no
217
+ * longer the current node.
218
+ *
219
+ * Use sparingly — this is for attributes you know you'll need much deeper
220
+ * in the tree (e.g. `xml:space`, a SOAP envelope's `version`), not a
221
+ * general substitute for `getAttrValue()`. Cost is proportional to
222
+ * `keep.length`, independent of path depth.
223
+ */
224
+ keep?: string[];
189
225
  }
190
226
 
191
227
  /**
@@ -215,7 +251,7 @@ declare interface MatcherSnapshot {
215
251
  * ro.reset(); // ✗ TypeError: Cannot call 'reset' on a read-only Matcher
216
252
  * ```
217
253
  */
218
- declare interface ReadOnlyMatcher {
254
+ declare class MatcherView {
219
255
  /**
220
256
  * Default path separator (read-only)
221
257
  */
@@ -253,6 +289,24 @@ declare interface ReadOnlyMatcher {
253
289
  */
254
290
  hasAttr(attrName: string): boolean;
255
291
 
292
+ /**
293
+ * Get the value of a "kept" attribute from the nearest ancestor (or
294
+ * current node) that declared it via `push(tag, attrs, ns, { keep: [...] })`.
295
+ * Unlike `getAttrValue()`, this works regardless of how deep the path has
296
+ * gone since the attribute was pushed — but only for attribute names that
297
+ * were explicitly marked with `keep` at push time.
298
+ * @param attrName - Attribute name
299
+ * @returns The kept value, or undefined if no ancestor kept this attribute
300
+ */
301
+ getAnyParentAttr(attrName: string): any;
302
+
303
+ /**
304
+ * Check whether any ancestor (or the current node) kept the given
305
+ * attribute via `push(tag, attrs, ns, { keep: [...] })`.
306
+ * @param attrName - Attribute name
307
+ */
308
+ hasAnyParentAttr(attrName: string): boolean;
309
+
256
310
  /**
257
311
  * Get current node's sibling position (child index in parent)
258
312
  * @returns Position index or -1 if path is empty
@@ -342,6 +396,12 @@ declare interface ReadOnlyMatcher {
342
396
  restore(snapshot: MatcherSnapshot): never;
343
397
  }
344
398
 
399
+ /**
400
+ * Backward‑compatible alias for {@link MatcherView}.
401
+ * @deprecated Use MatcherView directly.
402
+ */
403
+ declare type ReadOnlyMatcher = MatcherView;
404
+
345
405
  /**
346
406
  * Matcher - Tracks current path in XML/JSON tree and matches against Expressions
347
407
  *
@@ -386,15 +446,23 @@ declare class Matcher {
386
446
  * @param tagName - Name of the tag
387
447
  * @param attrValues - Attribute key-value pairs for current node (optional)
388
448
  * @param namespace - Namespace for the tag (optional)
449
+ * @param options - Push options, e.g. `{ keep: ['version'] }` to retain
450
+ * specific attributes for ancestor lookup after this node stops being current
389
451
  *
390
452
  * @example
391
453
  * ```javascript
392
454
  * matcher.push("user", { id: "123", type: "admin" });
393
455
  * matcher.push("user", { id: "456" }, "ns");
394
456
  * matcher.push("container", null);
457
+ * matcher.push("Body", { version: "1.1" }, "soap", { keep: ["version"] });
395
458
  * ```
396
459
  */
397
- push(tagName: string, attrValues?: Record<string, any> | null, namespace?: string | null): void;
460
+ push(
461
+ tagName: string,
462
+ attrValues?: Record<string, any> | null,
463
+ namespace?: string | null,
464
+ options?: PushOptions | null
465
+ ): void;
398
466
 
399
467
  /**
400
468
  * Pop the last tag from the path
@@ -434,6 +502,23 @@ declare class Matcher {
434
502
  */
435
503
  hasAttr(attrName: string): boolean;
436
504
 
505
+ /**
506
+ * Get the value of a "kept" attribute from the nearest ancestor (or current
507
+ * node) that declared it via `push(tag, attrs, ns, { keep: [...] })`.
508
+ * Cost is proportional to the number of currently-kept attributes, not
509
+ * path depth.
510
+ * @param attrName - Attribute name
511
+ * @returns The kept value, or undefined if no ancestor kept this attribute
512
+ */
513
+ getAnyParentAttr(attrName: string): any;
514
+
515
+ /**
516
+ * Check whether any ancestor (or the current node) kept the given
517
+ * attribute via `push(tag, attrs, ns, { keep: [...] })`.
518
+ * @param attrName - Attribute name
519
+ */
520
+ hasAnyParentAttr(attrName: string): boolean;
521
+
437
522
  /**
438
523
  * Get current node's sibling position (child index in parent)
439
524
  * @returns Position index or -1 if path is empty
@@ -618,17 +703,23 @@ declare class ExpressionSet {
618
703
  findMatch(matcher: Matcher | ReadOnlyMatcher): Expression;
619
704
  }
620
705
 
706
+ // ─── Namespace & Default Export ──────────────────────────────────────────
707
+
621
708
  declare namespace pathExpressionMatcher {
622
709
  export {
623
710
  Expression,
624
711
  Matcher,
712
+ MatcherView,
713
+ ReadOnlyMatcher,
625
714
  ExpressionSet,
626
715
  ExpressionOptions,
627
716
  MatcherOptions,
628
717
  Segment,
629
718
  PathNode,
630
719
  MatcherSnapshot,
720
+ KeptAttrEntry,
721
+ PushOptions,
631
722
  };
632
723
  }
633
724
 
634
- export = pathExpressionMatcher;
725
+ export = pathExpressionMatcher;
@@ -1,2 +1,2 @@
1
- !function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.pem=e():t.pem=e()}(this,()=>(()=>{"use strict";var t={d:(e,s)=>{for(var i in s)t.o(s,i)&&!t.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:s[i]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r:t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})}},e={};t.r(e),t.d(e,{Expression:()=>s,ExpressionSet:()=>r,Matcher:()=>n,default:()=>h});class s{constructor(t,e={},s){this.pattern=t,this.separator=e.separator||".",this.segments=this._parse(t),this.data=s,this._hasDeepWildcard=this.segments.some(t=>"deep-wildcard"===t.type),this._hasAttributeCondition=this.segments.some(t=>void 0!==t.attrName),this._hasPositionSelector=this.segments.some(t=>void 0!==t.position)}_parse(t){const e=[];let s=0,i="";for(;s<t.length;)t[s]===this.separator?s+1<t.length&&t[s+1]===this.separator?(i.trim()&&(e.push(this._parseSegment(i.trim())),i=""),e.push({type:"deep-wildcard"}),s+=2):(i.trim()&&e.push(this._parseSegment(i.trim())),i="",s++):(i+=t[s],s++);return i.trim()&&e.push(this._parseSegment(i.trim())),e}_parseSegment(t){const e={type:"tag"};let s=null,i=t;const n=t.match(/^([^\[]+)(\[[^\]]*\])(.*)$/);if(n&&(i=n[1]+n[3],n[2])){const t=n[2].slice(1,-1);t&&(s=t)}let r,h,a=i;if(i.includes("::")){const e=i.indexOf("::");if(r=i.substring(0,e).trim(),a=i.substring(e+2).trim(),!r)throw new Error(`Invalid namespace in pattern: ${t}`)}let p=null;if(a.includes(":")){const t=a.lastIndexOf(":"),e=a.substring(0,t).trim(),s=a.substring(t+1).trim();["first","last","odd","even"].includes(s)||/^nth\(\d+\)$/.test(s)?(h=e,p=s):h=a}else h=a;if(!h)throw new Error(`Invalid segment pattern: ${t}`);if(e.tag=h,r&&(e.namespace=r),s)if(s.includes("=")){const t=s.indexOf("=");e.attrName=s.substring(0,t).trim(),e.attrValue=s.substring(t+1).trim()}else e.attrName=s.trim();if(p){const t=p.match(/^nth\((\d+)\)$/);t?(e.position="nth",e.positionValue=parseInt(t[1],10)):e.position=p}return e}get length(){return this.segments.length}hasDeepWildcard(){return this._hasDeepWildcard}hasAttributeCondition(){return this._hasAttributeCondition}hasPositionSelector(){return this._hasPositionSelector}toString(){return this.pattern}}class i{constructor(t){this._matcher=t}get separator(){return this._matcher.separator}getCurrentTag(){const t=this._matcher.path;return t.length>0?t[t.length-1].tag:void 0}getCurrentNamespace(){const t=this._matcher.path;return t.length>0?t[t.length-1].namespace:void 0}getAttrValue(t){const e=this._matcher.path;if(0!==e.length)return e[e.length-1].values?.[t]}hasAttr(t){const e=this._matcher.path;if(0===e.length)return!1;const s=e[e.length-1];return void 0!==s.values&&t in s.values}getPosition(){const t=this._matcher.path;return 0===t.length?-1:t[t.length-1].position??0}getCounter(){const t=this._matcher.path;return 0===t.length?-1:t[t.length-1].counter??0}getIndex(){return this.getPosition()}getDepth(){return this._matcher.path.length}toString(t,e=!0){return this._matcher.toString(t,e)}toArray(){return this._matcher.path.map(t=>t.tag)}matches(t){return this._matcher.matches(t)}matchesAny(t){return t.matchesAny(this._matcher)}}class n{constructor(t={}){this.separator=t.separator||".",this.path=[],this.siblingStacks=[],this._pathStringCache=null,this._view=new i(this)}push(t,e=null,s=null){this._pathStringCache=null,this.path.length>0&&(this.path[this.path.length-1].values=void 0);const i=this.path.length;this.siblingStacks[i]||(this.siblingStacks[i]=new Map);const n=this.siblingStacks[i],r=s?`${s}:${t}`:t,h=n.get(r)||0;let a=0;for(const t of n.values())a+=t;n.set(r,h+1);const p={tag:t,position:a,counter:h};null!=s&&(p.namespace=s),null!=e&&(p.values=e),this.path.push(p)}pop(){if(0===this.path.length)return;this._pathStringCache=null;const t=this.path.pop();return this.siblingStacks.length>this.path.length+1&&(this.siblingStacks.length=this.path.length+1),t}updateCurrent(t){if(this.path.length>0){const e=this.path[this.path.length-1];null!=t&&(e.values=t)}}getCurrentTag(){return this.path.length>0?this.path[this.path.length-1].tag:void 0}getCurrentNamespace(){return this.path.length>0?this.path[this.path.length-1].namespace:void 0}getAttrValue(t){if(0!==this.path.length)return this.path[this.path.length-1].values?.[t]}hasAttr(t){if(0===this.path.length)return!1;const e=this.path[this.path.length-1];return void 0!==e.values&&t in e.values}getPosition(){return 0===this.path.length?-1:this.path[this.path.length-1].position??0}getCounter(){return 0===this.path.length?-1:this.path[this.path.length-1].counter??0}getIndex(){return this.getPosition()}getDepth(){return this.path.length}toString(t,e=!0){const s=t||this.separator;if(s===this.separator&&!0===e){if(null!==this._pathStringCache)return this._pathStringCache;const t=this.path.map(t=>t.namespace?`${t.namespace}:${t.tag}`:t.tag).join(s);return this._pathStringCache=t,t}return this.path.map(t=>e&&t.namespace?`${t.namespace}:${t.tag}`:t.tag).join(s)}toArray(){return this.path.map(t=>t.tag)}reset(){this._pathStringCache=null,this.path=[],this.siblingStacks=[]}matches(t){const e=t.segments;return 0!==e.length&&(t.hasDeepWildcard()?this._matchWithDeepWildcard(e):this._matchSimple(e))}_matchSimple(t){if(this.path.length!==t.length)return!1;for(let e=0;e<t.length;e++)if(!this._matchSegment(t[e],this.path[e],e===this.path.length-1))return!1;return!0}_matchWithDeepWildcard(t){let e=this.path.length-1,s=t.length-1;for(;s>=0&&e>=0;){const i=t[s];if("deep-wildcard"===i.type){if(s--,s<0)return!0;const i=t[s];let n=!1;for(let t=e;t>=0;t--)if(this._matchSegment(i,this.path[t],t===this.path.length-1)){e=t-1,s--,n=!0;break}if(!n)return!1}else{if(!this._matchSegment(i,this.path[e],e===this.path.length-1))return!1;e--,s--}}return s<0}_matchSegment(t,e,s){if("*"!==t.tag&&t.tag!==e.tag)return!1;if(void 0!==t.namespace&&"*"!==t.namespace&&t.namespace!==e.namespace)return!1;if(void 0!==t.attrName){if(!s)return!1;if(!e.values||!(t.attrName in e.values))return!1;if(void 0!==t.attrValue&&String(e.values[t.attrName])!==String(t.attrValue))return!1}if(void 0!==t.position){if(!s)return!1;const i=e.counter??0;if("first"===t.position&&0!==i)return!1;if("odd"===t.position&&i%2!=1)return!1;if("even"===t.position&&i%2!=0)return!1;if("nth"===t.position&&i!==t.positionValue)return!1}return!0}matchesAny(t){return t.matchesAny(this)}snapshot(){return{path:this.path.map(t=>({...t})),siblingStacks:this.siblingStacks.map(t=>new Map(t))}}restore(t){this._pathStringCache=null,this.path=t.path.map(t=>({...t})),this.siblingStacks=t.siblingStacks.map(t=>new Map(t))}readOnly(){return this._view}}class r{constructor(){this._byDepthAndTag=new Map,this._wildcardByDepth=new Map,this._deepWildcards=[],this._patterns=new Set,this._sealed=!1}add(t){if(this._sealed)throw new TypeError("ExpressionSet is sealed. Create a new ExpressionSet to add more expressions.");if(this._patterns.has(t.pattern))return this;if(this._patterns.add(t.pattern),t.hasDeepWildcard())return this._deepWildcards.push(t),this;const e=t.length,s=t.segments[t.segments.length-1],i=s?.tag;if(i&&"*"!==i){const s=`${e}:${i}`;this._byDepthAndTag.has(s)||this._byDepthAndTag.set(s,[]),this._byDepthAndTag.get(s).push(t)}else this._wildcardByDepth.has(e)||this._wildcardByDepth.set(e,[]),this._wildcardByDepth.get(e).push(t);return this}addAll(t){for(const e of t)this.add(e);return this}has(t){return this._patterns.has(t.pattern)}get size(){return this._patterns.size}seal(){return this._sealed=!0,this}get isSealed(){return this._sealed}matchesAny(t){return null!==this.findMatch(t)}findMatch(t){const e=t.getDepth(),s=`${e}:${t.getCurrentTag()}`,i=this._byDepthAndTag.get(s);if(i)for(let e=0;e<i.length;e++)if(t.matches(i[e]))return i[e];const n=this._wildcardByDepth.get(e);if(n)for(let e=0;e<n.length;e++)if(t.matches(n[e]))return n[e];for(let e=0;e<this._deepWildcards.length;e++)if(t.matches(this._deepWildcards[e]))return this._deepWildcards[e];return null}}const h={Expression:s,Matcher:n,ExpressionSet:r};return e})());
1
+ !function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.pem=e():t.pem=e()}(this,()=>(()=>{"use strict";var t={d:(e,s)=>{for(var n in s)t.o(s,n)&&!t.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:s[n]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r:t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})}},e={};t.r(e),t.d(e,{Expression:()=>s,ExpressionSet:()=>i,Matcher:()=>r,MatcherView:()=>n,default:()=>h});class s{constructor(t,e={},s){this.pattern=t,this.separator=e.separator||".",this.segments=this._parse(t),this.data=s,this._hasDeepWildcard=this.segments.some(t=>"deep-wildcard"===t.type),this._hasAttributeCondition=this.segments.some(t=>void 0!==t.attrName),this._hasPositionSelector=this.segments.some(t=>void 0!==t.position)}_parse(t){const e=[];let s=0,n="";for(;s<t.length;)t[s]===this.separator?s+1<t.length&&t[s+1]===this.separator?(n.trim()&&(e.push(this._parseSegment(n.trim())),n=""),e.push({type:"deep-wildcard"}),s+=2):(n.trim()&&e.push(this._parseSegment(n.trim())),n="",s++):(n+=t[s],s++);return n.trim()&&e.push(this._parseSegment(n.trim())),e}_parseSegment(t){const e={type:"tag"};let s=null,n=t;const r=t.match(/^([^\[]+)(\[[^\]]*\])(.*)$/);if(r&&(n=r[1]+r[3],r[2])){const t=r[2].slice(1,-1);t&&(s=t)}let i,h,a=n;if(n.includes("::")){const e=n.indexOf("::");if(i=n.substring(0,e).trim(),a=n.substring(e+2).trim(),!i)throw new Error(`Invalid namespace in pattern: ${t}`)}let p=null;if(a.includes(":")){const t=a.lastIndexOf(":"),e=a.substring(0,t).trim(),s=a.substring(t+1).trim();["first","last","odd","even"].includes(s)||/^nth\(\d+\)$/.test(s)?(h=e,p=s):h=a}else h=a;if(!h)throw new Error(`Invalid segment pattern: ${t}`);if(e.tag=h,i&&(e.namespace=i),s)if(s.includes("=")){const t=s.indexOf("=");e.attrName=s.substring(0,t).trim(),e.attrValue=s.substring(t+1).trim()}else e.attrName=s.trim();if(p){const t=p.match(/^nth\((\d+)\)$/);t?(e.position="nth",e.positionValue=parseInt(t[1],10)):e.position=p}return e}get length(){return this.segments.length}hasDeepWildcard(){return this._hasDeepWildcard}hasAttributeCondition(){return this._hasAttributeCondition}hasPositionSelector(){return this._hasPositionSelector}toString(){return this.pattern}}class n{constructor(t){this._matcher=t}get separator(){return this._matcher.separator}getCurrentTag(){const t=this._matcher.path;return t.length>0?t[t.length-1].tag:void 0}getCurrentNamespace(){const t=this._matcher.path;return t.length>0?t[t.length-1].namespace:void 0}getAttrValue(t){const e=this._matcher.path;if(0!==e.length)return e[e.length-1].values?.[t]}hasAttr(t){const e=this._matcher.path;if(0===e.length)return!1;const s=e[e.length-1];return void 0!==s.values&&t in s.values}getAnyParentAttr(t){return this._matcher.getAnyParentAttr(t)}hasAnyParentAttr(t){return this._matcher.hasAnyParentAttr(t)}getPosition(){const t=this._matcher.path;return 0===t.length?-1:t[t.length-1].position??0}getCounter(){const t=this._matcher.path;return 0===t.length?-1:t[t.length-1].counter??0}getIndex(){return this.getPosition()}getDepth(){return this._matcher.path.length}toString(t,e=!0){return this._matcher.toString(t,e)}toArray(){return this._matcher.path.map(t=>t.tag)}matches(t){return this._matcher.matches(t)}matchesAny(t){return t.matchesAny(this._matcher)}}class r{constructor(t={}){this.separator=t.separator||".",this.path=[],this.siblingStacks=[],this._pathStringCache=null,this._view=new n(this),this._keptAttrs=[]}push(t,e=null,s=null,n=null){this._pathStringCache=null,this.path.length>0&&(this.path[this.path.length-1].values=void 0);const r=this.path.length;let i=this.siblingStacks[r];i||(i={counts:new Map,total:0},this.siblingStacks[r]=i);const h=s?`${s}:${t}`:t,a=i.counts.get(h)||0,p=i.total;i.counts.set(h,a+1),i.total++;const l={tag:t,position:p,counter:a};null!=s&&(l.namespace=s),null!=e&&(l.values=e),this.path.push(l);const o=this.path.length,c=null!==n?n.keep:null;if(null!=c&&c.length>0&&e)for(let t=0;t<c.length;t++){const s=c[t];void 0!==e[s]&&this._keptAttrs.push({depth:o,name:s,value:e[s]})}}pop(){if(0===this.path.length)return;this._pathStringCache=null;const t=this.path.pop();this.siblingStacks.length>this.path.length+1&&(this.siblingStacks.length=this.path.length+1);const e=this.path.length+1;for(;this._keptAttrs.length>0&&this._keptAttrs[this._keptAttrs.length-1].depth>=e;)this._keptAttrs.pop();return t}updateCurrent(t){if(this.path.length>0){const e=this.path[this.path.length-1];null!=t&&(e.values=t)}}getCurrentTag(){return this.path.length>0?this.path[this.path.length-1].tag:void 0}getCurrentNamespace(){return this.path.length>0?this.path[this.path.length-1].namespace:void 0}getAttrValue(t){if(0!==this.path.length)return this.path[this.path.length-1].values?.[t]}hasAttr(t){if(0===this.path.length)return!1;const e=this.path[this.path.length-1];return void 0!==e.values&&t in e.values}getAnyParentAttr(t){const e=this._keptAttrs;for(let s=e.length-1;s>=0;s--)if(e[s].name===t)return e[s].value}hasAnyParentAttr(t){const e=this._keptAttrs;for(let s=e.length-1;s>=0;s--)if(e[s].name===t)return!0;return!1}getPosition(){return 0===this.path.length?-1:this.path[this.path.length-1].position??0}getCounter(){return 0===this.path.length?-1:this.path[this.path.length-1].counter??0}getIndex(){return this.getPosition()}getDepth(){return this.path.length}toString(t,e=!0){const s=t||this.separator;if(s===this.separator&&!0===e){if(null!==this._pathStringCache)return this._pathStringCache;const t=this.path.map(t=>t.namespace?`${t.namespace}:${t.tag}`:t.tag).join(s);return this._pathStringCache=t,t}return this.path.map(t=>e&&t.namespace?`${t.namespace}:${t.tag}`:t.tag).join(s)}toArray(){return this.path.map(t=>t.tag)}reset(){this._pathStringCache=null,this.path=[],this.siblingStacks=[],this._keptAttrs=[]}matches(t){const e=t.segments;return 0!==e.length&&(t.hasDeepWildcard()?this._matchWithDeepWildcard(e):this._matchSimple(e))}_matchSimple(t){if(this.path.length!==t.length)return!1;for(let e=0;e<t.length;e++)if(!this._matchSegment(t[e],this.path[e],e===this.path.length-1))return!1;return!0}_matchWithDeepWildcard(t){let e=this.path.length-1,s=t.length-1;for(;s>=0&&e>=0;){const n=t[s];if("deep-wildcard"===n.type){if(s--,s<0)return!0;const n=t[s];let r=!1;for(let t=e;t>=0;t--)if(this._matchSegment(n,this.path[t],t===this.path.length-1)){e=t-1,s--,r=!0;break}if(!r)return!1}else{if(!this._matchSegment(n,this.path[e],e===this.path.length-1))return!1;e--,s--}}return s<0}_matchSegment(t,e,s){if("*"!==t.tag&&t.tag!==e.tag)return!1;if(void 0!==t.namespace&&"*"!==t.namespace&&t.namespace!==e.namespace)return!1;if(void 0!==t.attrName){if(!s)return!1;if(!e.values||!(t.attrName in e.values))return!1;if(void 0!==t.attrValue&&String(e.values[t.attrName])!==String(t.attrValue))return!1}if(void 0!==t.position){if(!s)return!1;const n=e.counter??0;if("first"===t.position&&0!==n)return!1;if("odd"===t.position&&n%2!=1)return!1;if("even"===t.position&&n%2!=0)return!1;if("nth"===t.position&&n!==t.positionValue)return!1}return!0}matchesAny(t){return t.matchesAny(this)}snapshot(){return{path:this.path.map(t=>({...t})),siblingStacks:this.siblingStacks.map(t=>t?{counts:new Map(t.counts),total:t.total}:t),keptAttrs:this._keptAttrs.map(t=>({...t}))}}restore(t){this._pathStringCache=null,this.path=t.path.map(t=>({...t})),this.siblingStacks=t.siblingStacks.map(t=>t?{counts:new Map(t.counts),total:t.total}:t),this._keptAttrs=(t.keptAttrs||[]).map(t=>({...t}))}readOnly(){return this._view}}class i{constructor(){this._byDepthAndTag=new Map,this._wildcardByDepth=new Map,this._deepWildcards=[],this._deepByTerminalTag=new Map,this._patterns=new Set,this._sealed=!1}add(t){if(this._sealed)throw new TypeError("ExpressionSet is sealed. Create a new ExpressionSet to add more expressions.");if(this._patterns.has(t.pattern))return this;if(this._patterns.add(t.pattern),t.hasDeepWildcard()){const e=t.segments[t.segments.length-1];if(e&&"deep-wildcard"!==e.type&&"*"!==e.tag){const s=e.tag;this._deepByTerminalTag.has(s)||this._deepByTerminalTag.set(s,[]),this._deepByTerminalTag.get(s).push(t)}else this._deepWildcards.push(t);return this}const e=t.length,s=t.segments[t.segments.length-1],n=s?.tag;if(n&&"*"!==n){const s=`${e}:${n}`;this._byDepthAndTag.has(s)||this._byDepthAndTag.set(s,[]),this._byDepthAndTag.get(s).push(t)}else this._wildcardByDepth.has(e)||this._wildcardByDepth.set(e,[]),this._wildcardByDepth.get(e).push(t);return this}addAll(t){for(const e of t)this.add(e);return this}has(t){return this._patterns.has(t.pattern)}get size(){return this._patterns.size}seal(){return this._sealed=!0,this}get isSealed(){return this._sealed}matchesAny(t){return null!==this.findMatch(t)}findMatch(t){const e=t.getDepth(),s=t.getCurrentTag(),n=`${e}:${s}`,r=this._byDepthAndTag.get(n);if(r)for(let e=0;e<r.length;e++)if(t.matches(r[e]))return r[e];const i=this._wildcardByDepth.get(e);if(i)for(let e=0;e<i.length;e++)if(t.matches(i[e]))return i[e];const h=this._deepByTerminalTag.get(s);if(h)for(let e=0;e<h.length;e++)if(t.matches(h[e]))return h[e];for(let e=0;e<this._deepWildcards.length;e++)if(t.matches(this._deepWildcards[e]))return this._deepWildcards[e];return null}}const h={Expression:s,Matcher:r,MatcherView:n,ExpressionSet:i};return e})());
2
2
  //# sourceMappingURL=pem.min.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"./lib/pem.min.js","mappings":"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","sources":["webpack://pem/webpack/universalModuleDefinition","webpack://pem/webpack/bootstrap","webpack://pem/webpack/runtime/define property getters","webpack://pem/webpack/runtime/hasOwnProperty shorthand","webpack://pem/webpack/runtime/make namespace object","webpack://pem/./src/Expression.js","webpack://pem/./src/Matcher.js","webpack://pem/./src/ExpressionSet.js","webpack://pem/./src/index.js"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"pem\"] = factory();\n\telse\n\t\troot[\"pem\"] = factory();\n})(this, () => {\nreturn ","// The require scope\nvar __webpack_require__ = {};\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","/**\n * Expression - Parses and stores a tag pattern expression\n * \n * Patterns are parsed once and stored in an optimized structure for fast matching.\n * \n * @example\n * const expr = new Expression(\"root.users.user\");\n * const expr2 = new Expression(\"..user[id]:first\");\n * const expr3 = new Expression(\"root/users/user\", { separator: '/' });\n */\nexport default class Expression {\n /**\n * Create a new Expression\n * @param {string} pattern - Pattern string (e.g., \"root.users.user\", \"..user[id]\")\n * @param {Object} options - Configuration options\n * @param {string} options.separator - Path separator (default: '.')\n */\n constructor(pattern, options = {}, data) {\n this.pattern = pattern;\n this.separator = options.separator || '.';\n this.segments = this._parse(pattern);\n this.data = data;\n // Cache expensive checks for performance (O(1) instead of O(n))\n this._hasDeepWildcard = this.segments.some(seg => seg.type === 'deep-wildcard');\n this._hasAttributeCondition = this.segments.some(seg => seg.attrName !== undefined);\n this._hasPositionSelector = this.segments.some(seg => seg.position !== undefined);\n }\n\n /**\n * Parse pattern string into segments\n * @private\n * @param {string} pattern - Pattern to parse\n * @returns {Array} Array of segment objects\n */\n _parse(pattern) {\n const segments = [];\n\n // Split by separator but handle \"..\" specially\n let i = 0;\n let currentPart = '';\n\n while (i < pattern.length) {\n if (pattern[i] === this.separator) {\n // Check if next char is also separator (deep wildcard)\n if (i + 1 < pattern.length && pattern[i + 1] === this.separator) {\n // Flush current part if any\n if (currentPart.trim()) {\n segments.push(this._parseSegment(currentPart.trim()));\n currentPart = '';\n }\n // Add deep wildcard\n segments.push({ type: 'deep-wildcard' });\n i += 2; // Skip both separators\n } else {\n // Regular separator\n if (currentPart.trim()) {\n segments.push(this._parseSegment(currentPart.trim()));\n }\n currentPart = '';\n i++;\n }\n } else {\n currentPart += pattern[i];\n i++;\n }\n }\n\n // Flush remaining part\n if (currentPart.trim()) {\n segments.push(this._parseSegment(currentPart.trim()));\n }\n\n return segments;\n }\n\n /**\n * Parse a single segment\n * @private\n * @param {string} part - Segment string (e.g., \"user\", \"ns::user\", \"user[id]\", \"ns::user:first\")\n * @returns {Object} Segment object\n */\n _parseSegment(part) {\n const segment = { type: 'tag' };\n\n // NEW NAMESPACE SYNTAX (v2.0):\n // ============================\n // Namespace uses DOUBLE colon (::)\n // Position uses SINGLE colon (:)\n // \n // Examples:\n // \"user\" → tag\n // \"user:first\" → tag + position\n // \"user[id]\" → tag + attribute\n // \"user[id]:first\" → tag + attribute + position\n // \"ns::user\" → namespace + tag\n // \"ns::user:first\" → namespace + tag + position\n // \"ns::user[id]\" → namespace + tag + attribute\n // \"ns::user[id]:first\" → namespace + tag + attribute + position\n // \"ns::first\" → namespace + tag named \"first\" (NO ambiguity!)\n //\n // This eliminates all ambiguity:\n // :: = namespace separator\n // : = position selector\n // [] = attributes\n\n // Step 1: Extract brackets [attr] or [attr=value]\n let bracketContent = null;\n let withoutBrackets = part;\n\n const bracketMatch = part.match(/^([^\\[]+)(\\[[^\\]]*\\])(.*)$/);\n if (bracketMatch) {\n withoutBrackets = bracketMatch[1] + bracketMatch[3];\n if (bracketMatch[2]) {\n const content = bracketMatch[2].slice(1, -1);\n if (content) {\n bracketContent = content;\n }\n }\n }\n\n // Step 2: Check for namespace (double colon ::)\n let namespace = undefined;\n let tagAndPosition = withoutBrackets;\n\n if (withoutBrackets.includes('::')) {\n const nsIndex = withoutBrackets.indexOf('::');\n namespace = withoutBrackets.substring(0, nsIndex).trim();\n tagAndPosition = withoutBrackets.substring(nsIndex + 2).trim(); // Skip ::\n\n if (!namespace) {\n throw new Error(`Invalid namespace in pattern: ${part}`);\n }\n }\n\n // Step 3: Parse tag and position (single colon :)\n let tag = undefined;\n let positionMatch = null;\n\n if (tagAndPosition.includes(':')) {\n const colonIndex = tagAndPosition.lastIndexOf(':'); // Use last colon for position\n const tagPart = tagAndPosition.substring(0, colonIndex).trim();\n const posPart = tagAndPosition.substring(colonIndex + 1).trim();\n\n // Verify position is a valid keyword\n const isPositionKeyword = ['first', 'last', 'odd', 'even'].includes(posPart) ||\n /^nth\\(\\d+\\)$/.test(posPart);\n\n if (isPositionKeyword) {\n tag = tagPart;\n positionMatch = posPart;\n } else {\n // Not a valid position keyword, treat whole thing as tag\n tag = tagAndPosition;\n }\n } else {\n tag = tagAndPosition;\n }\n\n if (!tag) {\n throw new Error(`Invalid segment pattern: ${part}`);\n }\n\n segment.tag = tag;\n if (namespace) {\n segment.namespace = namespace;\n }\n\n // Step 4: Parse attributes\n if (bracketContent) {\n if (bracketContent.includes('=')) {\n const eqIndex = bracketContent.indexOf('=');\n segment.attrName = bracketContent.substring(0, eqIndex).trim();\n segment.attrValue = bracketContent.substring(eqIndex + 1).trim();\n } else {\n segment.attrName = bracketContent.trim();\n }\n }\n\n // Step 5: Parse position selector\n if (positionMatch) {\n const nthMatch = positionMatch.match(/^nth\\((\\d+)\\)$/);\n if (nthMatch) {\n segment.position = 'nth';\n segment.positionValue = parseInt(nthMatch[1], 10);\n } else {\n segment.position = positionMatch;\n }\n }\n\n return segment;\n }\n\n /**\n * Get the number of segments\n * @returns {number}\n */\n get length() {\n return this.segments.length;\n }\n\n /**\n * Check if expression contains deep wildcard\n * @returns {boolean}\n */\n hasDeepWildcard() {\n return this._hasDeepWildcard;\n }\n\n /**\n * Check if expression has attribute conditions\n * @returns {boolean}\n */\n hasAttributeCondition() {\n return this._hasAttributeCondition;\n }\n\n /**\n * Check if expression has position selectors\n * @returns {boolean}\n */\n hasPositionSelector() {\n return this._hasPositionSelector;\n }\n\n /**\n * Get string representation\n * @returns {string}\n */\n toString() {\n return this.pattern;\n }\n}","import ExpressionSet from \"./ExpressionSet.js\";\n\n/**\n * MatcherView - A lightweight read-only view over a Matcher's internal state.\n *\n * Created once by Matcher and reused across all callbacks. Holds a direct\n * reference to the parent Matcher so it always reflects current parser state\n * with zero copying or freezing overhead.\n *\n * Users receive this via {@link Matcher#readOnly} or directly from parser\n * callbacks. It exposes all query and matching methods but has no mutation\n * methods — misuse is caught at the TypeScript level rather than at runtime.\n *\n * @example\n * const matcher = new Matcher();\n * const view = matcher.readOnly();\n *\n * matcher.push(\"root\", {});\n * view.getCurrentTag(); // \"root\"\n * view.getDepth(); // 1\n */\nexport class MatcherView {\n /**\n * @param {Matcher} matcher - The parent Matcher instance to read from.\n */\n constructor(matcher) {\n this._matcher = matcher;\n }\n\n /**\n * Get the path separator used by the parent matcher.\n * @returns {string}\n */\n get separator() {\n return this._matcher.separator;\n }\n\n /**\n * Get current tag name.\n * @returns {string|undefined}\n */\n getCurrentTag() {\n const path = this._matcher.path;\n return path.length > 0 ? path[path.length - 1].tag : undefined;\n }\n\n /**\n * Get current namespace.\n * @returns {string|undefined}\n */\n getCurrentNamespace() {\n const path = this._matcher.path;\n return path.length > 0 ? path[path.length - 1].namespace : undefined;\n }\n\n /**\n * Get current node's attribute value.\n * @param {string} attrName\n * @returns {*}\n */\n getAttrValue(attrName) {\n const path = this._matcher.path;\n if (path.length === 0) return undefined;\n return path[path.length - 1].values?.[attrName];\n }\n\n /**\n * Check if current node has an attribute.\n * @param {string} attrName\n * @returns {boolean}\n */\n hasAttr(attrName) {\n const path = this._matcher.path;\n if (path.length === 0) return false;\n const current = path[path.length - 1];\n return current.values !== undefined && attrName in current.values;\n }\n\n /**\n * Get current node's sibling position (child index in parent).\n * @returns {number}\n */\n getPosition() {\n const path = this._matcher.path;\n if (path.length === 0) return -1;\n return path[path.length - 1].position ?? 0;\n }\n\n /**\n * Get current node's repeat counter (occurrence count of this tag name).\n * @returns {number}\n */\n getCounter() {\n const path = this._matcher.path;\n if (path.length === 0) return -1;\n return path[path.length - 1].counter ?? 0;\n }\n\n /**\n * Get current node's sibling index (alias for getPosition).\n * @returns {number}\n * @deprecated Use getPosition() or getCounter() instead\n */\n getIndex() {\n return this.getPosition();\n }\n\n /**\n * Get current path depth.\n * @returns {number}\n */\n getDepth() {\n return this._matcher.path.length;\n }\n\n /**\n * Get path as string.\n * @param {string} [separator] - Optional separator (uses default if not provided)\n * @param {boolean} [includeNamespace=true]\n * @returns {string}\n */\n toString(separator, includeNamespace = true) {\n return this._matcher.toString(separator, includeNamespace);\n }\n\n /**\n * Get path as array of tag names.\n * @returns {string[]}\n */\n toArray() {\n return this._matcher.path.map(n => n.tag);\n }\n\n /**\n * Match current path against an Expression.\n * @param {Expression} expression\n * @returns {boolean}\n */\n matches(expression) {\n return this._matcher.matches(expression);\n }\n\n /**\n * Match any expression in the given set against the current path.\n * @param {ExpressionSet} exprSet\n * @returns {boolean}\n */\n matchesAny(exprSet) {\n return exprSet.matchesAny(this._matcher);\n }\n}\n\n/**\n * Matcher - Tracks current path in XML/JSON tree and matches against Expressions.\n *\n * The matcher maintains a stack of nodes representing the current path from root to\n * current tag. It only stores attribute values for the current (top) node to minimize\n * memory usage. Sibling tracking is used to auto-calculate position and counter.\n *\n * Use {@link Matcher#readOnly} to obtain a {@link MatcherView} safe to pass to\n * user callbacks — it always reflects current state with no Proxy overhead.\n *\n * @example\n * const matcher = new Matcher();\n * matcher.push(\"root\", {});\n * matcher.push(\"users\", {});\n * matcher.push(\"user\", { id: \"123\", type: \"admin\" });\n *\n * const expr = new Expression(\"root.users.user\");\n * matcher.matches(expr); // true\n */\nexport default class Matcher {\n /**\n * Create a new Matcher.\n * @param {Object} [options={}]\n * @param {string} [options.separator='.'] - Default path separator\n */\n constructor(options = {}) {\n this.separator = options.separator || '.';\n this.path = [];\n this.siblingStacks = [];\n // Each path node: { tag, values, position, counter, namespace? }\n // values only present for current (last) node\n // Each siblingStacks entry: Map<tagName, count> tracking occurrences at each level\n this._pathStringCache = null;\n this._view = new MatcherView(this);\n }\n\n /**\n * Push a new tag onto the path.\n * @param {string} tagName\n * @param {Object|null} [attrValues=null]\n * @param {string|null} [namespace=null]\n */\n push(tagName, attrValues = null, namespace = null) {\n this._pathStringCache = null;\n\n // Remove values from previous current node (now becoming ancestor)\n if (this.path.length > 0) {\n this.path[this.path.length - 1].values = undefined;\n }\n\n // Get or create sibling tracking for current level\n const currentLevel = this.path.length;\n if (!this.siblingStacks[currentLevel]) {\n this.siblingStacks[currentLevel] = new Map();\n }\n\n const siblings = this.siblingStacks[currentLevel];\n\n // Create a unique key for sibling tracking that includes namespace\n const siblingKey = namespace ? `${namespace}:${tagName}` : tagName;\n\n // Calculate counter (how many times this tag appeared at this level)\n const counter = siblings.get(siblingKey) || 0;\n\n // Calculate position (total children at this level so far)\n let position = 0;\n for (const count of siblings.values()) {\n position += count;\n }\n\n // Update sibling count for this tag\n siblings.set(siblingKey, counter + 1);\n\n // Create new node\n const node = {\n tag: tagName,\n position: position,\n counter: counter\n };\n\n if (namespace !== null && namespace !== undefined) {\n node.namespace = namespace;\n }\n\n if (attrValues !== null && attrValues !== undefined) {\n node.values = attrValues;\n }\n\n this.path.push(node);\n }\n\n /**\n * Pop the last tag from the path.\n * @returns {Object|undefined} The popped node\n */\n pop() {\n if (this.path.length === 0) return undefined;\n this._pathStringCache = null;\n\n const node = this.path.pop();\n\n if (this.siblingStacks.length > this.path.length + 1) {\n this.siblingStacks.length = this.path.length + 1;\n }\n\n return node;\n }\n\n /**\n * Update current node's attribute values.\n * Useful when attributes are parsed after push.\n * @param {Object} attrValues\n */\n updateCurrent(attrValues) {\n if (this.path.length > 0) {\n const current = this.path[this.path.length - 1];\n if (attrValues !== null && attrValues !== undefined) {\n current.values = attrValues;\n }\n }\n }\n\n /**\n * Get current tag name.\n * @returns {string|undefined}\n */\n getCurrentTag() {\n return this.path.length > 0 ? this.path[this.path.length - 1].tag : undefined;\n }\n\n /**\n * Get current namespace.\n * @returns {string|undefined}\n */\n getCurrentNamespace() {\n return this.path.length > 0 ? this.path[this.path.length - 1].namespace : undefined;\n }\n\n /**\n * Get current node's attribute value.\n * @param {string} attrName\n * @returns {*}\n */\n getAttrValue(attrName) {\n if (this.path.length === 0) return undefined;\n return this.path[this.path.length - 1].values?.[attrName];\n }\n\n /**\n * Check if current node has an attribute.\n * @param {string} attrName\n * @returns {boolean}\n */\n hasAttr(attrName) {\n if (this.path.length === 0) return false;\n const current = this.path[this.path.length - 1];\n return current.values !== undefined && attrName in current.values;\n }\n\n /**\n * Get current node's sibling position (child index in parent).\n * @returns {number}\n */\n getPosition() {\n if (this.path.length === 0) return -1;\n return this.path[this.path.length - 1].position ?? 0;\n }\n\n /**\n * Get current node's repeat counter (occurrence count of this tag name).\n * @returns {number}\n */\n getCounter() {\n if (this.path.length === 0) return -1;\n return this.path[this.path.length - 1].counter ?? 0;\n }\n\n /**\n * Get current node's sibling index (alias for getPosition).\n * @returns {number}\n * @deprecated Use getPosition() or getCounter() instead\n */\n getIndex() {\n return this.getPosition();\n }\n\n /**\n * Get current path depth.\n * @returns {number}\n */\n getDepth() {\n return this.path.length;\n }\n\n /**\n * Get path as string.\n * @param {string} [separator] - Optional separator (uses default if not provided)\n * @param {boolean} [includeNamespace=true]\n * @returns {string}\n */\n toString(separator, includeNamespace = true) {\n const sep = separator || this.separator;\n const isDefault = (sep === this.separator && includeNamespace === true);\n\n if (isDefault) {\n if (this._pathStringCache !== null) {\n return this._pathStringCache;\n }\n const result = this.path.map(n =>\n (n.namespace) ? `${n.namespace}:${n.tag}` : n.tag\n ).join(sep);\n this._pathStringCache = result;\n return result;\n }\n\n return this.path.map(n =>\n (includeNamespace && n.namespace) ? `${n.namespace}:${n.tag}` : n.tag\n ).join(sep);\n }\n\n /**\n * Get path as array of tag names.\n * @returns {string[]}\n */\n toArray() {\n return this.path.map(n => n.tag);\n }\n\n /**\n * Reset the path to empty.\n */\n reset() {\n this._pathStringCache = null;\n this.path = [];\n this.siblingStacks = [];\n }\n\n /**\n * Match current path against an Expression.\n * @param {Expression} expression\n * @returns {boolean}\n */\n matches(expression) {\n const segments = expression.segments;\n\n if (segments.length === 0) {\n return false;\n }\n\n if (expression.hasDeepWildcard()) {\n return this._matchWithDeepWildcard(segments);\n }\n\n return this._matchSimple(segments);\n }\n\n /**\n * @private\n */\n _matchSimple(segments) {\n if (this.path.length !== segments.length) {\n return false;\n }\n\n for (let i = 0; i < segments.length; i++) {\n if (!this._matchSegment(segments[i], this.path[i], i === this.path.length - 1)) {\n return false;\n }\n }\n\n return true;\n }\n\n /**\n * @private\n */\n _matchWithDeepWildcard(segments) {\n let pathIdx = this.path.length - 1;\n let segIdx = segments.length - 1;\n\n while (segIdx >= 0 && pathIdx >= 0) {\n const segment = segments[segIdx];\n\n if (segment.type === 'deep-wildcard') {\n segIdx--;\n\n if (segIdx < 0) {\n return true;\n }\n\n const nextSeg = segments[segIdx];\n let found = false;\n\n for (let i = pathIdx; i >= 0; i--) {\n if (this._matchSegment(nextSeg, this.path[i], i === this.path.length - 1)) {\n pathIdx = i - 1;\n segIdx--;\n found = true;\n break;\n }\n }\n\n if (!found) {\n return false;\n }\n } else {\n if (!this._matchSegment(segment, this.path[pathIdx], pathIdx === this.path.length - 1)) {\n return false;\n }\n pathIdx--;\n segIdx--;\n }\n }\n\n return segIdx < 0;\n }\n\n /**\n * @private\n */\n _matchSegment(segment, node, isCurrentNode) {\n if (segment.tag !== '*' && segment.tag !== node.tag) {\n return false;\n }\n\n if (segment.namespace !== undefined) {\n if (segment.namespace !== '*' && segment.namespace !== node.namespace) {\n return false;\n }\n }\n\n if (segment.attrName !== undefined) {\n if (!isCurrentNode) {\n return false;\n }\n\n if (!node.values || !(segment.attrName in node.values)) {\n return false;\n }\n\n if (segment.attrValue !== undefined) {\n if (String(node.values[segment.attrName]) !== String(segment.attrValue)) {\n return false;\n }\n }\n }\n\n if (segment.position !== undefined) {\n if (!isCurrentNode) {\n return false;\n }\n\n const counter = node.counter ?? 0;\n\n if (segment.position === 'first' && counter !== 0) {\n return false;\n } else if (segment.position === 'odd' && counter % 2 !== 1) {\n return false;\n } else if (segment.position === 'even' && counter % 2 !== 0) {\n return false;\n } else if (segment.position === 'nth' && counter !== segment.positionValue) {\n return false;\n }\n }\n\n return true;\n }\n\n /**\n * Match any expression in the given set against the current path.\n * @param {ExpressionSet} exprSet\n * @returns {boolean}\n */\n matchesAny(exprSet) {\n return exprSet.matchesAny(this);\n }\n\n /**\n * Create a snapshot of current state.\n * @returns {Object}\n */\n snapshot() {\n return {\n path: this.path.map(node => ({ ...node })),\n siblingStacks: this.siblingStacks.map(map => new Map(map))\n };\n }\n\n /**\n * Restore state from snapshot.\n * @param {Object} snapshot\n */\n restore(snapshot) {\n this._pathStringCache = null;\n this.path = snapshot.path.map(node => ({ ...node }));\n this.siblingStacks = snapshot.siblingStacks.map(map => new Map(map));\n }\n\n /**\n * Return the read-only {@link MatcherView} for this matcher.\n *\n * The same instance is returned on every call — no allocation occurs.\n * It always reflects the current parser state and is safe to pass to\n * user callbacks without risk of accidental mutation.\n *\n * @returns {MatcherView}\n *\n * @example\n * const view = matcher.readOnly();\n * // pass view to callbacks — it stays in sync automatically\n * view.matches(expr); // ✓\n * view.getCurrentTag(); // ✓\n * // view.push(...) // ✗ method does not exist — caught by TypeScript\n */\n readOnly() {\n return this._view;\n }\n}","/**\n * ExpressionSet - An indexed collection of Expressions for efficient bulk matching\n *\n * Instead of iterating all expressions on every tag, ExpressionSet pre-indexes\n * them at insertion time by depth and terminal tag name. At match time, only\n * the relevant bucket is evaluated — typically reducing checks from O(E) to O(1)\n * lookup plus O(small bucket) matches.\n *\n * Three buckets are maintained:\n * - `_byDepthAndTag` — exact depth + exact tag name (tightest, used first)\n * - `_wildcardByDepth` — exact depth + wildcard tag `*` (depth-matched only)\n * - `_deepWildcards` — expressions containing `..` (cannot be depth-indexed)\n *\n * @example\n * import { Expression, ExpressionSet } from 'fast-xml-tagger';\n *\n * // Build once at config time\n * const stopNodes = new ExpressionSet();\n * stopNodes.add(new Expression('root.users.user'));\n * stopNodes.add(new Expression('root.config.setting'));\n * stopNodes.add(new Expression('..script'));\n *\n * // Query on every tag — hot path\n * if (stopNodes.matchesAny(matcher)) { ... }\n */\nexport default class ExpressionSet {\n constructor() {\n /** @type {Map<string, import('./Expression.js').default[]>} depth:tag → expressions */\n this._byDepthAndTag = new Map();\n\n /** @type {Map<number, import('./Expression.js').default[]>} depth → wildcard-tag expressions */\n this._wildcardByDepth = new Map();\n\n /** @type {import('./Expression.js').default[]} expressions containing deep wildcard (..) */\n this._deepWildcards = [];\n\n /** @type {Set<string>} pattern strings already added — used for deduplication */\n this._patterns = new Set();\n\n /** @type {boolean} whether the set is sealed against further additions */\n this._sealed = false;\n }\n\n /**\n * Add an Expression to the set.\n * Duplicate patterns (same pattern string) are silently ignored.\n *\n * @param {import('./Expression.js').default} expression - A pre-constructed Expression instance\n * @returns {this} for chaining\n * @throws {TypeError} if called after seal()\n *\n * @example\n * set.add(new Expression('root.users.user'));\n * set.add(new Expression('..script'));\n */\n add(expression) {\n if (this._sealed) {\n throw new TypeError(\n 'ExpressionSet is sealed. Create a new ExpressionSet to add more expressions.'\n );\n }\n\n // Deduplicate by pattern string\n if (this._patterns.has(expression.pattern)) return this;\n this._patterns.add(expression.pattern);\n\n if (expression.hasDeepWildcard()) {\n this._deepWildcards.push(expression);\n return this;\n }\n\n const depth = expression.length;\n const lastSeg = expression.segments[expression.segments.length - 1];\n const tag = lastSeg?.tag;\n\n if (!tag || tag === '*') {\n // Can index by depth but not by tag\n if (!this._wildcardByDepth.has(depth)) this._wildcardByDepth.set(depth, []);\n this._wildcardByDepth.get(depth).push(expression);\n } else {\n // Tightest bucket: depth + tag\n const key = `${depth}:${tag}`;\n if (!this._byDepthAndTag.has(key)) this._byDepthAndTag.set(key, []);\n this._byDepthAndTag.get(key).push(expression);\n }\n\n return this;\n }\n\n /**\n * Add multiple expressions at once.\n *\n * @param {import('./Expression.js').default[]} expressions - Array of Expression instances\n * @returns {this} for chaining\n *\n * @example\n * set.addAll([\n * new Expression('root.users.user'),\n * new Expression('root.config.setting'),\n * ]);\n */\n addAll(expressions) {\n for (const expr of expressions) this.add(expr);\n return this;\n }\n\n /**\n * Check whether a pattern string is already present in the set.\n *\n * @param {import('./Expression.js').default} expression\n * @returns {boolean}\n */\n has(expression) {\n return this._patterns.has(expression.pattern);\n }\n\n /**\n * Number of expressions in the set.\n * @type {number}\n */\n get size() {\n return this._patterns.size;\n }\n\n /**\n * Seal the set against further modifications.\n * Useful to prevent accidental mutations after config is built.\n * Calling add() or addAll() on a sealed set throws a TypeError.\n *\n * @returns {this}\n */\n seal() {\n this._sealed = true;\n return this;\n }\n\n /**\n * Whether the set has been sealed.\n * @type {boolean}\n */\n get isSealed() {\n return this._sealed;\n }\n\n /**\n * Test whether the matcher's current path matches any expression in the set.\n *\n * Evaluation order (cheapest → most expensive):\n * 1. Exact depth + tag bucket — O(1) lookup, typically 0–2 expressions\n * 2. Depth-only wildcard bucket — O(1) lookup, rare\n * 3. Deep-wildcard list — always checked, but usually small\n *\n * @param {import('./Matcher.js').default} matcher - Matcher instance (or readOnly view)\n * @returns {boolean} true if any expression matches the current path\n *\n * @example\n * if (stopNodes.matchesAny(matcher)) {\n * // handle stop node\n * }\n */\n matchesAny(matcher) {\n return this.findMatch(matcher) !== null;\n }\n /**\n * Find and return the first Expression that matches the matcher's current path.\n *\n * Uses the same evaluation order as matchesAny (cheapest → most expensive):\n * 1. Exact depth + tag bucket\n * 2. Depth-only wildcard bucket\n * 3. Deep-wildcard list\n *\n * @param {import('./Matcher.js').default} matcher - Matcher instance (or readOnly view)\n * @returns {import('./Expression.js').default | null} the first matching Expression, or null\n *\n * @example\n * const expr = stopNodes.findMatch(matcher);\n * if (expr) {\n * // access expr.config, expr.pattern, etc.\n * }\n */\n findMatch(matcher) {\n const depth = matcher.getDepth();\n const tag = matcher.getCurrentTag();\n\n // 1. Tightest bucket — most expressions live here\n const exactKey = `${depth}:${tag}`;\n const exactBucket = this._byDepthAndTag.get(exactKey);\n if (exactBucket) {\n for (let i = 0; i < exactBucket.length; i++) {\n if (matcher.matches(exactBucket[i])) return exactBucket[i];\n }\n }\n\n // 2. Depth-matched wildcard-tag expressions\n const wildcardBucket = this._wildcardByDepth.get(depth);\n if (wildcardBucket) {\n for (let i = 0; i < wildcardBucket.length; i++) {\n if (matcher.matches(wildcardBucket[i])) return wildcardBucket[i];\n }\n }\n\n // 3. Deep wildcards — cannot be pre-filtered by depth or tag\n for (let i = 0; i < this._deepWildcards.length; i++) {\n if (matcher.matches(this._deepWildcards[i])) return this._deepWildcards[i];\n }\n\n return null;\n }\n}\n","/**\n * fast-xml-tagger - XML/JSON path matching library\n * \n * Provides efficient path tracking and pattern matching for XML/JSON parsers.\n * \n * @example\n * import { Expression, Matcher } from 'fast-xml-tagger';\n * \n * // Create expression (parse once)\n * const expr = new Expression(\"root.users.user[id]\");\n * \n * // Create matcher (track path)\n * const matcher = new Matcher();\n * matcher.push(\"root\", [], {}, 0);\n * matcher.push(\"users\", [], {}, 0);\n * matcher.push(\"user\", [\"id\", \"type\"], { id: \"123\", type: \"admin\" }, 0);\n * \n * // Match\n * if (matcher.matches(expr)) {\n * console.log(\"Match found!\");\n * }\n */\n\nimport Expression from './Expression.js';\nimport Matcher from './Matcher.js';\nimport ExpressionSet from './ExpressionSet.js';\n\nexport { Expression, Matcher, ExpressionSet };\nexport default { Expression, Matcher, ExpressionSet };\n"],"names":["root","factory","exports","module","define","amd","this","__webpack_require__","definition","key","o","Object","defineProperty","enumerable","get","obj","prop","prototype","hasOwnProperty","call","Symbol","toStringTag","value","Expression","constructor","pattern","options","data","separator","segments","_parse","_hasDeepWildcard","some","seg","type","_hasAttributeCondition","undefined","attrName","_hasPositionSelector","position","i","currentPart","length","trim","push","_parseSegment","part","segment","bracketContent","withoutBrackets","bracketMatch","match","content","slice","namespace","tag","tagAndPosition","includes","nsIndex","indexOf","substring","Error","positionMatch","colonIndex","lastIndexOf","tagPart","posPart","test","eqIndex","attrValue","nthMatch","positionValue","parseInt","hasDeepWildcard","hasAttributeCondition","hasPositionSelector","toString","MatcherView","matcher","_matcher","getCurrentTag","path","getCurrentNamespace","getAttrValue","values","hasAttr","current","getPosition","getCounter","counter","getIndex","getDepth","includeNamespace","toArray","map","n","matches","expression","matchesAny","exprSet","Matcher","siblingStacks","_pathStringCache","_view","tagName","attrValues","currentLevel","Map","siblings","siblingKey","count","set","node","pop","updateCurrent","sep","result","join","reset","_matchWithDeepWildcard","_matchSimple","_matchSegment","pathIdx","segIdx","nextSeg","found","isCurrentNode","String","snapshot","restore","readOnly","ExpressionSet","_byDepthAndTag","_wildcardByDepth","_deepWildcards","_patterns","Set","_sealed","add","TypeError","has","depth","lastSeg","addAll","expressions","expr","size","seal","isSealed","findMatch","exactKey","exactBucket","wildcardBucket"],"sourceRoot":""}
1
+ {"version":3,"file":"./lib/pem.min.js","mappings":"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","sources":["webpack://pem/webpack/universalModuleDefinition","webpack://pem/webpack/bootstrap","webpack://pem/webpack/runtime/define property getters","webpack://pem/webpack/runtime/hasOwnProperty shorthand","webpack://pem/webpack/runtime/make namespace object","webpack://pem/./src/Expression.js","webpack://pem/./src/Matcher.js","webpack://pem/./src/ExpressionSet.js","webpack://pem/./src/index.js"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"pem\"] = factory();\n\telse\n\t\troot[\"pem\"] = factory();\n})(this, () => {\nreturn ","// The require scope\nvar __webpack_require__ = {};\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","/**\n * Expression - Parses and stores a tag pattern expression\n * \n * Patterns are parsed once and stored in an optimized structure for fast matching.\n * \n * @example\n * const expr = new Expression(\"root.users.user\");\n * const expr2 = new Expression(\"..user[id]:first\");\n * const expr3 = new Expression(\"root/users/user\", { separator: '/' });\n */\nexport default class Expression {\n /**\n * Create a new Expression\n * @param {string} pattern - Pattern string (e.g., \"root.users.user\", \"..user[id]\")\n * @param {Object} options - Configuration options\n * @param {string} options.separator - Path separator (default: '.')\n */\n constructor(pattern, options = {}, data) {\n this.pattern = pattern;\n this.separator = options.separator || '.';\n this.segments = this._parse(pattern);\n this.data = data;\n // Cache expensive checks for performance (O(1) instead of O(n))\n this._hasDeepWildcard = this.segments.some(seg => seg.type === 'deep-wildcard');\n this._hasAttributeCondition = this.segments.some(seg => seg.attrName !== undefined);\n this._hasPositionSelector = this.segments.some(seg => seg.position !== undefined);\n }\n\n /**\n * Parse pattern string into segments\n * @private\n * @param {string} pattern - Pattern to parse\n * @returns {Array} Array of segment objects\n */\n _parse(pattern) {\n const segments = [];\n\n // Split by separator but handle \"..\" specially\n let i = 0;\n let currentPart = '';\n\n while (i < pattern.length) {\n if (pattern[i] === this.separator) {\n // Check if next char is also separator (deep wildcard)\n if (i + 1 < pattern.length && pattern[i + 1] === this.separator) {\n // Flush current part if any\n if (currentPart.trim()) {\n segments.push(this._parseSegment(currentPart.trim()));\n currentPart = '';\n }\n // Add deep wildcard\n segments.push({ type: 'deep-wildcard' });\n i += 2; // Skip both separators\n } else {\n // Regular separator\n if (currentPart.trim()) {\n segments.push(this._parseSegment(currentPart.trim()));\n }\n currentPart = '';\n i++;\n }\n } else {\n currentPart += pattern[i];\n i++;\n }\n }\n\n // Flush remaining part\n if (currentPart.trim()) {\n segments.push(this._parseSegment(currentPart.trim()));\n }\n\n return segments;\n }\n\n /**\n * Parse a single segment\n * @private\n * @param {string} part - Segment string (e.g., \"user\", \"ns::user\", \"user[id]\", \"ns::user:first\")\n * @returns {Object} Segment object\n */\n _parseSegment(part) {\n const segment = { type: 'tag' };\n\n // NEW NAMESPACE SYNTAX (v2.0):\n // ============================\n // Namespace uses DOUBLE colon (::)\n // Position uses SINGLE colon (:)\n // \n // Examples:\n // \"user\" → tag\n // \"user:first\" → tag + position\n // \"user[id]\" → tag + attribute\n // \"user[id]:first\" → tag + attribute + position\n // \"ns::user\" → namespace + tag\n // \"ns::user:first\" → namespace + tag + position\n // \"ns::user[id]\" → namespace + tag + attribute\n // \"ns::user[id]:first\" → namespace + tag + attribute + position\n // \"ns::first\" → namespace + tag named \"first\" (NO ambiguity!)\n //\n // This eliminates all ambiguity:\n // :: = namespace separator\n // : = position selector\n // [] = attributes\n\n // Step 1: Extract brackets [attr] or [attr=value]\n let bracketContent = null;\n let withoutBrackets = part;\n\n const bracketMatch = part.match(/^([^\\[]+)(\\[[^\\]]*\\])(.*)$/);\n if (bracketMatch) {\n withoutBrackets = bracketMatch[1] + bracketMatch[3];\n if (bracketMatch[2]) {\n const content = bracketMatch[2].slice(1, -1);\n if (content) {\n bracketContent = content;\n }\n }\n }\n\n // Step 2: Check for namespace (double colon ::)\n let namespace = undefined;\n let tagAndPosition = withoutBrackets;\n\n if (withoutBrackets.includes('::')) {\n const nsIndex = withoutBrackets.indexOf('::');\n namespace = withoutBrackets.substring(0, nsIndex).trim();\n tagAndPosition = withoutBrackets.substring(nsIndex + 2).trim(); // Skip ::\n\n if (!namespace) {\n throw new Error(`Invalid namespace in pattern: ${part}`);\n }\n }\n\n // Step 3: Parse tag and position (single colon :)\n let tag = undefined;\n let positionMatch = null;\n\n if (tagAndPosition.includes(':')) {\n const colonIndex = tagAndPosition.lastIndexOf(':'); // Use last colon for position\n const tagPart = tagAndPosition.substring(0, colonIndex).trim();\n const posPart = tagAndPosition.substring(colonIndex + 1).trim();\n\n // Verify position is a valid keyword\n const isPositionKeyword = ['first', 'last', 'odd', 'even'].includes(posPart) ||\n /^nth\\(\\d+\\)$/.test(posPart);\n\n if (isPositionKeyword) {\n tag = tagPart;\n positionMatch = posPart;\n } else {\n // Not a valid position keyword, treat whole thing as tag\n tag = tagAndPosition;\n }\n } else {\n tag = tagAndPosition;\n }\n\n if (!tag) {\n throw new Error(`Invalid segment pattern: ${part}`);\n }\n\n segment.tag = tag;\n if (namespace) {\n segment.namespace = namespace;\n }\n\n // Step 4: Parse attributes\n if (bracketContent) {\n if (bracketContent.includes('=')) {\n const eqIndex = bracketContent.indexOf('=');\n segment.attrName = bracketContent.substring(0, eqIndex).trim();\n segment.attrValue = bracketContent.substring(eqIndex + 1).trim();\n } else {\n segment.attrName = bracketContent.trim();\n }\n }\n\n // Step 5: Parse position selector\n if (positionMatch) {\n const nthMatch = positionMatch.match(/^nth\\((\\d+)\\)$/);\n if (nthMatch) {\n segment.position = 'nth';\n segment.positionValue = parseInt(nthMatch[1], 10);\n } else {\n segment.position = positionMatch;\n }\n }\n\n return segment;\n }\n\n /**\n * Get the number of segments\n * @returns {number}\n */\n get length() {\n return this.segments.length;\n }\n\n /**\n * Check if expression contains deep wildcard\n * @returns {boolean}\n */\n hasDeepWildcard() {\n return this._hasDeepWildcard;\n }\n\n /**\n * Check if expression has attribute conditions\n * @returns {boolean}\n */\n hasAttributeCondition() {\n return this._hasAttributeCondition;\n }\n\n /**\n * Check if expression has position selectors\n * @returns {boolean}\n */\n hasPositionSelector() {\n return this._hasPositionSelector;\n }\n\n /**\n * Get string representation\n * @returns {string}\n */\n toString() {\n return this.pattern;\n }\n}","import ExpressionSet from \"./ExpressionSet.js\";\n\n/**\n * MatcherView - A lightweight read-only view over a Matcher's internal state.\n *\n * Created once by Matcher and reused across all callbacks. Holds a direct\n * reference to the parent Matcher so it always reflects current parser state\n * with zero copying or freezing overhead.\n *\n * Users receive this via {@link Matcher#readOnly} or directly from parser\n * callbacks. It exposes all query and matching methods but has no mutation\n * methods — misuse is caught at the TypeScript level rather than at runtime.\n *\n * @example\n * const matcher = new Matcher();\n * const view = matcher.readOnly();\n *\n * matcher.push(\"root\", {});\n * view.getCurrentTag(); // \"root\"\n * view.getDepth(); // 1\n */\nexport class MatcherView {\n /**\n * @param {Matcher} matcher - The parent Matcher instance to read from.\n */\n constructor(matcher) {\n this._matcher = matcher;\n }\n\n /**\n * Get the path separator used by the parent matcher.\n * @returns {string}\n */\n get separator() {\n return this._matcher.separator;\n }\n\n /**\n * Get current tag name.\n * @returns {string|undefined}\n */\n getCurrentTag() {\n const path = this._matcher.path;\n return path.length > 0 ? path[path.length - 1].tag : undefined;\n }\n\n /**\n * Get current namespace.\n * @returns {string|undefined}\n */\n getCurrentNamespace() {\n const path = this._matcher.path;\n return path.length > 0 ? path[path.length - 1].namespace : undefined;\n }\n\n /**\n * Get current node's attribute value.\n * @param {string} attrName\n * @returns {*}\n */\n getAttrValue(attrName) {\n const path = this._matcher.path;\n if (path.length === 0) return undefined;\n return path[path.length - 1].values?.[attrName];\n }\n\n /**\n * Check if current node has an attribute.\n * @param {string} attrName\n * @returns {boolean}\n */\n hasAttr(attrName) {\n const path = this._matcher.path;\n if (path.length === 0) return false;\n const current = path[path.length - 1];\n return current.values !== undefined && attrName in current.values;\n }\n\n /**\n * Get the value of a \"kept\" attribute from the nearest ancestor (or\n * current node) that declared it via `push(tag, attrs, ns, { keep: [...] })`.\n * @param {string} attrName\n * @returns {*}\n */\n getAnyParentAttr(attrName) {\n return this._matcher.getAnyParentAttr(attrName);\n }\n\n /**\n * Check whether any ancestor (or the current node) kept the given\n * attribute via `push(tag, attrs, ns, { keep: [...] })`.\n * @param {string} attrName\n * @returns {boolean}\n */\n hasAnyParentAttr(attrName) {\n return this._matcher.hasAnyParentAttr(attrName);\n }\n\n /**\n * Get current node's sibling position (child index in parent).\n * @returns {number}\n */\n getPosition() {\n const path = this._matcher.path;\n if (path.length === 0) return -1;\n return path[path.length - 1].position ?? 0;\n }\n\n /**\n * Get current node's repeat counter (occurrence count of this tag name).\n * @returns {number}\n */\n getCounter() {\n const path = this._matcher.path;\n if (path.length === 0) return -1;\n return path[path.length - 1].counter ?? 0;\n }\n\n /**\n * Get current node's sibling index (alias for getPosition).\n * @returns {number}\n * @deprecated Use getPosition() or getCounter() instead\n */\n getIndex() {\n return this.getPosition();\n }\n\n /**\n * Get current path depth.\n * @returns {number}\n */\n getDepth() {\n return this._matcher.path.length;\n }\n\n /**\n * Get path as string.\n * @param {string} [separator] - Optional separator (uses default if not provided)\n * @param {boolean} [includeNamespace=true]\n * @returns {string}\n */\n toString(separator, includeNamespace = true) {\n return this._matcher.toString(separator, includeNamespace);\n }\n\n /**\n * Get path as array of tag names.\n * @returns {string[]}\n */\n toArray() {\n return this._matcher.path.map(n => n.tag);\n }\n\n /**\n * Match current path against an Expression.\n * @param {Expression} expression\n * @returns {boolean}\n */\n matches(expression) {\n return this._matcher.matches(expression);\n }\n\n /**\n * Match any expression in the given set against the current path.\n * @param {ExpressionSet} exprSet\n * @returns {boolean}\n */\n matchesAny(exprSet) {\n return exprSet.matchesAny(this._matcher);\n }\n}\n\n/**\n * Matcher - Tracks current path in XML/JSON tree and matches against Expressions.\n *\n * The matcher maintains a stack of nodes representing the current path from root to\n * current tag. It only stores attribute values for the current (top) node to minimize\n * memory usage. Sibling tracking is used to auto-calculate position and counter.\n *\n * Use {@link Matcher#readOnly} to obtain a {@link MatcherView} safe to pass to\n * user callbacks — it always reflects current state with no Proxy overhead.\n *\n * @example\n * const matcher = new Matcher();\n * matcher.push(\"root\", {});\n * matcher.push(\"users\", {});\n * matcher.push(\"user\", { id: \"123\", type: \"admin\" });\n *\n * const expr = new Expression(\"root.users.user\");\n * matcher.matches(expr); // true\n */\nexport default class Matcher {\n /**\n * Create a new Matcher.\n * @param {Object} [options={}]\n * @param {string} [options.separator='.'] - Default path separator\n */\n constructor(options = {}) {\n this.separator = options.separator || '.';\n this.path = [];\n this.siblingStacks = [];\n // Each path node: { tag, values, position, counter, namespace? }\n // values only present for current (last) node\n // Each siblingStacks entry: Map<tagName, count> tracking occurrences at each level\n this._pathStringCache = null;\n this._view = new MatcherView(this);\n\n // Kept-attribute stack: only populated when push() is called with options.keep.\n this._keptAttrs = [];\n }\n\n /**\n * Push a new tag onto the path.\n * @param {string} tagName\n * @param {Object|null} [attrValues=null]\n * @param {string|null} [namespace=null]\n * @param {Object|null} [options=null]\n * @param {string[]} [options.keep] - Names of attributes (from attrValues)\n */\n push(tagName, attrValues = null, namespace = null, options = null) {\n this._pathStringCache = null;\n\n // Remove values from previous current node (now becoming ancestor)\n if (this.path.length > 0) {\n this.path[this.path.length - 1].values = undefined;\n }\n\n // Get or create sibling tracking for current level\n const currentLevel = this.path.length;\n let level = this.siblingStacks[currentLevel];\n if (!level) {\n // `counts` tells same-name siblings apart (the \"counter\" — nth <item>\n // among other <item>s). `total` is every child seen at this level so\n // far, kept as a running number instead of re-added from `counts` on\n // every push — a parent with many differently-named children would\n // otherwise cost more per child the more distinct names it has.\n level = { counts: new Map(), total: 0 };\n this.siblingStacks[currentLevel] = level;\n }\n\n // Create a unique key for sibling tracking that includes namespace\n const siblingKey = namespace ? `${namespace}:${tagName}` : tagName;\n\n // Calculate counter (how many times this tag appeared at this level)\n const counter = level.counts.get(siblingKey) || 0;\n\n // Position = total children at this level seen before this one.\n const position = level.total;\n\n // Update sibling count for this tag, and the level's running total.\n level.counts.set(siblingKey, counter + 1);\n level.total++;\n\n // Create new node\n const node = {\n tag: tagName,\n position: position,\n counter: counter\n };\n\n if (namespace !== null && namespace !== undefined) {\n node.namespace = namespace;\n }\n\n if (attrValues !== null && attrValues !== undefined) {\n node.values = attrValues;\n }\n\n this.path.push(node);\n\n // Depth of the node we just pushed (1-based, matches this.path.length)\n const depth = this.path.length;\n\n // Copy only the requested attributes into the kept-attrs stack. This is\n // the one part of push() whose cost scales with input (O(keep.length))\n // rather than being O(1) — by design, since the caller is explicitly\n // opting in for specific attribute names. No options/keep => zero added\n // cost beyond the two property reads below.\n const keep = options !== null ? options.keep : null;\n if (keep !== null && keep !== undefined && keep.length > 0 && attrValues) {\n for (let i = 0; i < keep.length; i++) {\n const name = keep[i];\n if (attrValues[name] !== undefined) {\n this._keptAttrs.push({ depth, name, value: attrValues[name] });\n }\n }\n }\n }\n\n /**\n * Pop the last tag from the path.\n * @returns {Object|undefined} The popped node\n */\n pop() {\n if (this.path.length === 0) return undefined;\n this._pathStringCache = null;\n\n const node = this.path.pop();\n\n if (this.siblingStacks.length > this.path.length + 1) {\n this.siblingStacks.length = this.path.length + 1;\n }\n\n // Drop any kept attributes that belonged to the popped node (or deeper).\n // _keptAttrs is depth-ordered (push only ever appends increasing depths),\n // so this is a backward scan that stops at the first surviving entry —\n // typically O(1) since kept attrs are rare by design.\n const poppedDepth = this.path.length + 1;\n while (\n this._keptAttrs.length > 0 &&\n this._keptAttrs[this._keptAttrs.length - 1].depth >= poppedDepth\n ) {\n this._keptAttrs.pop();\n }\n\n return node;\n }\n\n /**\n * Update current node's attribute values.\n * Useful when attributes are parsed after push.\n * @param {Object} attrValues\n */\n updateCurrent(attrValues) {\n if (this.path.length > 0) {\n const current = this.path[this.path.length - 1];\n if (attrValues !== null && attrValues !== undefined) {\n current.values = attrValues;\n }\n }\n }\n\n /**\n * Get current tag name.\n * @returns {string|undefined}\n */\n getCurrentTag() {\n return this.path.length > 0 ? this.path[this.path.length - 1].tag : undefined;\n }\n\n /**\n * Get current namespace.\n * @returns {string|undefined}\n */\n getCurrentNamespace() {\n return this.path.length > 0 ? this.path[this.path.length - 1].namespace : undefined;\n }\n\n /**\n * Get current node's attribute value.\n * @param {string} attrName\n * @returns {*}\n */\n getAttrValue(attrName) {\n if (this.path.length === 0) return undefined;\n return this.path[this.path.length - 1].values?.[attrName];\n }\n\n /**\n * Check if current node has an attribute.\n * @param {string} attrName\n * @returns {boolean}\n */\n hasAttr(attrName) {\n if (this.path.length === 0) return false;\n const current = this.path[this.path.length - 1];\n return current.values !== undefined && attrName in current.values;\n }\n\n /**\n * Get the value of a \"kept\" attribute from the nearest ancestor (or\n * current node) that declared it via `push(tag, attrs, ns, { keep: [...] })`.\n * Unlike getAttrValue(), this works regardless of how deep the path has\n * gone since the attribute was pushed — but only for attribute names that\n * were explicitly marked with `keep` at push time. Cost is proportional to\n * the number of currently-kept attributes (typically 0-3), not path depth.\n * @param {string} attrName\n * @returns {*} the value, or undefined if no ancestor kept this attribute\n */\n getAnyParentAttr(attrName) {\n const kept = this._keptAttrs;\n for (let i = kept.length - 1; i >= 0; i--) {\n if (kept[i].name === attrName) return kept[i].value;\n }\n return undefined;\n }\n\n /**\n * Check whether any ancestor (or the current node) kept the given\n * attribute via `push(tag, attrs, ns, { keep: [...] })`.\n * @param {string} attrName\n * @returns {boolean}\n */\n hasAnyParentAttr(attrName) {\n const kept = this._keptAttrs;\n for (let i = kept.length - 1; i >= 0; i--) {\n if (kept[i].name === attrName) return true;\n }\n return false;\n }\n\n /**\n * Get current node's sibling position (child index in parent).\n * @returns {number}\n */\n getPosition() {\n if (this.path.length === 0) return -1;\n return this.path[this.path.length - 1].position ?? 0;\n }\n\n /**\n * Get current node's repeat counter (occurrence count of this tag name).\n * @returns {number}\n */\n getCounter() {\n if (this.path.length === 0) return -1;\n return this.path[this.path.length - 1].counter ?? 0;\n }\n\n /**\n * Get current node's sibling index (alias for getPosition).\n * @returns {number}\n * @deprecated Use getPosition() or getCounter() instead\n */\n getIndex() {\n return this.getPosition();\n }\n\n /**\n * Get current path depth.\n * @returns {number}\n */\n getDepth() {\n return this.path.length;\n }\n\n /**\n * Get path as string.\n * @param {string} [separator] - Optional separator (uses default if not provided)\n * @param {boolean} [includeNamespace=true]\n * @returns {string}\n */\n toString(separator, includeNamespace = true) {\n const sep = separator || this.separator;\n const isDefault = (sep === this.separator && includeNamespace === true);\n\n if (isDefault) {\n if (this._pathStringCache !== null) {\n return this._pathStringCache;\n }\n const result = this.path.map(n =>\n (n.namespace) ? `${n.namespace}:${n.tag}` : n.tag\n ).join(sep);\n this._pathStringCache = result;\n return result;\n }\n\n return this.path.map(n =>\n (includeNamespace && n.namespace) ? `${n.namespace}:${n.tag}` : n.tag\n ).join(sep);\n }\n\n /**\n * Get path as array of tag names.\n * @returns {string[]}\n */\n toArray() {\n return this.path.map(n => n.tag);\n }\n\n /**\n * Reset the path to empty.\n */\n reset() {\n this._pathStringCache = null;\n this.path = [];\n this.siblingStacks = [];\n this._keptAttrs = [];\n }\n\n /**\n * Match current path against an Expression.\n * @param {Expression} expression\n * @returns {boolean}\n */\n matches(expression) {\n const segments = expression.segments;\n\n if (segments.length === 0) {\n return false;\n }\n\n if (expression.hasDeepWildcard()) {\n return this._matchWithDeepWildcard(segments);\n }\n\n return this._matchSimple(segments);\n }\n\n /**\n * @private\n */\n _matchSimple(segments) {\n if (this.path.length !== segments.length) {\n return false;\n }\n\n for (let i = 0; i < segments.length; i++) {\n if (!this._matchSegment(segments[i], this.path[i], i === this.path.length - 1)) {\n return false;\n }\n }\n\n return true;\n }\n\n /**\n * @private\n */\n _matchWithDeepWildcard(segments) {\n let pathIdx = this.path.length - 1;\n let segIdx = segments.length - 1;\n\n while (segIdx >= 0 && pathIdx >= 0) {\n const segment = segments[segIdx];\n\n if (segment.type === 'deep-wildcard') {\n segIdx--;\n\n if (segIdx < 0) {\n return true;\n }\n\n const nextSeg = segments[segIdx];\n let found = false;\n\n for (let i = pathIdx; i >= 0; i--) {\n if (this._matchSegment(nextSeg, this.path[i], i === this.path.length - 1)) {\n pathIdx = i - 1;\n segIdx--;\n found = true;\n break;\n }\n }\n\n if (!found) {\n return false;\n }\n } else {\n if (!this._matchSegment(segment, this.path[pathIdx], pathIdx === this.path.length - 1)) {\n return false;\n }\n pathIdx--;\n segIdx--;\n }\n }\n\n return segIdx < 0;\n }\n\n /**\n * @private\n */\n _matchSegment(segment, node, isCurrentNode) {\n if (segment.tag !== '*' && segment.tag !== node.tag) {\n return false;\n }\n\n if (segment.namespace !== undefined) {\n if (segment.namespace !== '*' && segment.namespace !== node.namespace) {\n return false;\n }\n }\n\n if (segment.attrName !== undefined) {\n if (!isCurrentNode) {\n return false;\n }\n\n if (!node.values || !(segment.attrName in node.values)) {\n return false;\n }\n\n if (segment.attrValue !== undefined) {\n if (String(node.values[segment.attrName]) !== String(segment.attrValue)) {\n return false;\n }\n }\n }\n\n if (segment.position !== undefined) {\n if (!isCurrentNode) {\n return false;\n }\n\n const counter = node.counter ?? 0;\n\n if (segment.position === 'first' && counter !== 0) {\n return false;\n } else if (segment.position === 'odd' && counter % 2 !== 1) {\n return false;\n } else if (segment.position === 'even' && counter % 2 !== 0) {\n return false;\n } else if (segment.position === 'nth' && counter !== segment.positionValue) {\n return false;\n }\n }\n\n return true;\n }\n\n /**\n * Match any expression in the given set against the current path.\n * @param {ExpressionSet} exprSet\n * @returns {boolean}\n */\n matchesAny(exprSet) {\n return exprSet.matchesAny(this);\n }\n\n /**\n * Create a snapshot of current state.\n * @returns {Object}\n */\n snapshot() {\n return {\n path: this.path.map(node => ({ ...node })),\n siblingStacks: this.siblingStacks.map(level => level ? { counts: new Map(level.counts), total: level.total } : level),\n keptAttrs: this._keptAttrs.map(entry => ({ ...entry }))\n };\n }\n\n /**\n * Restore state from snapshot.\n * @param {Object} snapshot\n */\n restore(snapshot) {\n this._pathStringCache = null;\n this.path = snapshot.path.map(node => ({ ...node }));\n this.siblingStacks = snapshot.siblingStacks.map(level => level ? { counts: new Map(level.counts), total: level.total } : level);\n this._keptAttrs = (snapshot.keptAttrs || []).map(entry => ({ ...entry }));\n }\n\n /**\n * Return the read-only {@link MatcherView} for this matcher.\n *\n * The same instance is returned on every call — no allocation occurs.\n * It always reflects the current parser state and is safe to pass to\n * user callbacks without risk of accidental mutation.\n *\n * @returns {MatcherView}\n *\n * @example\n * const view = matcher.readOnly();\n * // pass view to callbacks — it stays in sync automatically\n * view.matches(expr); // ✓\n * view.getCurrentTag(); // ✓\n * // view.push(...) // ✗ method does not exist — caught by TypeScript\n */\n readOnly() {\n return this._view;\n }\n}\n","/**\n * ExpressionSet - An indexed collection of Expressions for efficient bulk matching\n *\n * Instead of iterating all expressions on every tag, ExpressionSet pre-indexes\n * them at insertion time by depth and terminal tag name. At match time, only\n * the relevant bucket is evaluated — typically reducing checks from O(E) to O(1)\n * lookup plus O(small bucket) matches.\n *\n * Three buckets are maintained:\n * - `_byDepthAndTag` — exact depth + exact tag name (tightest, used first)\n * - `_wildcardByDepth` — exact depth + wildcard tag `*` (depth-matched only)\n * - `_deepWildcards` — expressions containing `..` (cannot be depth-indexed)\n *\n * @example\n * import { Expression, ExpressionSet } from 'fast-xml-tagger';\n *\n * // Build once at config time\n * const stopNodes = new ExpressionSet();\n * stopNodes.add(new Expression('root.users.user'));\n * stopNodes.add(new Expression('root.config.setting'));\n * stopNodes.add(new Expression('..script'));\n *\n * // Query on every tag — hot path\n * if (stopNodes.matchesAny(matcher)) { ... }\n */\nexport default class ExpressionSet {\n constructor() {\n /** @type {Map<string, import('./Expression.js').default[]>} depth:tag → expressions */\n this._byDepthAndTag = new Map();\n\n /** @type {Map<number, import('./Expression.js').default[]>} depth → wildcard-tag expressions */\n this._wildcardByDepth = new Map();\n\n /** @type {import('./Expression.js').default[]} expressions containing deep wildcard (..) */\n this._deepWildcards = [];\n\n /** @type {Map<string, import('./Expression.js').default[]>} terminalTag → deep wildcard expressions */\n this._deepByTerminalTag = new Map();\n\n /** @type {Set<string>} pattern strings already added — used for deduplication */\n this._patterns = new Set();\n\n /** @type {boolean} whether the set is sealed against further additions */\n this._sealed = false;\n }\n\n /**\n * Add an Expression to the set.\n * Duplicate patterns (same pattern string) are silently ignored.\n *\n * @param {import('./Expression.js').default} expression - A pre-constructed Expression instance\n * @returns {this} for chaining\n * @throws {TypeError} if called after seal()\n *\n * @example\n * set.add(new Expression('root.users.user'));\n * set.add(new Expression('..script'));\n */\n add(expression) {\n if (this._sealed) {\n throw new TypeError(\n 'ExpressionSet is sealed. Create a new ExpressionSet to add more expressions.'\n );\n }\n\n // Deduplicate by pattern string\n if (this._patterns.has(expression.pattern)) return this;\n this._patterns.add(expression.pattern);\n\n if (expression.hasDeepWildcard()) {\n const lastSeg = expression.segments[expression.segments.length - 1];\n if (lastSeg && lastSeg.type !== 'deep-wildcard' && lastSeg.tag !== '*') {\n const tag = lastSeg.tag;\n if (!this._deepByTerminalTag.has(tag)) this._deepByTerminalTag.set(tag, []);\n this._deepByTerminalTag.get(tag).push(expression);\n } else {\n this._deepWildcards.push(expression);\n }\n return this;\n }\n\n const depth = expression.length;\n const lastSeg = expression.segments[expression.segments.length - 1];\n const tag = lastSeg?.tag;\n\n if (!tag || tag === '*') {\n // Can index by depth but not by tag\n if (!this._wildcardByDepth.has(depth)) this._wildcardByDepth.set(depth, []);\n this._wildcardByDepth.get(depth).push(expression);\n } else {\n // Tightest bucket: depth + tag\n const key = `${depth}:${tag}`;\n if (!this._byDepthAndTag.has(key)) this._byDepthAndTag.set(key, []);\n this._byDepthAndTag.get(key).push(expression);\n }\n\n return this;\n }\n\n /**\n * Add multiple expressions at once.\n *\n * @param {import('./Expression.js').default[]} expressions - Array of Expression instances\n * @returns {this} for chaining\n *\n * @example\n * set.addAll([\n * new Expression('root.users.user'),\n * new Expression('root.config.setting'),\n * ]);\n */\n addAll(expressions) {\n for (const expr of expressions) this.add(expr);\n return this;\n }\n\n /**\n * Check whether a pattern string is already present in the set.\n *\n * @param {import('./Expression.js').default} expression\n * @returns {boolean}\n */\n has(expression) {\n return this._patterns.has(expression.pattern);\n }\n\n /**\n * Number of expressions in the set.\n * @type {number}\n */\n get size() {\n return this._patterns.size;\n }\n\n /**\n * Seal the set against further modifications.\n * Useful to prevent accidental mutations after config is built.\n * Calling add() or addAll() on a sealed set throws a TypeError.\n *\n * @returns {this}\n */\n seal() {\n this._sealed = true;\n return this;\n }\n\n /**\n * Whether the set has been sealed.\n * @type {boolean}\n */\n get isSealed() {\n return this._sealed;\n }\n\n /**\n * Test whether the matcher's current path matches any expression in the set.\n *\n * Evaluation order (cheapest → most expensive):\n * 1. Exact depth + tag bucket — O(1) lookup, typically 0–2 expressions\n * 2. Depth-only wildcard bucket — O(1) lookup, rare\n * 3. Deep-wildcard list — always checked, but usually small\n *\n * @param {import('./Matcher.js').default} matcher - Matcher instance (or readOnly view)\n * @returns {boolean} true if any expression matches the current path\n *\n * @example\n * if (stopNodes.matchesAny(matcher)) {\n * // handle stop node\n * }\n */\n matchesAny(matcher) {\n return this.findMatch(matcher) !== null;\n }\n /**\n * Find and return the first Expression that matches the matcher's current path.\n *\n * Uses the same evaluation order as matchesAny (cheapest → most expensive):\n * 1. Exact depth + tag bucket\n * 2. Depth-only wildcard bucket\n * 3. Deep-wildcard list\n *\n * @param {import('./Matcher.js').default} matcher - Matcher instance (or readOnly view)\n * @returns {import('./Expression.js').default | null} the first matching Expression, or null\n *\n * @example\n * const expr = stopNodes.findMatch(matcher);\n * if (expr) {\n * // access expr.config, expr.pattern, etc.\n * }\n */\n findMatch(matcher) {\n const depth = matcher.getDepth();\n const tag = matcher.getCurrentTag();\n\n // 1. Tightest bucket — most expressions live here\n const exactKey = `${depth}:${tag}`;\n const exactBucket = this._byDepthAndTag.get(exactKey);\n if (exactBucket) {\n for (let i = 0; i < exactBucket.length; i++) {\n if (matcher.matches(exactBucket[i])) return exactBucket[i];\n }\n }\n\n // 2. Depth-matched wildcard-tag expressions\n const wildcardBucket = this._wildcardByDepth.get(depth);\n if (wildcardBucket) {\n for (let i = 0; i < wildcardBucket.length; i++) {\n if (matcher.matches(wildcardBucket[i])) return wildcardBucket[i];\n }\n }\n\n // 3. Deep wildcards — indexed by terminal tag, then unindexed fallback\n const deepBucket = this._deepByTerminalTag.get(tag);\n if (deepBucket) {\n for (let i = 0; i < deepBucket.length; i++) {\n if (matcher.matches(deepBucket[i])) return deepBucket[i];\n }\n }\n for (let i = 0; i < this._deepWildcards.length; i++) {\n if (matcher.matches(this._deepWildcards[i])) return this._deepWildcards[i];\n }\n\n return null;\n }\n}\n","/**\n * fast-xml-tagger - XML/JSON path matching library\n * \n * Provides efficient path tracking and pattern matching for XML/JSON parsers.\n * \n * @example\n * import { Expression, Matcher } from 'fast-xml-tagger';\n * \n * // Create expression (parse once)\n * const expr = new Expression(\"root.users.user[id]\");\n * \n * // Create matcher (track path)\n * const matcher = new Matcher();\n * matcher.push(\"root\", [], {}, 0);\n * matcher.push(\"users\", [], {}, 0);\n * matcher.push(\"user\", [\"id\", \"type\"], { id: \"123\", type: \"admin\" }, 0);\n * \n * // Match\n * if (matcher.matches(expr)) {\n * console.log(\"Match found!\");\n * }\n */\n\nimport Expression from './Expression.js';\nimport Matcher from './Matcher.js';\nimport { MatcherView } from './Matcher.js';\nimport ExpressionSet from './ExpressionSet.js';\n\nexport { Expression, Matcher, MatcherView, ExpressionSet };\nexport default { Expression, Matcher, MatcherView, ExpressionSet };\n"],"names":["root","factory","exports","module","define","amd","this","__webpack_require__","definition","key","o","Object","defineProperty","enumerable","get","obj","prop","prototype","hasOwnProperty","call","Symbol","toStringTag","value","Expression","constructor","pattern","options","data","separator","segments","_parse","_hasDeepWildcard","some","seg","type","_hasAttributeCondition","undefined","attrName","_hasPositionSelector","position","i","currentPart","length","trim","push","_parseSegment","part","segment","bracketContent","withoutBrackets","bracketMatch","match","content","slice","namespace","tag","tagAndPosition","includes","nsIndex","indexOf","substring","Error","positionMatch","colonIndex","lastIndexOf","tagPart","posPart","test","eqIndex","attrValue","nthMatch","positionValue","parseInt","hasDeepWildcard","hasAttributeCondition","hasPositionSelector","toString","MatcherView","matcher","_matcher","getCurrentTag","path","getCurrentNamespace","getAttrValue","values","hasAttr","current","getAnyParentAttr","hasAnyParentAttr","getPosition","getCounter","counter","getIndex","getDepth","includeNamespace","toArray","map","n","matches","expression","matchesAny","exprSet","Matcher","siblingStacks","_pathStringCache","_view","_keptAttrs","tagName","attrValues","currentLevel","level","counts","Map","total","siblingKey","set","node","depth","keep","name","pop","poppedDepth","updateCurrent","kept","sep","result","join","reset","_matchWithDeepWildcard","_matchSimple","_matchSegment","pathIdx","segIdx","nextSeg","found","isCurrentNode","String","snapshot","keptAttrs","entry","restore","readOnly","ExpressionSet","_byDepthAndTag","_wildcardByDepth","_deepWildcards","_deepByTerminalTag","_patterns","Set","_sealed","add","TypeError","has","lastSeg","addAll","expressions","expr","size","seal","isSealed","findMatch","exactKey","exactBucket","wildcardBucket","deepBucket"],"sourceRoot":""}
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "path-expression-matcher",
3
- "version": "1.5.0",
3
+ "version": "1.6.2",
4
4
  "description": "Efficient path tracking and pattern matching for XML/JSON parsers",
5
5
  "main": "./lib/pem.cjs",
6
6
  "type": "module",
@@ -25,6 +25,7 @@
25
25
  },
26
26
  "keywords": [
27
27
  "xml",
28
+ "html",
28
29
  "json",
29
30
  "yaml",
30
31
  "path",
@@ -34,6 +34,9 @@ export default class ExpressionSet {
34
34
  /** @type {import('./Expression.js').default[]} expressions containing deep wildcard (..) */
35
35
  this._deepWildcards = [];
36
36
 
37
+ /** @type {Map<string, import('./Expression.js').default[]>} terminalTag → deep wildcard expressions */
38
+ this._deepByTerminalTag = new Map();
39
+
37
40
  /** @type {Set<string>} pattern strings already added — used for deduplication */
38
41
  this._patterns = new Set();
39
42
 
@@ -65,7 +68,14 @@ export default class ExpressionSet {
65
68
  this._patterns.add(expression.pattern);
66
69
 
67
70
  if (expression.hasDeepWildcard()) {
68
- this._deepWildcards.push(expression);
71
+ const lastSeg = expression.segments[expression.segments.length - 1];
72
+ if (lastSeg && lastSeg.type !== 'deep-wildcard' && lastSeg.tag !== '*') {
73
+ const tag = lastSeg.tag;
74
+ if (!this._deepByTerminalTag.has(tag)) this._deepByTerminalTag.set(tag, []);
75
+ this._deepByTerminalTag.get(tag).push(expression);
76
+ } else {
77
+ this._deepWildcards.push(expression);
78
+ }
69
79
  return this;
70
80
  }
71
81
 
@@ -199,7 +209,13 @@ export default class ExpressionSet {
199
209
  }
200
210
  }
201
211
 
202
- // 3. Deep wildcards — cannot be pre-filtered by depth or tag
212
+ // 3. Deep wildcards — indexed by terminal tag, then unindexed fallback
213
+ const deepBucket = this._deepByTerminalTag.get(tag);
214
+ if (deepBucket) {
215
+ for (let i = 0; i < deepBucket.length; i++) {
216
+ if (matcher.matches(deepBucket[i])) return deepBucket[i];
217
+ }
218
+ }
203
219
  for (let i = 0; i < this._deepWildcards.length; i++) {
204
220
  if (matcher.matches(this._deepWildcards[i])) return this._deepWildcards[i];
205
221
  }