@cdklabs/cdk-construct-connect-datalake 0.0.13 → 0.0.15

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 (532) hide show
  1. package/.jsii +9 -9
  2. package/lib/index.js +1 -1
  3. package/node_modules/@aws-sdk/client-cloudformation/dist-cjs/auth/httpAuthSchemeProvider.js +9 -15
  4. package/node_modules/@aws-sdk/client-cloudformation/dist-cjs/endpoint/bdd.js +2 -5
  5. package/node_modules/@aws-sdk/client-cloudformation/dist-cjs/endpoint/endpointResolver.js +7 -11
  6. package/node_modules/@aws-sdk/client-cloudformation/dist-cjs/index.js +449 -469
  7. package/node_modules/@aws-sdk/client-cloudformation/dist-cjs/models/CloudFormationServiceException.js +4 -8
  8. package/node_modules/@aws-sdk/client-cloudformation/dist-cjs/models/errors.js +59 -91
  9. package/node_modules/@aws-sdk/client-cloudformation/dist-cjs/runtimeConfig.browser.js +22 -26
  10. package/node_modules/@aws-sdk/client-cloudformation/dist-cjs/runtimeConfig.js +30 -34
  11. package/node_modules/@aws-sdk/client-cloudformation/dist-cjs/runtimeConfig.native.js +4 -7
  12. package/node_modules/@aws-sdk/client-cloudformation/dist-cjs/runtimeConfig.shared.js +20 -24
  13. package/node_modules/@aws-sdk/client-cloudformation/dist-cjs/schemas/schemas_0.js +814 -533
  14. package/node_modules/@aws-sdk/client-cloudformation/package.json +9 -9
  15. package/node_modules/@aws-sdk/client-connect/README.md +14 -0
  16. package/node_modules/@aws-sdk/client-connect/dist-cjs/auth/httpAuthSchemeProvider.js +9 -15
  17. package/node_modules/@aws-sdk/client-connect/dist-cjs/endpoint/bdd.js +2 -5
  18. package/node_modules/@aws-sdk/client-connect/dist-cjs/endpoint/endpointResolver.js +7 -11
  19. package/node_modules/@aws-sdk/client-connect/dist-cjs/index.js +1289 -1256
  20. package/node_modules/@aws-sdk/client-connect/dist-cjs/models/ConnectServiceException.js +4 -8
  21. package/node_modules/@aws-sdk/client-connect/dist-cjs/models/errors.js +57 -88
  22. package/node_modules/@aws-sdk/client-connect/dist-cjs/runtimeConfig.browser.js +22 -26
  23. package/node_modules/@aws-sdk/client-connect/dist-cjs/runtimeConfig.js +30 -34
  24. package/node_modules/@aws-sdk/client-connect/dist-cjs/runtimeConfig.native.js +4 -7
  25. package/node_modules/@aws-sdk/client-connect/dist-cjs/runtimeConfig.shared.js +20 -24
  26. package/node_modules/@aws-sdk/client-connect/dist-cjs/schemas/schemas_0.js +3630 -2290
  27. package/node_modules/@aws-sdk/client-connect/dist-es/Connect.js +4 -0
  28. package/node_modules/@aws-sdk/client-connect/dist-es/commands/GetEvaluationFormValidationCommand.js +16 -0
  29. package/node_modules/@aws-sdk/client-connect/dist-es/commands/StartEvaluationFormValidationCommand.js +16 -0
  30. package/node_modules/@aws-sdk/client-connect/dist-es/commands/index.js +2 -0
  31. package/node_modules/@aws-sdk/client-connect/dist-es/index.js +1 -0
  32. package/node_modules/@aws-sdk/client-connect/dist-es/models/enums.js +20 -0
  33. package/node_modules/@aws-sdk/client-connect/dist-es/models/models_4.js +1 -0
  34. package/node_modules/@aws-sdk/client-connect/dist-es/schemas/schemas_0.js +183 -48
  35. package/node_modules/@aws-sdk/client-connect/dist-types/Connect.d.ts +14 -0
  36. package/node_modules/@aws-sdk/client-connect/dist-types/ConnectClient.d.ts +4 -2
  37. package/node_modules/@aws-sdk/client-connect/dist-types/commands/CreateEvaluationFormCommand.d.ts +65 -1
  38. package/node_modules/@aws-sdk/client-connect/dist-types/commands/CreateViewCommand.d.ts +2 -1
  39. package/node_modules/@aws-sdk/client-connect/dist-types/commands/CreateViewVersionCommand.d.ts +1 -1
  40. package/node_modules/@aws-sdk/client-connect/dist-types/commands/CreateVocabularyCommand.d.ts +1 -2
  41. package/node_modules/@aws-sdk/client-connect/dist-types/commands/DescribeContactCommand.d.ts +1 -1
  42. package/node_modules/@aws-sdk/client-connect/dist-types/commands/DescribeContactEvaluationCommand.d.ts +72 -2
  43. package/node_modules/@aws-sdk/client-connect/dist-types/commands/DescribeEvaluationFormCommand.d.ts +68 -2
  44. package/node_modules/@aws-sdk/client-connect/dist-types/commands/GetEvaluationFormValidationCommand.d.ts +112 -0
  45. package/node_modules/@aws-sdk/client-connect/dist-types/commands/GetMetricDataV2Command.d.ts +1 -2
  46. package/node_modules/@aws-sdk/client-connect/dist-types/commands/ListContactEvaluationsCommand.d.ts +3 -0
  47. package/node_modules/@aws-sdk/client-connect/dist-types/commands/SearchContactEvaluationsCommand.d.ts +37 -0
  48. package/node_modules/@aws-sdk/client-connect/dist-types/commands/SearchContactsCommand.d.ts +1 -1
  49. package/node_modules/@aws-sdk/client-connect/dist-types/commands/SearchEvaluationFormsCommand.d.ts +1 -2
  50. package/node_modules/@aws-sdk/client-connect/dist-types/commands/SearchHoursOfOperationOverridesCommand.d.ts +1 -2
  51. package/node_modules/@aws-sdk/client-connect/dist-types/commands/SearchHoursOfOperationsCommand.d.ts +1 -2
  52. package/node_modules/@aws-sdk/client-connect/dist-types/commands/SearchNotificationsCommand.d.ts +1 -2
  53. package/node_modules/@aws-sdk/client-connect/dist-types/commands/SearchPredefinedAttributesCommand.d.ts +1 -2
  54. package/node_modules/@aws-sdk/client-connect/dist-types/commands/StartEvaluationFormValidationCommand.d.ts +102 -0
  55. package/node_modules/@aws-sdk/client-connect/dist-types/commands/UpdateContactRoutingDataCommand.d.ts +2 -1
  56. package/node_modules/@aws-sdk/client-connect/dist-types/commands/UpdateEvaluationFormCommand.d.ts +67 -2
  57. package/node_modules/@aws-sdk/client-connect/dist-types/commands/index.d.ts +2 -0
  58. package/node_modules/@aws-sdk/client-connect/dist-types/index.d.ts +1 -0
  59. package/node_modules/@aws-sdk/client-connect/dist-types/models/enums.d.ts +60 -0
  60. package/node_modules/@aws-sdk/client-connect/dist-types/models/models_0.d.ts +127 -103
  61. package/node_modules/@aws-sdk/client-connect/dist-types/models/models_1.d.ts +217 -1947
  62. package/node_modules/@aws-sdk/client-connect/dist-types/models/models_2.d.ts +2078 -384
  63. package/node_modules/@aws-sdk/client-connect/dist-types/models/models_3.d.ts +1479 -1769
  64. package/node_modules/@aws-sdk/client-connect/dist-types/models/models_4.d.ts +707 -0
  65. package/node_modules/@aws-sdk/client-connect/dist-types/schemas/schemas_0.d.ts +16 -0
  66. package/node_modules/@aws-sdk/client-connect/dist-types/ts3.4/Connect.d.ts +34 -0
  67. package/node_modules/@aws-sdk/client-connect/dist-types/ts3.4/ConnectClient.d.ts +12 -0
  68. package/node_modules/@aws-sdk/client-connect/dist-types/ts3.4/commands/CreateViewCommand.d.ts +2 -1
  69. package/node_modules/@aws-sdk/client-connect/dist-types/ts3.4/commands/CreateViewVersionCommand.d.ts +1 -1
  70. package/node_modules/@aws-sdk/client-connect/dist-types/ts3.4/commands/CreateVocabularyCommand.d.ts +4 -2
  71. package/node_modules/@aws-sdk/client-connect/dist-types/ts3.4/commands/DescribeContactCommand.d.ts +1 -1
  72. package/node_modules/@aws-sdk/client-connect/dist-types/ts3.4/commands/DescribeContactEvaluationCommand.d.ts +1 -1
  73. package/node_modules/@aws-sdk/client-connect/dist-types/ts3.4/commands/DescribeEvaluationFormCommand.d.ts +1 -1
  74. package/node_modules/@aws-sdk/client-connect/dist-types/ts3.4/commands/GetEvaluationFormValidationCommand.d.ts +53 -0
  75. package/node_modules/@aws-sdk/client-connect/dist-types/ts3.4/commands/GetMetricDataV2Command.d.ts +4 -2
  76. package/node_modules/@aws-sdk/client-connect/dist-types/ts3.4/commands/SearchContactsCommand.d.ts +1 -1
  77. package/node_modules/@aws-sdk/client-connect/dist-types/ts3.4/commands/SearchEvaluationFormsCommand.d.ts +4 -2
  78. package/node_modules/@aws-sdk/client-connect/dist-types/ts3.4/commands/SearchHoursOfOperationOverridesCommand.d.ts +4 -2
  79. package/node_modules/@aws-sdk/client-connect/dist-types/ts3.4/commands/SearchHoursOfOperationsCommand.d.ts +4 -2
  80. package/node_modules/@aws-sdk/client-connect/dist-types/ts3.4/commands/SearchNotificationsCommand.d.ts +4 -2
  81. package/node_modules/@aws-sdk/client-connect/dist-types/ts3.4/commands/SearchPredefinedAttributesCommand.d.ts +4 -2
  82. package/node_modules/@aws-sdk/client-connect/dist-types/ts3.4/commands/StartEvaluationFormValidationCommand.d.ts +53 -0
  83. package/node_modules/@aws-sdk/client-connect/dist-types/ts3.4/commands/UpdateContactRoutingDataCommand.d.ts +2 -4
  84. package/node_modules/@aws-sdk/client-connect/dist-types/ts3.4/commands/UpdateEvaluationFormCommand.d.ts +2 -4
  85. package/node_modules/@aws-sdk/client-connect/dist-types/ts3.4/commands/index.d.ts +2 -0
  86. package/node_modules/@aws-sdk/client-connect/dist-types/ts3.4/index.d.ts +1 -0
  87. package/node_modules/@aws-sdk/client-connect/dist-types/ts3.4/models/enums.d.ts +30 -0
  88. package/node_modules/@aws-sdk/client-connect/dist-types/ts3.4/models/models_0.d.ts +30 -23
  89. package/node_modules/@aws-sdk/client-connect/dist-types/ts3.4/models/models_1.d.ts +50 -45
  90. package/node_modules/@aws-sdk/client-connect/dist-types/ts3.4/models/models_2.d.ts +75 -81
  91. package/node_modules/@aws-sdk/client-connect/dist-types/ts3.4/models/models_3.d.ts +96 -175
  92. package/node_modules/@aws-sdk/client-connect/dist-types/ts3.4/models/models_4.d.ts +197 -0
  93. package/node_modules/@aws-sdk/client-connect/dist-types/ts3.4/schemas/schemas_0.d.ts +16 -0
  94. package/node_modules/@aws-sdk/client-connect/package.json +9 -9
  95. package/node_modules/@aws-sdk/client-glue/README.md +196 -0
  96. package/node_modules/@aws-sdk/client-glue/dist-cjs/auth/httpAuthSchemeProvider.js +9 -15
  97. package/node_modules/@aws-sdk/client-glue/dist-cjs/endpoint/bdd.js +2 -5
  98. package/node_modules/@aws-sdk/client-glue/dist-cjs/endpoint/endpointResolver.js +7 -11
  99. package/node_modules/@aws-sdk/client-glue/dist-cjs/index.js +1323 -911
  100. package/node_modules/@aws-sdk/client-glue/dist-cjs/models/GlueServiceException.js +4 -8
  101. package/node_modules/@aws-sdk/client-glue/dist-cjs/models/errors.js +131 -183
  102. package/node_modules/@aws-sdk/client-glue/dist-cjs/runtimeConfig.browser.js +22 -26
  103. package/node_modules/@aws-sdk/client-glue/dist-cjs/runtimeConfig.js +30 -34
  104. package/node_modules/@aws-sdk/client-glue/dist-cjs/runtimeConfig.native.js +4 -7
  105. package/node_modules/@aws-sdk/client-glue/dist-cjs/runtimeConfig.shared.js +20 -24
  106. package/node_modules/@aws-sdk/client-glue/dist-cjs/schemas/schemas_0.js +3563 -1835
  107. package/node_modules/@aws-sdk/client-glue/dist-es/Glue.js +68 -0
  108. package/node_modules/@aws-sdk/client-glue/dist-es/commands/AssociateGlossaryTermsCommand.js +16 -0
  109. package/node_modules/@aws-sdk/client-glue/dist-es/commands/BatchGetIterableFormsCommand.js +16 -0
  110. package/node_modules/@aws-sdk/client-glue/dist-es/commands/CreateGlossaryCommand.js +16 -0
  111. package/node_modules/@aws-sdk/client-glue/dist-es/commands/CreateGlossaryTermCommand.js +16 -0
  112. package/node_modules/@aws-sdk/client-glue/dist-es/commands/DeleteAssetCommand.js +16 -0
  113. package/node_modules/@aws-sdk/client-glue/dist-es/commands/DeleteAssetTypeCommand.js +16 -0
  114. package/node_modules/@aws-sdk/client-glue/dist-es/commands/DeleteAttachmentCommand.js +16 -0
  115. package/node_modules/@aws-sdk/client-glue/dist-es/commands/DeleteFormTypeCommand.js +16 -0
  116. package/node_modules/@aws-sdk/client-glue/dist-es/commands/DeleteGlossaryCommand.js +16 -0
  117. package/node_modules/@aws-sdk/client-glue/dist-es/commands/DeleteGlossaryTermCommand.js +16 -0
  118. package/node_modules/@aws-sdk/client-glue/dist-es/commands/DisassociateGlossaryTermsCommand.js +16 -0
  119. package/node_modules/@aws-sdk/client-glue/dist-es/commands/GetAssetCommand.js +16 -0
  120. package/node_modules/@aws-sdk/client-glue/dist-es/commands/GetAssetTypeCommand.js +16 -0
  121. package/node_modules/@aws-sdk/client-glue/dist-es/commands/GetFormTypeCommand.js +16 -0
  122. package/node_modules/@aws-sdk/client-glue/dist-es/commands/GetGlossaryCommand.js +16 -0
  123. package/node_modules/@aws-sdk/client-glue/dist-es/commands/GetGlossaryTermCommand.js +16 -0
  124. package/node_modules/@aws-sdk/client-glue/dist-es/commands/ListAssetTypesCommand.js +16 -0
  125. package/node_modules/@aws-sdk/client-glue/dist-es/commands/ListFormTypesCommand.js +16 -0
  126. package/node_modules/@aws-sdk/client-glue/dist-es/commands/ListGlossariesCommand.js +16 -0
  127. package/node_modules/@aws-sdk/client-glue/dist-es/commands/ListGlossaryTermsCommand.js +16 -0
  128. package/node_modules/@aws-sdk/client-glue/dist-es/commands/ListIterableFormsCommand.js +16 -0
  129. package/node_modules/@aws-sdk/client-glue/dist-es/commands/PutAssetCommand.js +16 -0
  130. package/node_modules/@aws-sdk/client-glue/dist-es/commands/PutAssetTypeCommand.js +16 -0
  131. package/node_modules/@aws-sdk/client-glue/dist-es/commands/PutAttachmentCommand.js +16 -0
  132. package/node_modules/@aws-sdk/client-glue/dist-es/commands/PutFormTypeCommand.js +16 -0
  133. package/node_modules/@aws-sdk/client-glue/dist-es/commands/SearchAssetsCommand.js +16 -0
  134. package/node_modules/@aws-sdk/client-glue/dist-es/commands/UpdateGlossaryCommand.js +16 -0
  135. package/node_modules/@aws-sdk/client-glue/dist-es/commands/UpdateGlossaryTermCommand.js +16 -0
  136. package/node_modules/@aws-sdk/client-glue/dist-es/commands/index.js +28 -0
  137. package/node_modules/@aws-sdk/client-glue/dist-es/models/enums.js +18 -4
  138. package/node_modules/@aws-sdk/client-glue/dist-es/models/errors.js +38 -38
  139. package/node_modules/@aws-sdk/client-glue/dist-es/pagination/ListAssetTypesPaginator.js +4 -0
  140. package/node_modules/@aws-sdk/client-glue/dist-es/pagination/ListFormTypesPaginator.js +4 -0
  141. package/node_modules/@aws-sdk/client-glue/dist-es/pagination/ListGlossariesPaginator.js +4 -0
  142. package/node_modules/@aws-sdk/client-glue/dist-es/pagination/ListGlossaryTermsPaginator.js +4 -0
  143. package/node_modules/@aws-sdk/client-glue/dist-es/pagination/ListIterableFormsPaginator.js +4 -0
  144. package/node_modules/@aws-sdk/client-glue/dist-es/pagination/SearchAssetsPaginator.js +4 -0
  145. package/node_modules/@aws-sdk/client-glue/dist-es/pagination/index.js +6 -0
  146. package/node_modules/@aws-sdk/client-glue/dist-es/schemas/schemas_0.js +714 -46
  147. package/node_modules/@aws-sdk/client-glue/dist-types/Glue.d.ts +242 -0
  148. package/node_modules/@aws-sdk/client-glue/dist-types/GlueClient.d.ts +30 -2
  149. package/node_modules/@aws-sdk/client-glue/dist-types/commands/AssociateGlossaryTermsCommand.d.ts +101 -0
  150. package/node_modules/@aws-sdk/client-glue/dist-types/commands/BatchGetIterableFormsCommand.d.ts +122 -0
  151. package/node_modules/@aws-sdk/client-glue/dist-types/commands/CreateCrawlerCommand.d.ts +2 -1
  152. package/node_modules/@aws-sdk/client-glue/dist-types/commands/CreateCustomEntityTypeCommand.d.ts +1 -1
  153. package/node_modules/@aws-sdk/client-glue/dist-types/commands/CreateDatabaseCommand.d.ts +1 -1
  154. package/node_modules/@aws-sdk/client-glue/dist-types/commands/CreateGlossaryCommand.d.ts +98 -0
  155. package/node_modules/@aws-sdk/client-glue/dist-types/commands/CreateGlossaryTermCommand.d.ts +105 -0
  156. package/node_modules/@aws-sdk/client-glue/dist-types/commands/DeleteAssetCommand.d.ts +89 -0
  157. package/node_modules/@aws-sdk/client-glue/dist-types/commands/DeleteAssetTypeCommand.d.ts +89 -0
  158. package/node_modules/@aws-sdk/client-glue/dist-types/commands/DeleteAttachmentCommand.d.ts +97 -0
  159. package/node_modules/@aws-sdk/client-glue/dist-types/commands/DeleteFormTypeCommand.d.ts +92 -0
  160. package/node_modules/@aws-sdk/client-glue/dist-types/commands/DeleteGlossaryCommand.d.ts +92 -0
  161. package/node_modules/@aws-sdk/client-glue/dist-types/commands/DeleteGlossaryTermCommand.d.ts +89 -0
  162. package/node_modules/@aws-sdk/client-glue/dist-types/commands/DisassociateGlossaryTermsCommand.d.ts +101 -0
  163. package/node_modules/@aws-sdk/client-glue/dist-types/commands/GetAssetCommand.d.ts +116 -0
  164. package/node_modules/@aws-sdk/client-glue/dist-types/commands/GetAssetTypeCommand.d.ts +97 -0
  165. package/node_modules/@aws-sdk/client-glue/dist-types/commands/GetDataQualityRulesetEvaluationRunCommand.d.ts +1 -1
  166. package/node_modules/@aws-sdk/client-glue/dist-types/commands/GetDevEndpointCommand.d.ts +1 -1
  167. package/node_modules/@aws-sdk/client-glue/dist-types/commands/GetDevEndpointsCommand.d.ts +1 -1
  168. package/node_modules/@aws-sdk/client-glue/dist-types/commands/GetEntityRecordsCommand.d.ts +1 -1
  169. package/node_modules/@aws-sdk/client-glue/dist-types/commands/GetFormTypeCommand.d.ts +93 -0
  170. package/node_modules/@aws-sdk/client-glue/dist-types/commands/GetGlossaryCommand.d.ts +90 -0
  171. package/node_modules/@aws-sdk/client-glue/dist-types/commands/GetGlossaryTermCommand.d.ts +92 -0
  172. package/node_modules/@aws-sdk/client-glue/dist-types/commands/GetGlueIdentityCenterConfigurationCommand.d.ts +1 -1
  173. package/node_modules/@aws-sdk/client-glue/dist-types/commands/GetIntegrationResourcePropertyCommand.d.ts +1 -1
  174. package/node_modules/@aws-sdk/client-glue/dist-types/commands/GetIntegrationTablePropertiesCommand.d.ts +1 -1
  175. package/node_modules/@aws-sdk/client-glue/dist-types/commands/GetJobBookmarkCommand.d.ts +1 -1
  176. package/node_modules/@aws-sdk/client-glue/dist-types/commands/GetJobCommand.d.ts +1 -1
  177. package/node_modules/@aws-sdk/client-glue/dist-types/commands/GetJobRunCommand.d.ts +1 -1
  178. package/node_modules/@aws-sdk/client-glue/dist-types/commands/GetJobRunsCommand.d.ts +1 -1
  179. package/node_modules/@aws-sdk/client-glue/dist-types/commands/GetJobsCommand.d.ts +1 -1
  180. package/node_modules/@aws-sdk/client-glue/dist-types/commands/GetMappingCommand.d.ts +1 -1
  181. package/node_modules/@aws-sdk/client-glue/dist-types/commands/GetMaterializedViewRefreshTaskRunCommand.d.ts +1 -1
  182. package/node_modules/@aws-sdk/client-glue/dist-types/commands/GetTableCommand.d.ts +121 -0
  183. package/node_modules/@aws-sdk/client-glue/dist-types/commands/GetTableVersionCommand.d.ts +118 -0
  184. package/node_modules/@aws-sdk/client-glue/dist-types/commands/GetTableVersionsCommand.d.ts +118 -0
  185. package/node_modules/@aws-sdk/client-glue/dist-types/commands/GetTablesCommand.d.ts +119 -1
  186. package/node_modules/@aws-sdk/client-glue/dist-types/commands/GetUnfilteredTableMetadataCommand.d.ts +118 -0
  187. package/node_modules/@aws-sdk/client-glue/dist-types/commands/ListAssetTypesCommand.d.ts +95 -0
  188. package/node_modules/@aws-sdk/client-glue/dist-types/commands/ListFormTypesCommand.d.ts +95 -0
  189. package/node_modules/@aws-sdk/client-glue/dist-types/commands/ListGlossariesCommand.d.ts +96 -0
  190. package/node_modules/@aws-sdk/client-glue/dist-types/commands/ListGlossaryTermsCommand.d.ts +97 -0
  191. package/node_modules/@aws-sdk/client-glue/dist-types/commands/ListIterableFormsCommand.d.ts +104 -0
  192. package/node_modules/@aws-sdk/client-glue/dist-types/commands/PutAssetCommand.d.ts +113 -0
  193. package/node_modules/@aws-sdk/client-glue/dist-types/commands/PutAssetTypeCommand.d.ts +103 -0
  194. package/node_modules/@aws-sdk/client-glue/dist-types/commands/PutAttachmentCommand.d.ts +104 -0
  195. package/node_modules/@aws-sdk/client-glue/dist-types/commands/PutFormTypeCommand.d.ts +95 -0
  196. package/node_modules/@aws-sdk/client-glue/dist-types/commands/SearchAssetsCommand.d.ts +149 -0
  197. package/node_modules/@aws-sdk/client-glue/dist-types/commands/SearchTablesCommand.d.ts +118 -0
  198. package/node_modules/@aws-sdk/client-glue/dist-types/commands/StartCrawlerScheduleCommand.d.ts +1 -1
  199. package/node_modules/@aws-sdk/client-glue/dist-types/commands/StartDataQualityRuleRecommendationRunCommand.d.ts +1 -1
  200. package/node_modules/@aws-sdk/client-glue/dist-types/commands/StartDataQualityRulesetEvaluationRunCommand.d.ts +1 -1
  201. package/node_modules/@aws-sdk/client-glue/dist-types/commands/StartExportLabelsTaskRunCommand.d.ts +1 -1
  202. package/node_modules/@aws-sdk/client-glue/dist-types/commands/StartImportLabelsTaskRunCommand.d.ts +1 -1
  203. package/node_modules/@aws-sdk/client-glue/dist-types/commands/StartJobRunCommand.d.ts +1 -1
  204. package/node_modules/@aws-sdk/client-glue/dist-types/commands/StartMLEvaluationTaskRunCommand.d.ts +1 -1
  205. package/node_modules/@aws-sdk/client-glue/dist-types/commands/StartMLLabelingSetGenerationTaskRunCommand.d.ts +1 -1
  206. package/node_modules/@aws-sdk/client-glue/dist-types/commands/StartMaterializedViewRefreshTaskRunCommand.d.ts +1 -1
  207. package/node_modules/@aws-sdk/client-glue/dist-types/commands/StartTriggerCommand.d.ts +1 -1
  208. package/node_modules/@aws-sdk/client-glue/dist-types/commands/StartWorkflowRunCommand.d.ts +1 -1
  209. package/node_modules/@aws-sdk/client-glue/dist-types/commands/StopColumnStatisticsTaskRunCommand.d.ts +1 -1
  210. package/node_modules/@aws-sdk/client-glue/dist-types/commands/StopColumnStatisticsTaskRunScheduleCommand.d.ts +1 -1
  211. package/node_modules/@aws-sdk/client-glue/dist-types/commands/StopCrawlerCommand.d.ts +1 -1
  212. package/node_modules/@aws-sdk/client-glue/dist-types/commands/StopCrawlerScheduleCommand.d.ts +1 -1
  213. package/node_modules/@aws-sdk/client-glue/dist-types/commands/StopMaterializedViewRefreshTaskRunCommand.d.ts +1 -1
  214. package/node_modules/@aws-sdk/client-glue/dist-types/commands/StopSessionCommand.d.ts +1 -1
  215. package/node_modules/@aws-sdk/client-glue/dist-types/commands/StopTriggerCommand.d.ts +1 -1
  216. package/node_modules/@aws-sdk/client-glue/dist-types/commands/StopWorkflowRunCommand.d.ts +1 -1
  217. package/node_modules/@aws-sdk/client-glue/dist-types/commands/TagResourceCommand.d.ts +1 -1
  218. package/node_modules/@aws-sdk/client-glue/dist-types/commands/TestConnectionCommand.d.ts +1 -1
  219. package/node_modules/@aws-sdk/client-glue/dist-types/commands/UntagResourceCommand.d.ts +1 -1
  220. package/node_modules/@aws-sdk/client-glue/dist-types/commands/UpdateBlueprintCommand.d.ts +1 -1
  221. package/node_modules/@aws-sdk/client-glue/dist-types/commands/UpdateCatalogCommand.d.ts +1 -1
  222. package/node_modules/@aws-sdk/client-glue/dist-types/commands/UpdateClassifierCommand.d.ts +1 -1
  223. package/node_modules/@aws-sdk/client-glue/dist-types/commands/UpdateColumnStatisticsForPartitionCommand.d.ts +1 -1
  224. package/node_modules/@aws-sdk/client-glue/dist-types/commands/UpdateColumnStatisticsForTableCommand.d.ts +1 -1
  225. package/node_modules/@aws-sdk/client-glue/dist-types/commands/UpdateColumnStatisticsTaskSettingsCommand.d.ts +1 -1
  226. package/node_modules/@aws-sdk/client-glue/dist-types/commands/UpdateConnectionCommand.d.ts +1 -1
  227. package/node_modules/@aws-sdk/client-glue/dist-types/commands/UpdateCrawlerCommand.d.ts +1 -1
  228. package/node_modules/@aws-sdk/client-glue/dist-types/commands/UpdateCrawlerScheduleCommand.d.ts +1 -1
  229. package/node_modules/@aws-sdk/client-glue/dist-types/commands/UpdateGlossaryCommand.d.ts +102 -0
  230. package/node_modules/@aws-sdk/client-glue/dist-types/commands/UpdateGlossaryTermCommand.d.ts +105 -0
  231. package/node_modules/@aws-sdk/client-glue/dist-types/commands/index.d.ts +28 -0
  232. package/node_modules/@aws-sdk/client-glue/dist-types/models/enums.d.ts +42 -12
  233. package/node_modules/@aws-sdk/client-glue/dist-types/models/errors.d.ts +48 -48
  234. package/node_modules/@aws-sdk/client-glue/dist-types/models/models_0.d.ts +165 -174
  235. package/node_modules/@aws-sdk/client-glue/dist-types/models/models_1.d.ts +565 -755
  236. package/node_modules/@aws-sdk/client-glue/dist-types/models/models_2.d.ts +2418 -2074
  237. package/node_modules/@aws-sdk/client-glue/dist-types/models/models_3.d.ts +1423 -4
  238. package/node_modules/@aws-sdk/client-glue/dist-types/pagination/ListAssetTypesPaginator.d.ts +7 -0
  239. package/node_modules/@aws-sdk/client-glue/dist-types/pagination/ListFormTypesPaginator.d.ts +7 -0
  240. package/node_modules/@aws-sdk/client-glue/dist-types/pagination/ListGlossariesPaginator.d.ts +7 -0
  241. package/node_modules/@aws-sdk/client-glue/dist-types/pagination/ListGlossaryTermsPaginator.d.ts +7 -0
  242. package/node_modules/@aws-sdk/client-glue/dist-types/pagination/ListIterableFormsPaginator.d.ts +7 -0
  243. package/node_modules/@aws-sdk/client-glue/dist-types/pagination/SearchAssetsPaginator.d.ts +7 -0
  244. package/node_modules/@aws-sdk/client-glue/dist-types/pagination/index.d.ts +6 -0
  245. package/node_modules/@aws-sdk/client-glue/dist-types/schemas/schemas_0.d.ts +102 -0
  246. package/node_modules/@aws-sdk/client-glue/dist-types/ts3.4/Glue.d.ts +522 -0
  247. package/node_modules/@aws-sdk/client-glue/dist-types/ts3.4/GlueClient.d.ts +168 -0
  248. package/node_modules/@aws-sdk/client-glue/dist-types/ts3.4/commands/AssociateGlossaryTermsCommand.d.ts +53 -0
  249. package/node_modules/@aws-sdk/client-glue/dist-types/ts3.4/commands/BatchGetIterableFormsCommand.d.ts +53 -0
  250. package/node_modules/@aws-sdk/client-glue/dist-types/ts3.4/commands/CreateCrawlerCommand.d.ts +2 -4
  251. package/node_modules/@aws-sdk/client-glue/dist-types/ts3.4/commands/CreateCustomEntityTypeCommand.d.ts +1 -1
  252. package/node_modules/@aws-sdk/client-glue/dist-types/ts3.4/commands/CreateDatabaseCommand.d.ts +1 -1
  253. package/node_modules/@aws-sdk/client-glue/dist-types/ts3.4/commands/CreateGlossaryCommand.d.ts +52 -0
  254. package/node_modules/@aws-sdk/client-glue/dist-types/ts3.4/commands/CreateGlossaryTermCommand.d.ts +53 -0
  255. package/node_modules/@aws-sdk/client-glue/dist-types/ts3.4/commands/DeleteAssetCommand.d.ts +49 -0
  256. package/node_modules/@aws-sdk/client-glue/dist-types/ts3.4/commands/DeleteAssetTypeCommand.d.ts +52 -0
  257. package/node_modules/@aws-sdk/client-glue/dist-types/ts3.4/commands/DeleteAttachmentCommand.d.ts +52 -0
  258. package/node_modules/@aws-sdk/client-glue/dist-types/ts3.4/commands/DeleteFormTypeCommand.d.ts +52 -0
  259. package/node_modules/@aws-sdk/client-glue/dist-types/ts3.4/commands/DeleteGlossaryCommand.d.ts +52 -0
  260. package/node_modules/@aws-sdk/client-glue/dist-types/ts3.4/commands/DeleteGlossaryTermCommand.d.ts +53 -0
  261. package/node_modules/@aws-sdk/client-glue/dist-types/ts3.4/commands/DisassociateGlossaryTermsCommand.d.ts +53 -0
  262. package/node_modules/@aws-sdk/client-glue/dist-types/ts3.4/commands/GetAssetCommand.d.ts +45 -0
  263. package/node_modules/@aws-sdk/client-glue/dist-types/ts3.4/commands/GetAssetTypeCommand.d.ts +49 -0
  264. package/node_modules/@aws-sdk/client-glue/dist-types/ts3.4/commands/GetDataQualityRulesetEvaluationRunCommand.d.ts +1 -1
  265. package/node_modules/@aws-sdk/client-glue/dist-types/ts3.4/commands/GetDevEndpointCommand.d.ts +1 -1
  266. package/node_modules/@aws-sdk/client-glue/dist-types/ts3.4/commands/GetDevEndpointsCommand.d.ts +1 -1
  267. package/node_modules/@aws-sdk/client-glue/dist-types/ts3.4/commands/GetEntityRecordsCommand.d.ts +1 -1
  268. package/node_modules/@aws-sdk/client-glue/dist-types/ts3.4/commands/GetFormTypeCommand.d.ts +49 -0
  269. package/node_modules/@aws-sdk/client-glue/dist-types/ts3.4/commands/GetGlossaryCommand.d.ts +49 -0
  270. package/node_modules/@aws-sdk/client-glue/dist-types/ts3.4/commands/GetGlossaryTermCommand.d.ts +52 -0
  271. package/node_modules/@aws-sdk/client-glue/dist-types/ts3.4/commands/GetGlueIdentityCenterConfigurationCommand.d.ts +1 -1
  272. package/node_modules/@aws-sdk/client-glue/dist-types/ts3.4/commands/GetIntegrationResourcePropertyCommand.d.ts +1 -1
  273. package/node_modules/@aws-sdk/client-glue/dist-types/ts3.4/commands/GetIntegrationTablePropertiesCommand.d.ts +1 -1
  274. package/node_modules/@aws-sdk/client-glue/dist-types/ts3.4/commands/GetJobBookmarkCommand.d.ts +1 -1
  275. package/node_modules/@aws-sdk/client-glue/dist-types/ts3.4/commands/GetJobCommand.d.ts +1 -1
  276. package/node_modules/@aws-sdk/client-glue/dist-types/ts3.4/commands/GetJobRunCommand.d.ts +1 -1
  277. package/node_modules/@aws-sdk/client-glue/dist-types/ts3.4/commands/GetJobRunsCommand.d.ts +1 -1
  278. package/node_modules/@aws-sdk/client-glue/dist-types/ts3.4/commands/GetJobsCommand.d.ts +1 -1
  279. package/node_modules/@aws-sdk/client-glue/dist-types/ts3.4/commands/GetMappingCommand.d.ts +1 -1
  280. package/node_modules/@aws-sdk/client-glue/dist-types/ts3.4/commands/GetMaterializedViewRefreshTaskRunCommand.d.ts +1 -1
  281. package/node_modules/@aws-sdk/client-glue/dist-types/ts3.4/commands/ListAssetTypesCommand.d.ts +52 -0
  282. package/node_modules/@aws-sdk/client-glue/dist-types/ts3.4/commands/ListFormTypesCommand.d.ts +52 -0
  283. package/node_modules/@aws-sdk/client-glue/dist-types/ts3.4/commands/ListGlossariesCommand.d.ts +52 -0
  284. package/node_modules/@aws-sdk/client-glue/dist-types/ts3.4/commands/ListGlossaryTermsCommand.d.ts +53 -0
  285. package/node_modules/@aws-sdk/client-glue/dist-types/ts3.4/commands/ListIterableFormsCommand.d.ts +53 -0
  286. package/node_modules/@aws-sdk/client-glue/dist-types/ts3.4/commands/PutAssetCommand.d.ts +45 -0
  287. package/node_modules/@aws-sdk/client-glue/dist-types/ts3.4/commands/PutAssetTypeCommand.d.ts +49 -0
  288. package/node_modules/@aws-sdk/client-glue/dist-types/ts3.4/commands/PutAttachmentCommand.d.ts +52 -0
  289. package/node_modules/@aws-sdk/client-glue/dist-types/ts3.4/commands/PutFormTypeCommand.d.ts +49 -0
  290. package/node_modules/@aws-sdk/client-glue/dist-types/ts3.4/commands/SearchAssetsCommand.d.ts +50 -0
  291. package/node_modules/@aws-sdk/client-glue/dist-types/ts3.4/commands/StartCrawlerScheduleCommand.d.ts +1 -1
  292. package/node_modules/@aws-sdk/client-glue/dist-types/ts3.4/commands/StartDataQualityRuleRecommendationRunCommand.d.ts +1 -1
  293. package/node_modules/@aws-sdk/client-glue/dist-types/ts3.4/commands/StartDataQualityRulesetEvaluationRunCommand.d.ts +1 -1
  294. package/node_modules/@aws-sdk/client-glue/dist-types/ts3.4/commands/StartExportLabelsTaskRunCommand.d.ts +1 -1
  295. package/node_modules/@aws-sdk/client-glue/dist-types/ts3.4/commands/StartImportLabelsTaskRunCommand.d.ts +1 -1
  296. package/node_modules/@aws-sdk/client-glue/dist-types/ts3.4/commands/StartJobRunCommand.d.ts +1 -1
  297. package/node_modules/@aws-sdk/client-glue/dist-types/ts3.4/commands/StartMLEvaluationTaskRunCommand.d.ts +1 -1
  298. package/node_modules/@aws-sdk/client-glue/dist-types/ts3.4/commands/StartMLLabelingSetGenerationTaskRunCommand.d.ts +1 -1
  299. package/node_modules/@aws-sdk/client-glue/dist-types/ts3.4/commands/StartMaterializedViewRefreshTaskRunCommand.d.ts +1 -1
  300. package/node_modules/@aws-sdk/client-glue/dist-types/ts3.4/commands/StartTriggerCommand.d.ts +1 -1
  301. package/node_modules/@aws-sdk/client-glue/dist-types/ts3.4/commands/StartWorkflowRunCommand.d.ts +1 -1
  302. package/node_modules/@aws-sdk/client-glue/dist-types/ts3.4/commands/StopColumnStatisticsTaskRunCommand.d.ts +1 -1
  303. package/node_modules/@aws-sdk/client-glue/dist-types/ts3.4/commands/StopColumnStatisticsTaskRunScheduleCommand.d.ts +1 -1
  304. package/node_modules/@aws-sdk/client-glue/dist-types/ts3.4/commands/StopCrawlerCommand.d.ts +1 -1
  305. package/node_modules/@aws-sdk/client-glue/dist-types/ts3.4/commands/StopCrawlerScheduleCommand.d.ts +1 -1
  306. package/node_modules/@aws-sdk/client-glue/dist-types/ts3.4/commands/StopMaterializedViewRefreshTaskRunCommand.d.ts +1 -1
  307. package/node_modules/@aws-sdk/client-glue/dist-types/ts3.4/commands/StopSessionCommand.d.ts +1 -1
  308. package/node_modules/@aws-sdk/client-glue/dist-types/ts3.4/commands/StopTriggerCommand.d.ts +1 -1
  309. package/node_modules/@aws-sdk/client-glue/dist-types/ts3.4/commands/StopWorkflowRunCommand.d.ts +1 -1
  310. package/node_modules/@aws-sdk/client-glue/dist-types/ts3.4/commands/TagResourceCommand.d.ts +1 -1
  311. package/node_modules/@aws-sdk/client-glue/dist-types/ts3.4/commands/TestConnectionCommand.d.ts +1 -1
  312. package/node_modules/@aws-sdk/client-glue/dist-types/ts3.4/commands/UntagResourceCommand.d.ts +1 -1
  313. package/node_modules/@aws-sdk/client-glue/dist-types/ts3.4/commands/UpdateBlueprintCommand.d.ts +1 -1
  314. package/node_modules/@aws-sdk/client-glue/dist-types/ts3.4/commands/UpdateCatalogCommand.d.ts +1 -1
  315. package/node_modules/@aws-sdk/client-glue/dist-types/ts3.4/commands/UpdateClassifierCommand.d.ts +1 -1
  316. package/node_modules/@aws-sdk/client-glue/dist-types/ts3.4/commands/UpdateColumnStatisticsForPartitionCommand.d.ts +1 -1
  317. package/node_modules/@aws-sdk/client-glue/dist-types/ts3.4/commands/UpdateColumnStatisticsForTableCommand.d.ts +1 -1
  318. package/node_modules/@aws-sdk/client-glue/dist-types/ts3.4/commands/UpdateColumnStatisticsTaskSettingsCommand.d.ts +1 -1
  319. package/node_modules/@aws-sdk/client-glue/dist-types/ts3.4/commands/UpdateConnectionCommand.d.ts +1 -1
  320. package/node_modules/@aws-sdk/client-glue/dist-types/ts3.4/commands/UpdateCrawlerCommand.d.ts +1 -1
  321. package/node_modules/@aws-sdk/client-glue/dist-types/ts3.4/commands/UpdateCrawlerScheduleCommand.d.ts +1 -1
  322. package/node_modules/@aws-sdk/client-glue/dist-types/ts3.4/commands/UpdateGlossaryCommand.d.ts +52 -0
  323. package/node_modules/@aws-sdk/client-glue/dist-types/ts3.4/commands/UpdateGlossaryTermCommand.d.ts +53 -0
  324. package/node_modules/@aws-sdk/client-glue/dist-types/ts3.4/commands/index.d.ts +28 -0
  325. package/node_modules/@aws-sdk/client-glue/dist-types/ts3.4/models/enums.d.ts +24 -6
  326. package/node_modules/@aws-sdk/client-glue/dist-types/ts3.4/models/errors.d.ts +26 -26
  327. package/node_modules/@aws-sdk/client-glue/dist-types/ts3.4/models/models_0.d.ts +41 -40
  328. package/node_modules/@aws-sdk/client-glue/dist-types/ts3.4/models/models_1.d.ts +130 -181
  329. package/node_modules/@aws-sdk/client-glue/dist-types/ts3.4/models/models_2.d.ts +414 -294
  330. package/node_modules/@aws-sdk/client-glue/dist-types/ts3.4/models/models_3.d.ts +376 -1
  331. package/node_modules/@aws-sdk/client-glue/dist-types/ts3.4/pagination/ListAssetTypesPaginator.d.ts +11 -0
  332. package/node_modules/@aws-sdk/client-glue/dist-types/ts3.4/pagination/ListFormTypesPaginator.d.ts +11 -0
  333. package/node_modules/@aws-sdk/client-glue/dist-types/ts3.4/pagination/ListGlossariesPaginator.d.ts +11 -0
  334. package/node_modules/@aws-sdk/client-glue/dist-types/ts3.4/pagination/ListGlossaryTermsPaginator.d.ts +11 -0
  335. package/node_modules/@aws-sdk/client-glue/dist-types/ts3.4/pagination/ListIterableFormsPaginator.d.ts +11 -0
  336. package/node_modules/@aws-sdk/client-glue/dist-types/ts3.4/pagination/SearchAssetsPaginator.d.ts +11 -0
  337. package/node_modules/@aws-sdk/client-glue/dist-types/ts3.4/pagination/index.d.ts +6 -0
  338. package/node_modules/@aws-sdk/client-glue/dist-types/ts3.4/schemas/schemas_0.d.ts +102 -0
  339. package/node_modules/@aws-sdk/client-glue/package.json +9 -9
  340. package/node_modules/@aws-sdk/client-lakeformation/dist-cjs/auth/httpAuthSchemeProvider.js +9 -15
  341. package/node_modules/@aws-sdk/client-lakeformation/dist-cjs/endpoint/bdd.js +2 -5
  342. package/node_modules/@aws-sdk/client-lakeformation/dist-cjs/endpoint/endpointResolver.js +7 -11
  343. package/node_modules/@aws-sdk/client-lakeformation/dist-cjs/index.js +236 -256
  344. package/node_modules/@aws-sdk/client-lakeformation/dist-cjs/models/LakeFormationServiceException.js +4 -8
  345. package/node_modules/@aws-sdk/client-lakeformation/dist-cjs/models/errors.js +39 -61
  346. package/node_modules/@aws-sdk/client-lakeformation/dist-cjs/runtimeConfig.browser.js +22 -26
  347. package/node_modules/@aws-sdk/client-lakeformation/dist-cjs/runtimeConfig.js +30 -34
  348. package/node_modules/@aws-sdk/client-lakeformation/dist-cjs/runtimeConfig.native.js +4 -7
  349. package/node_modules/@aws-sdk/client-lakeformation/dist-cjs/runtimeConfig.shared.js +21 -25
  350. package/node_modules/@aws-sdk/client-lakeformation/dist-cjs/schemas/schemas_0.js +544 -356
  351. package/node_modules/@aws-sdk/client-lakeformation/package.json +9 -9
  352. package/node_modules/@aws-sdk/client-ram/dist-cjs/auth/httpAuthSchemeProvider.js +9 -15
  353. package/node_modules/@aws-sdk/client-ram/dist-cjs/endpoint/bdd.js +2 -5
  354. package/node_modules/@aws-sdk/client-ram/dist-cjs/endpoint/endpointResolver.js +7 -11
  355. package/node_modules/@aws-sdk/client-ram/dist-cjs/index.js +159 -179
  356. package/node_modules/@aws-sdk/client-ram/dist-cjs/models/RAMServiceException.js +4 -8
  357. package/node_modules/@aws-sdk/client-ram/dist-cjs/models/errors.js +57 -88
  358. package/node_modules/@aws-sdk/client-ram/dist-cjs/runtimeConfig.browser.js +22 -26
  359. package/node_modules/@aws-sdk/client-ram/dist-cjs/runtimeConfig.js +30 -34
  360. package/node_modules/@aws-sdk/client-ram/dist-cjs/runtimeConfig.native.js +4 -7
  361. package/node_modules/@aws-sdk/client-ram/dist-cjs/runtimeConfig.shared.js +20 -24
  362. package/node_modules/@aws-sdk/client-ram/dist-cjs/schemas/schemas_0.js +318 -210
  363. package/node_modules/@aws-sdk/client-ram/package.json +9 -9
  364. package/node_modules/@aws-sdk/client-sts/dist-cjs/auth/httpAuthSchemeProvider.js +15 -19
  365. package/node_modules/@aws-sdk/client-sts/dist-cjs/endpoint/bdd.js +2 -5
  366. package/node_modules/@aws-sdk/client-sts/dist-cjs/endpoint/endpointResolver.js +7 -11
  367. package/node_modules/@aws-sdk/client-sts/dist-cjs/index.js +77 -97
  368. package/node_modules/@aws-sdk/client-sts/dist-cjs/models/STSServiceException.js +4 -8
  369. package/node_modules/@aws-sdk/client-sts/dist-cjs/models/errors.js +25 -40
  370. package/node_modules/@aws-sdk/client-sts/dist-cjs/runtimeConfig.browser.js +22 -26
  371. package/node_modules/@aws-sdk/client-sts/dist-cjs/runtimeConfig.js +36 -40
  372. package/node_modules/@aws-sdk/client-sts/dist-cjs/runtimeConfig.native.js +4 -7
  373. package/node_modules/@aws-sdk/client-sts/dist-cjs/runtimeConfig.shared.js +25 -29
  374. package/node_modules/@aws-sdk/client-sts/dist-cjs/schemas/schemas_0.js +122 -85
  375. package/node_modules/@aws-sdk/client-sts/package.json +16 -16
  376. package/node_modules/@aws-sdk/core/dist-cjs/index.js +19 -2274
  377. package/node_modules/@aws-sdk/core/dist-cjs/submodules/account-id-endpoint/index.js +2 -4
  378. package/node_modules/@aws-sdk/core/dist-cjs/submodules/client/index.browser.js +297 -23
  379. package/node_modules/@aws-sdk/core/dist-cjs/submodules/client/index.js +327 -52
  380. package/node_modules/@aws-sdk/core/dist-cjs/submodules/client/index.native.js +297 -23
  381. package/node_modules/@aws-sdk/core/dist-cjs/submodules/httpAuthSchemes/index.js +19 -21
  382. package/node_modules/@aws-sdk/core/dist-cjs/submodules/protocols/index.js +107 -109
  383. package/node_modules/@aws-sdk/core/dist-cjs/submodules/util/index.js +2 -4
  384. package/node_modules/@aws-sdk/core/dist-es/index.js +3 -3
  385. package/node_modules/@aws-sdk/core/dist-es/submodules/client/util-endpoints/lib/aws/partitions.js +276 -1
  386. package/node_modules/@aws-sdk/core/dist-types/index.d.ts +5 -5
  387. package/node_modules/@aws-sdk/core/dist-types/ts3.4/index.d.ts +5 -5
  388. package/node_modules/@aws-sdk/core/package.json +12 -12
  389. package/node_modules/@aws-sdk/credential-provider-env/dist-cjs/index.js +4 -6
  390. package/node_modules/@aws-sdk/credential-provider-env/package.json +7 -7
  391. package/node_modules/@aws-sdk/credential-provider-http/dist-cjs/fromHttp/checkUrl.js +3 -7
  392. package/node_modules/@aws-sdk/credential-provider-http/dist-cjs/fromHttp/fromHttp.browser.js +12 -16
  393. package/node_modules/@aws-sdk/credential-provider-http/dist-cjs/fromHttp/fromHttp.js +16 -21
  394. package/node_modules/@aws-sdk/credential-provider-http/dist-cjs/fromHttp/requestHelpers.js +14 -18
  395. package/node_modules/@aws-sdk/credential-provider-http/dist-cjs/fromHttp/retry-wrapper.js +1 -5
  396. package/node_modules/@aws-sdk/credential-provider-http/dist-cjs/index.browser.js +2 -5
  397. package/node_modules/@aws-sdk/credential-provider-http/dist-cjs/index.js +2 -7
  398. package/node_modules/@aws-sdk/credential-provider-http/package.json +9 -8
  399. package/node_modules/@aws-sdk/credential-provider-ini/dist-cjs/index.js +47 -41
  400. package/node_modules/@aws-sdk/credential-provider-ini/dist-es/resolveProcessCredentials.js +8 -4
  401. package/node_modules/@aws-sdk/credential-provider-ini/dist-es/resolveWebIdentityCredentials.js +14 -10
  402. package/node_modules/@aws-sdk/credential-provider-ini/package.json +14 -14
  403. package/node_modules/@aws-sdk/credential-provider-login/dist-cjs/index.js +31 -33
  404. package/node_modules/@aws-sdk/credential-provider-login/package.json +8 -8
  405. package/node_modules/@aws-sdk/credential-provider-node/dist-cjs/index.js +16 -18
  406. package/node_modules/@aws-sdk/credential-provider-node/package.json +12 -12
  407. package/node_modules/@aws-sdk/credential-provider-process/dist-cjs/index.js +11 -13
  408. package/node_modules/@aws-sdk/credential-provider-process/package.json +7 -7
  409. package/node_modules/@aws-sdk/credential-provider-sso/dist-cjs/index.js +26 -25
  410. package/node_modules/@aws-sdk/credential-provider-sso/dist-cjs/loadSso-BGYXHf8s.js +3 -0
  411. package/node_modules/@aws-sdk/credential-provider-sso/dist-es/resolveSSOCredentials.js +4 -1
  412. package/node_modules/@aws-sdk/credential-provider-sso/package.json +12 -10
  413. package/node_modules/@aws-sdk/credential-provider-web-identity/dist-cjs/fromTokenFile.js +10 -14
  414. package/node_modules/@aws-sdk/credential-provider-web-identity/dist-cjs/fromWebToken.js +2 -6
  415. package/node_modules/@aws-sdk/credential-provider-web-identity/dist-cjs/index.js +3 -27
  416. package/node_modules/@aws-sdk/credential-provider-web-identity/package.json +8 -8
  417. package/node_modules/@aws-sdk/nested-clients/dist-cjs/index.js +0 -1
  418. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/cognito-identity/index.js +82 -84
  419. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/signin/index.js +158 -119
  420. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sso/index.js +80 -82
  421. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sso-oidc/index.js +80 -82
  422. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sts/index.js +99 -101
  423. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/commands/CreateOAuth2TokenCommand.js +4 -1
  424. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/endpoint/bdd.js +70 -35
  425. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/endpoint/endpointResolver.js +1 -1
  426. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/models/enums.js +3 -0
  427. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/signin/endpoint/EndpointParameters.d.ts +1 -0
  428. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/signin/models/enums.d.ts +12 -0
  429. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/signin/endpoint/EndpointParameters.d.ts +1 -0
  430. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/signin/models/enums.d.ts +3 -0
  431. package/node_modules/@aws-sdk/nested-clients/package.json +11 -10
  432. package/node_modules/@aws-sdk/signature-v4-multi-region/dist-cjs/index.js +4 -6
  433. package/node_modules/@aws-sdk/signature-v4-multi-region/package.json +9 -8
  434. package/node_modules/@aws-sdk/token-providers/dist-cjs/index.js +26 -28
  435. package/node_modules/@aws-sdk/token-providers/package.json +8 -8
  436. package/node_modules/@aws-sdk/types/dist-cjs/index.js +7 -8
  437. package/node_modules/@aws-sdk/types/package.json +5 -5
  438. package/node_modules/@aws-sdk/util-locate-window/dist-cjs/index.js +0 -2
  439. package/node_modules/@aws-sdk/util-locate-window/package.json +5 -5
  440. package/node_modules/@aws-sdk/xml-builder/dist-cjs/index.js +2 -4
  441. package/node_modules/@aws-sdk/xml-builder/dist-cjs/xml-external/nodable_entities.js +4 -7
  442. package/node_modules/@aws-sdk/xml-builder/dist-cjs/xml-parser.browser.js +2 -5
  443. package/node_modules/@aws-sdk/xml-builder/dist-cjs/xml-parser.js +7 -10
  444. package/node_modules/{strnum → @aws-sdk/xml-builder/node_modules/strnum}/CHANGELOG.md +8 -0
  445. package/node_modules/{strnum → @aws-sdk/xml-builder/node_modules/strnum}/README.md +9 -0
  446. package/node_modules/{strnum → @aws-sdk/xml-builder/node_modules/strnum}/package.json +7 -3
  447. package/node_modules/{strnum → @aws-sdk/xml-builder/node_modules/strnum}/strnum.js +9 -1
  448. package/node_modules/@aws-sdk/xml-builder/package.json +5 -5
  449. package/node_modules/@nodable/entities/package.json +4 -1
  450. package/node_modules/@nodable/entities/src/EntityDecoder.js +104 -3
  451. package/node_modules/@nodable/entities/src/index.d.ts +77 -0
  452. package/node_modules/@nodable/entities/src/index.js +1 -1
  453. package/node_modules/@smithy/core/dist-cjs/index.js +13 -15
  454. package/node_modules/@smithy/core/dist-cjs/submodules/cbor/index.js +543 -398
  455. package/node_modules/@smithy/core/dist-cjs/submodules/checksum/index.browser.js +2 -4
  456. package/node_modules/@smithy/core/dist-cjs/submodules/checksum/index.js +7 -9
  457. package/node_modules/@smithy/core/dist-cjs/submodules/checksum/index.native.js +3 -5
  458. package/node_modules/@smithy/core/dist-cjs/submodules/client/index.js +23 -24
  459. package/node_modules/@smithy/core/dist-cjs/submodules/config/index.browser.js +10 -11
  460. package/node_modules/@smithy/core/dist-cjs/submodules/config/index.js +38 -39
  461. package/node_modules/@smithy/core/dist-cjs/submodules/config/index.native.js +10 -11
  462. package/node_modules/@smithy/core/dist-cjs/submodules/endpoints/index.browser.js +14 -17
  463. package/node_modules/@smithy/core/dist-cjs/submodules/endpoints/index.js +20 -23
  464. package/node_modules/@smithy/core/dist-cjs/submodules/event-streams/index.browser.js +9 -11
  465. package/node_modules/@smithy/core/dist-cjs/submodules/event-streams/index.js +11 -13
  466. package/node_modules/@smithy/core/dist-cjs/submodules/protocols/index.js +68 -61
  467. package/node_modules/@smithy/core/dist-cjs/submodules/retry/index.browser.js +26 -27
  468. package/node_modules/@smithy/core/dist-cjs/submodules/retry/index.js +28 -29
  469. package/node_modules/@smithy/core/dist-cjs/submodules/schema/index.js +5 -7
  470. package/node_modules/@smithy/core/dist-cjs/submodules/serde/index.browser.js +4 -6
  471. package/node_modules/@smithy/core/dist-cjs/submodules/serde/index.js +23 -25
  472. package/node_modules/@smithy/core/dist-cjs/submodules/serde/index.native.js +4 -6
  473. package/node_modules/@smithy/core/dist-cjs/submodules/transport/index.js +2 -4
  474. package/node_modules/@smithy/core/dist-es/legacy-root-exports/middleware-http-auth-scheme/httpAuthSchemeMiddleware.js +1 -1
  475. package/node_modules/@smithy/core/dist-es/legacy-root-exports/middleware-http-signing/httpSigningMiddleware.js +1 -1
  476. package/node_modules/@smithy/core/dist-es/submodules/cbor/SmithyRpcV2CborProtocol.js +1 -1
  477. package/node_modules/@smithy/core/dist-es/submodules/cbor/cbor-decode.js +326 -269
  478. package/node_modules/@smithy/core/dist-es/submodules/cbor/cbor-encode.js +192 -103
  479. package/node_modules/@smithy/core/dist-es/submodules/cbor/cbor.js +4 -2
  480. package/node_modules/@smithy/core/dist-es/submodules/client/smithy-client/get-value-from-text-node.js +1 -1
  481. package/node_modules/@smithy/core/dist-es/submodules/endpoints/middleware-endpoint/endpointMiddleware.js +1 -1
  482. package/node_modules/@smithy/core/dist-es/submodules/protocols/HttpProtocol.js +10 -2
  483. package/node_modules/@smithy/core/dist-es/submodules/retry/middleware-retry/retry-pre-sra-deprecated/StandardRetryStrategy.js +2 -2
  484. package/node_modules/@smithy/core/dist-es/submodules/retry/util-retry/DefaultRateLimiter.js +1 -1
  485. package/node_modules/@smithy/core/dist-types/submodules/cbor/cbor-decode.d.ts +4 -0
  486. package/node_modules/@smithy/core/dist-types/submodules/cbor/cbor-encode.d.ts +8 -4
  487. package/node_modules/@smithy/core/dist-types/submodules/protocols/HttpProtocol.d.ts +6 -0
  488. package/node_modules/@smithy/core/dist-types/submodules/schema/TypeRegistry.d.ts +1 -1
  489. package/node_modules/@smithy/core/package.json +18 -17
  490. package/node_modules/@smithy/credential-provider-imds/dist-cjs/index.js +23 -24
  491. package/node_modules/@smithy/credential-provider-imds/package.json +7 -7
  492. package/node_modules/@smithy/fetch-http-handler/dist-cjs/index.js +6 -8
  493. package/node_modules/@smithy/fetch-http-handler/package.json +10 -10
  494. package/node_modules/@smithy/node-http-handler/dist-cjs/index.js +11 -13
  495. package/node_modules/@smithy/node-http-handler/package.json +8 -8
  496. package/node_modules/@smithy/signature-v4/dist-cjs/index.js +27 -29
  497. package/node_modules/@smithy/signature-v4/package.json +7 -7
  498. package/node_modules/@smithy/types/dist-cjs/index.js +23 -18
  499. package/node_modules/@smithy/types/package.json +10 -10
  500. package/node_modules/anynum/LICENSE +21 -0
  501. package/node_modules/anynum/README.md +142 -0
  502. package/node_modules/anynum/anynum.js +135 -0
  503. package/node_modules/anynum/digitTable.js +116 -0
  504. package/node_modules/anynum/package.json +42 -0
  505. package/node_modules/path-expression-matcher/README.md +82 -7
  506. package/node_modules/path-expression-matcher/lib/pem.cjs +1 -1
  507. package/node_modules/path-expression-matcher/lib/pem.d.cts +83 -2
  508. package/node_modules/path-expression-matcher/lib/pem.min.js +1 -1
  509. package/node_modules/path-expression-matcher/lib/pem.min.js.map +1 -1
  510. package/node_modules/path-expression-matcher/package.json +3 -2
  511. package/node_modules/path-expression-matcher/src/ExpressionSet.js +18 -2
  512. package/node_modules/path-expression-matcher/src/Matcher.js +93 -3
  513. package/node_modules/path-expression-matcher/src/index.d.ts +67 -1
  514. package/node_modules/watchpack/README.md +9 -0
  515. package/node_modules/watchpack/lib/DirectoryWatcher.js +182 -25
  516. package/node_modules/watchpack/lib/index.js +55 -15
  517. package/node_modules/watchpack/lib/reducePlan.js +56 -35
  518. package/node_modules/watchpack/lib/util/globToRegExp.js +142 -0
  519. package/node_modules/watchpack/lib/watchEventSource.js +18 -10
  520. package/node_modules/watchpack/package.json +17 -23
  521. package/node_modules/watchpack/types/DirectoryWatcher.d.ts +2 -0
  522. package/node_modules/watchpack/types/index.d.ts +121 -113
  523. package/node_modules/watchpack/types/util/globToRegExp.d.ts +2 -0
  524. package/node_modules/watchpack/types/watchpack.d.ts +1 -1
  525. package/package.json +11 -11
  526. package/node_modules/@aws-sdk/credential-provider-sso/dist-cjs/loadSso-BKDNrsal.js +0 -8
  527. package/node_modules/glob-to-regexp/.travis.yml +0 -4
  528. package/node_modules/glob-to-regexp/README.md +0 -75
  529. package/node_modules/glob-to-regexp/index.js +0 -130
  530. package/node_modules/glob-to-regexp/package.json +0 -23
  531. package/node_modules/glob-to-regexp/test.js +0 -235
  532. /package/node_modules/{strnum → @aws-sdk/xml-builder/node_modules/strnum}/LICENSE +0 -0
@@ -1,5 +1,9 @@
1
1
  # path-expression-matcher
2
2
 
3
+ [![path-expression-matcher downloads](https://img.shields.io/npm/dw/path-expression-matcher.svg)](https://npm-compare.com/path-expression-matcher)
4
+ [![path-expression-matcher version](https://img.shields.io/npm/v/path-expression-matcher.svg)](https://www.npmjs.com/package/path-expression-matcher)
5
+ [![path-expression-matcher license](https://img.shields.io/npm/l/path-expression-matcher.svg)](https://github.com/NaturalIntelligence/path-expression-matcher)
6
+
3
7
  Efficient path tracking and pattern matching for XML, JSON, YAML or any other parsers.
4
8
 
5
9
  ## 🎯 Purpose
@@ -71,9 +75,10 @@ console.log(matcher.toString()); // "soap:Envelope.soap:Body.ns:UserId"
71
75
  ```javascript
72
76
  "user[id]" // user with "id" attribute
73
77
  "user[type=admin]" // user with type="admin" (current node only)
74
- "root[lang]..user" // user under root that has "lang" attribute
75
78
  ```
76
79
 
80
+ > **Note:** Attribute conditions in expressions only ever look at the **current** (last) node in the path — `..user` matches `user` at any depth, but bracket conditions like `[lang]` still apply to `user` itself, never to an ancestor tag. To check an *ancestor's* attribute (e.g. "is there a `lang` attribute somewhere above this node?"), use `push(..., { keep: [...] })` with `getAnyParentAttr()` / `hasAnyParentAttr()` — see [Ancestor Attributes (`keep`)](#ancestor-attributes-keep) below.
81
+
77
82
  ### Position Selectors
78
83
 
79
84
  ```javascript
@@ -174,7 +179,7 @@ new Matcher(options)
174
179
 
175
180
  #### Path Tracking Methods
176
181
 
177
- ##### `push(tagName, attrValues, namespace)`
182
+ ##### `push(tagName, attrValues, namespace, options)`
178
183
 
179
184
  Add a tag to the current path. Position and counter are automatically calculated.
180
185
 
@@ -182,6 +187,8 @@ Add a tag to the current path. Position and counter are automatically calculated
182
187
  - `tagName` (string): Tag name
183
188
  - `attrValues` (object, optional): Attribute key-value pairs (current node only)
184
189
  - `namespace` (string, optional): Namespace for the tag
190
+ - `options` (object, optional):
191
+ - `keep` (string[], optional): Names of attributes (from `attrValues`) to retain for ancestor lookup via `getAnyParentAttr()` / `hasAnyParentAttr()`, even after this node is no longer the current node. See [Ancestor Attributes (`keep`)](#ancestor-attributes-keep).
185
192
 
186
193
  **Example:**
187
194
  ```javascript
@@ -189,6 +196,7 @@ matcher.push("user", { id: "123", type: "admin" });
189
196
  matcher.push("item"); // No attributes
190
197
  matcher.push("Envelope", null, "soap"); // With namespace
191
198
  matcher.push("Body", { version: "1.1" }, "soap"); // With both
199
+ matcher.push("Body", { version: "1.1" }, "soap", { keep: ["version"] }); // Retain "version" for descendants
192
200
  ```
193
201
 
194
202
  **Position vs Counter:**
@@ -293,6 +301,29 @@ if (matcher.hasAttr("id")) {
293
301
  }
294
302
  ```
295
303
 
304
+ ##### `getAnyParentAttr(attrName)`
305
+
306
+ Get the value of an attribute that was explicitly **kept** (via `push(..., { keep: [...] })`) by the current node or any ancestor. Unlike `getAttrValue()`, this works regardless of how far the path has descended since the attribute was pushed — but only for names that were marked with `keep` at push time. If the same name was kept at multiple depths, the **nearest** (most recent) one wins.
307
+
308
+ ```javascript
309
+ matcher.push("Body", { version: "1.1" }, "soap", { keep: ["version"] });
310
+ matcher.push("GetUserRequest");
311
+ matcher.push("UserId");
312
+
313
+ matcher.getAttrValue("version"); // undefined — Body is no longer current
314
+ matcher.getAnyParentAttr("version"); // "1.1" — still reachable, because it was kept
315
+ ```
316
+
317
+ ##### `hasAnyParentAttr(attrName)`
318
+
319
+ Check whether the current node or any ancestor kept the given attribute via `push(..., { keep: [...] })`.
320
+
321
+ ```javascript
322
+ if (matcher.hasAnyParentAttr("version")) {
323
+ // Some node on the path (current or ancestor) kept "version"
324
+ }
325
+ ```
326
+
296
327
  ##### `getPosition()`
297
328
 
298
329
  Get sibling position of current node (child index in parent).
@@ -528,6 +559,32 @@ const expr2 = new Expression("user[type=admin]");
528
559
  console.log(matcher.matches(expr2)); // true
529
560
  ```
530
561
 
562
+ > Need to check an attribute from an *ancestor* node, not just the current one? See [Example 5b](#example-5b-ancestor-attributes-keep) and [Ancestor Attributes (`keep`)](#ancestor-attributes-keep).
563
+
564
+ ### Example 5b: Ancestor Attributes (`keep`)
565
+
566
+ `getAttrValue()` / `hasAttr()` only ever see the **current** node — by design, ancestor attribute values are discarded as soon as you push past them, to keep memory usage low. If you know in advance that a specific attribute (e.g. a SOAP envelope's `version`, or `xml:space`) will matter much deeper in the tree, mark it to be **kept**:
567
+
568
+ ```javascript
569
+ const matcher = new Matcher();
570
+ matcher.push("Envelope", null, "soap");
571
+ matcher.push("Body", { version: "1.1" }, "soap", { keep: ["version"] });
572
+ matcher.push("GetUserRequest", { id: "42" });
573
+ matcher.push("UserId");
574
+
575
+ // Ordinary attribute access only sees the current node:
576
+ console.log(matcher.getAttrValue("version")); // undefined
577
+
578
+ // getAnyParentAttr/hasAnyParentAttr still see it, however deep we've gone:
579
+ console.log(matcher.hasAnyParentAttr("version")); // true
580
+ console.log(matcher.getAnyParentAttr("version")); // "1.1"
581
+
582
+ matcher.pop(); matcher.pop(); matcher.pop(); // back to Envelope
583
+ console.log(matcher.hasAnyParentAttr("version")); // false — Body (and its kept attrs) was popped
584
+ ```
585
+
586
+ **When to use this:** only for the small number of attributes you specifically know you'll need many levels deeper — not as a general substitute for `getAttrValue()`. Each name passed to `keep` adds a tiny, constant amount of bookkeeping at `push()` time; lookups scan only the kept-attributes list (typically 0-3 entries), never the full path, so cost does not grow with document depth.
587
+
531
588
  ### Example 6: Position vs Counter
532
589
 
533
590
  ```javascript
@@ -634,24 +691,42 @@ console.log(matcher.matches(expr)); // true - matches namespace "ns", tag "first
634
691
 
635
692
  This design minimizes memory usage:
636
693
  - No attribute names stored (derived from values object when needed)
637
- - Attribute values only for current node, not ancestors
638
- - Attribute checking for ancestors is not supported (acceptable trade-off)
694
+ - Attribute values only for current node, not ancestors, **by default**
639
695
  - For 1M nodes with 3 attributes each, saves ~50MB vs storing attribute names
640
696
 
697
+ ### Ancestor Attributes (`keep`)
698
+
699
+ The trade-off above is the right default, but XML/SOAP documents occasionally have a handful of attributes — `xml:space`, a SOAP envelope's `version`, a feature-flag at the document root — that genuinely need to be visible many levels deeper. Rather than retaining *all* attribute values for *every* node (defeating the memory savings above), `push()` accepts an explicit opt-in:
700
+
701
+ ```javascript
702
+ matcher.push("Body", { version: "1.1" }, "soap", { keep: ["version"] });
703
+ ```
704
+
705
+ Only the named attribute(s) are copied into a small side-stack (`_keptAttrs`), independent of the normal per-node `values`. Reachable later via `getAnyParentAttr(name)` / `hasAnyParentAttr(name)` regardless of depth — see [Example 5b](#example-5b-ancestor-attributes-keep).
706
+
707
+ **Why this stays cheap:**
708
+ - Pushing without `options` costs two extra property reads — no allocation, no measurable overhead (benchmarked: within run-to-run noise vs. plain `push()`).
709
+ - Lookups scan only the kept-attributes stack, not the full path — cost is proportional to *how many distinct attributes are currently kept* (typically 0-3 in real usage), not to document depth.
710
+ - `pop()` truncates kept entries belonging to the popped subtree in the same backward-scan style, so the stack never grows unbounded.
711
+ - The core `matches()` / `_matchSegment` pattern-matching path is completely unaffected — `keep` is a separate, opt-in mechanism with no new expression syntax.
712
+
713
+ This is intentionally a narrow escape hatch, not a general "remember everything" toggle — overusing `keep` (e.g. keeping every attribute on every node) reintroduces the same memory cost this library avoids by default.
714
+
641
715
  ### Matching Strategy
642
716
 
643
717
  Matching is performed **bottom-to-top** (from current node toward root):
644
718
  1. Start at current node
645
719
  2. Match segments from pattern end to start
646
- 3. Attribute checking only works for current node (ancestors have no attribute data)
720
+ 3. Attribute *expression* conditions (`[attr=value]`) only apply to the current node ancestors have no attribute data in the path itself. For genuinely ancestor-scoped checks outside of expression matching, use `keep` (above).
647
721
  4. Position selectors use **counter** (occurrence count), not position (child index)
648
722
 
649
723
  ### Performance
650
724
 
651
725
  - **Expression parsing:** One-time cost when Expression is created
652
726
  - **Expression analysis:** Cached (hasDeepWildcard, hasAttributeCondition, hasPositionSelector)
653
- - **Path tracking:** O(1) for push/pop operations
727
+ - **Path tracking:** O(1) for push/pop operations (O(k) additionally when `options.keep` is used, where k = number of kept attribute names — typically 0-3)
654
728
  - **Pattern matching:** O(n*m) where n = path depth, m = pattern segments
729
+ - **Ancestor attribute lookup:** O(k) where k = number of currently-kept attributes, independent of path depth
655
730
  - **Memory per ancestor node:** ~40-60 bytes (tag, position, counter only)
656
731
  - **Memory per current node:** ~80-120 bytes (adds attribute values)
657
732
 
@@ -869,4 +944,4 @@ MIT
869
944
 
870
945
  ## 🤝 Contributing
871
946
 
872
- Issues and PRs welcome! This package is designed to be used by XML/JSON parsers like fast-xml-parser. But can be used with any formar parser.
947
+ Issues and PRs welcome! This package is designed to be used by XML/JSON parsers like fast-xml-parser. But can be used with any formar parser.
@@ -1 +1 @@
1
- (()=>{"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:()=>n,Matcher:()=>h,default:()=>r});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 h=t.match(/^([^\[]+)(\[[^\]]*\])(.*)$/);if(h&&(i=h[1]+h[3],h[2])){const t=h[2].slice(1,-1);t&&(s=t)}let n,r,a=i;if(i.includes("::")){const e=i.indexOf("::");if(n=i.substring(0,e).trim(),a=i.substring(e+2).trim(),!n)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)?(r=e,p=s):r=a}else r=a;if(!r)throw new Error(`Invalid segment pattern: ${t}`);if(e.tag=r,n&&(e.namespace=n),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 h{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 h=this.siblingStacks[i],n=s?`${s}:${t}`:t,r=h.get(n)||0;let a=0;for(const t of h.values())a+=t;h.set(n,r+1);const p={tag:t,position:a,counter:r};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 h=!1;for(let t=e;t>=0;t--)if(this._matchSegment(i,this.path[t],t===this.path.length-1)){e=t-1,s--,h=!0;break}if(!h)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 n{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 h=this._wildcardByDepth.get(e);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 r={Expression:s,Matcher:h,ExpressionSet:n};module.exports=e})();
1
+ (()=>{"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:()=>h,Matcher:()=>r,default:()=>i});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 h,i,a=n;if(n.includes("::")){const e=n.indexOf("::");if(h=n.substring(0,e).trim(),a=n.substring(e+2).trim(),!h)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)?(i=e,p=s):i=a}else i=a;if(!i)throw new Error(`Invalid segment pattern: ${t}`);if(e.tag=i,h&&(e.namespace=h),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;this.siblingStacks[r]||(this.siblingStacks[r]=new Map);const h=this.siblingStacks[r],i=s?`${s}:${t}`:t,a=h.get(i)||0;let p=0;for(const t of h.values())p+=t;h.set(i,a+1);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,g=null!==n?n.keep:null;if(null!=g&&g.length>0&&e)for(let t=0;t<g.length;t++){const s=g[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=>new Map(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=>new Map(t)),this._keptAttrs=(t.keptAttrs||[]).map(t=>({...t}))}readOnly(){return this._view}}class h{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 h=this._wildcardByDepth.get(e);if(h)for(let e=0;e<h.length;e++)if(t.matches(h[e]))return h[e];const i=this._deepByTerminalTag.get(s);if(i)for(let e=0;e<i.length;e++)if(t.matches(i[e]))return i[e];for(let e=0;e<this._deepWildcards.length;e++)if(t.matches(this._deepWildcards[e]))return this._deepWildcards[e];return null}}const i={Expression:s,Matcher:r,ExpressionSet:h};module.exports=e})();
@@ -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
  /**
@@ -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
@@ -386,15 +440,23 @@ declare class Matcher {
386
440
  * @param tagName - Name of the tag
387
441
  * @param attrValues - Attribute key-value pairs for current node (optional)
388
442
  * @param namespace - Namespace for the tag (optional)
443
+ * @param options - Push options, e.g. `{ keep: ['version'] }` to retain
444
+ * specific attributes for ancestor lookup after this node stops being current
389
445
  *
390
446
  * @example
391
447
  * ```javascript
392
448
  * matcher.push("user", { id: "123", type: "admin" });
393
449
  * matcher.push("user", { id: "456" }, "ns");
394
450
  * matcher.push("container", null);
451
+ * matcher.push("Body", { version: "1.1" }, "soap", { keep: ["version"] });
395
452
  * ```
396
453
  */
397
- push(tagName: string, attrValues?: Record<string, any> | null, namespace?: string | null): void;
454
+ push(
455
+ tagName: string,
456
+ attrValues?: Record<string, any> | null,
457
+ namespace?: string | null,
458
+ options?: PushOptions | null
459
+ ): void;
398
460
 
399
461
  /**
400
462
  * Pop the last tag from the path
@@ -434,6 +496,23 @@ declare class Matcher {
434
496
  */
435
497
  hasAttr(attrName: string): boolean;
436
498
 
499
+ /**
500
+ * Get the value of a "kept" attribute from the nearest ancestor (or current
501
+ * node) that declared it via `push(tag, attrs, ns, { keep: [...] })`.
502
+ * Cost is proportional to the number of currently-kept attributes, not
503
+ * path depth.
504
+ * @param attrName - Attribute name
505
+ * @returns The kept value, or undefined if no ancestor kept this attribute
506
+ */
507
+ getAnyParentAttr(attrName: string): any;
508
+
509
+ /**
510
+ * Check whether any ancestor (or the current node) kept the given
511
+ * attribute via `push(tag, attrs, ns, { keep: [...] })`.
512
+ * @param attrName - Attribute name
513
+ */
514
+ hasAnyParentAttr(attrName: string): boolean;
515
+
437
516
  /**
438
517
  * Get current node's sibling position (child index in parent)
439
518
  * @returns Position index or -1 if path is empty
@@ -628,7 +707,9 @@ declare namespace pathExpressionMatcher {
628
707
  Segment,
629
708
  PathNode,
630
709
  MatcherSnapshot,
710
+ KeptAttrEntry,
711
+ PushOptions,
631
712
  };
632
713
  }
633
714
 
634
- export = pathExpressionMatcher;
715
+ 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,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;this.siblingStacks[r]||(this.siblingStacks[r]=new Map);const i=this.siblingStacks[r],h=s?`${s}:${t}`:t,a=i.get(h)||0;let p=0;for(const t of i.values())p+=t;i.set(h,a+1);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,g=null!==n?n.keep:null;if(null!=g&&g.length>0&&e)for(let t=0;t<g.length;t++){const s=g[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=>new Map(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=>new Map(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,ExpressionSet:i};return e})());
2
2
  //# sourceMappingURL=pem.min.js.map