@cdklabs/cdk-ssm-documents 0.0.58 → 0.0.60

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 (427) hide show
  1. package/.jsii +12 -12
  2. package/lib/construct/synth-utils.js +1 -1
  3. package/lib/document/automation-document.js +1 -1
  4. package/lib/document/command-document.js +1 -1
  5. package/lib/document/document-builder.js +2 -2
  6. package/lib/document/ssm-document.js +1 -1
  7. package/lib/domain/aws-service.js +1 -1
  8. package/lib/domain/choice.js +1 -1
  9. package/lib/domain/data-type.js +1 -1
  10. package/lib/domain/enum/install-action.js +2 -2
  11. package/lib/domain/enum/install-uninstall-repair.js +2 -2
  12. package/lib/domain/enum/installation-type.js +2 -2
  13. package/lib/domain/enum/package-name.js +2 -2
  14. package/lib/domain/input.js +1 -1
  15. package/lib/domain/operation.js +1 -1
  16. package/lib/domain/platform.js +1 -1
  17. package/lib/domain/precondition.js +1 -1
  18. package/lib/incident-response/incident-response.js +3 -3
  19. package/lib/interface/approve-hook.js +2 -2
  20. package/lib/interface/auth-method.js +3 -3
  21. package/lib/interface/aws-invoker.js +2 -2
  22. package/lib/interface/downloadable-content.js +8 -8
  23. package/lib/interface/environment.js +3 -3
  24. package/lib/interface/execute-automation-hook/api-execute-automation-hook.js +1 -1
  25. package/lib/interface/observer.js +1 -1
  26. package/lib/interface/on-failure.js +6 -6
  27. package/lib/interface/pause-hook.js +2 -2
  28. package/lib/interface/run-command-hook/api-run-command-hook.js +1 -1
  29. package/lib/interface/run-document-location.js +2 -2
  30. package/lib/interface/sleep-hook.js +2 -2
  31. package/lib/interface/step-ref.js +1 -1
  32. package/lib/interface/variables/boolean-variable.js +2 -2
  33. package/lib/interface/variables/map-list-variable.js +2 -2
  34. package/lib/interface/variables/number-variable.js +2 -2
  35. package/lib/interface/variables/secure-string-variable.js +4 -4
  36. package/lib/interface/variables/string-list-variable.js +2 -2
  37. package/lib/interface/variables/string-map-variable.js +2 -2
  38. package/lib/interface/variables/string-variable.js +4 -4
  39. package/lib/interface/variables/variable.js +2 -2
  40. package/lib/interface/webhook.js +1 -1
  41. package/lib/parent-steps/automation/approve-step.js +1 -1
  42. package/lib/parent-steps/automation/assert-aws-resource-step.js +1 -1
  43. package/lib/parent-steps/automation/aws-api-step.js +1 -1
  44. package/lib/parent-steps/automation/branch-step.js +1 -1
  45. package/lib/parent-steps/automation/change-instance-state-step.js +3 -3
  46. package/lib/parent-steps/automation/copy-image-step.js +1 -1
  47. package/lib/parent-steps/automation/create-image-step.js +1 -1
  48. package/lib/parent-steps/automation/create-stack-step.js +3 -3
  49. package/lib/parent-steps/automation/create-tags-step.js +3 -3
  50. package/lib/parent-steps/automation/delete-image-step.js +1 -1
  51. package/lib/parent-steps/automation/delete-stack-step.js +1 -1
  52. package/lib/parent-steps/automation/execute-automation-step.js +1 -1
  53. package/lib/parent-steps/automation/execute-script-step.js +5 -5
  54. package/lib/parent-steps/automation/execute-state-machine-step.js +1 -1
  55. package/lib/parent-steps/automation/invoke-lambda-function-step.js +1 -1
  56. package/lib/parent-steps/automation/invoke-webhook-step.js +1 -1
  57. package/lib/parent-steps/automation/pause-step.js +1 -1
  58. package/lib/parent-steps/automation/run-command-step.js +3 -3
  59. package/lib/parent-steps/automation/run-instance-step.js +1 -1
  60. package/lib/parent-steps/automation/sleep-step.js +1 -1
  61. package/lib/parent-steps/automation/update-variable.js +1 -1
  62. package/lib/parent-steps/automation/wait-for-resource-step.js +1 -1
  63. package/lib/parent-steps/automation-step.js +1 -1
  64. package/lib/parent-steps/command/applications-step.js +1 -1
  65. package/lib/parent-steps/command/configure-docker-step.js +1 -1
  66. package/lib/parent-steps/command/configure-package-step.js +1 -1
  67. package/lib/parent-steps/command/domain-join-step.js +1 -1
  68. package/lib/parent-steps/command/download-content-step.js +1 -1
  69. package/lib/parent-steps/command/ps-module-step.js +1 -1
  70. package/lib/parent-steps/command/run-docker-action-step.js +1 -1
  71. package/lib/parent-steps/command/run-document-step.js +1 -1
  72. package/lib/parent-steps/command/run-powershell-script-step.js +1 -1
  73. package/lib/parent-steps/command/run-shell-script-step.js +1 -1
  74. package/lib/parent-steps/command/software-inventory-step.js +1 -1
  75. package/lib/parent-steps/command/update-agent-step.js +1 -1
  76. package/lib/parent-steps/command/update-ssm-agent-step.js +1 -1
  77. package/lib/parent-steps/command-step.js +1 -1
  78. package/lib/parent-steps/step.js +1 -1
  79. package/lib/patterns/automation/composite-step.js +2 -2
  80. package/lib/patterns/automation/reboot-instance-and-wait.js +1 -1
  81. package/lib/patterns/automation/string-step.js +1 -1
  82. package/lib/patterns/document/string-document.js +1 -1
  83. package/lib/patterns/document/timed-document.js +1 -1
  84. package/lib/samples/hello-world.js +1 -1
  85. package/lib/simulation/automation/approve-simulation.js +1 -1
  86. package/lib/simulation/automation/assert-aws-resource-simulation.js +1 -1
  87. package/lib/simulation/automation/automation-simulation-base.js +1 -1
  88. package/lib/simulation/automation/aws-api-simulation.js +1 -1
  89. package/lib/simulation/automation/branch-simulation.js +1 -1
  90. package/lib/simulation/automation/change-instance-state-simulation.js +1 -1
  91. package/lib/simulation/automation/copy-image-simulation.js +1 -1
  92. package/lib/simulation/automation/create-image-simulation.js +1 -1
  93. package/lib/simulation/automation/create-stack-simulation.js +1 -1
  94. package/lib/simulation/automation/create-tags-simulation.js +1 -1
  95. package/lib/simulation/automation/delete-image-simulation.js +1 -1
  96. package/lib/simulation/automation/delete-stack-simulation.js +1 -1
  97. package/lib/simulation/automation/execute-script-simulation.js +1 -1
  98. package/lib/simulation/automation/execute-state-machine-simulation.js +1 -1
  99. package/lib/simulation/automation/invoke-lambda-function-simulation.js +1 -1
  100. package/lib/simulation/automation/invoke-webhook-simulation.js +1 -1
  101. package/lib/simulation/automation/pause-simulation.js +1 -1
  102. package/lib/simulation/automation/run-command-simulation.js +1 -1
  103. package/lib/simulation/automation/run-instance-simulation.js +1 -1
  104. package/lib/simulation/automation/sleep-simulation.js +1 -1
  105. package/lib/simulation/automation/update-variable-simulation.js +1 -1
  106. package/lib/simulation/automation/wait-for-resource-simulation.js +1 -1
  107. package/lib/simulation/automation-step-simulation.js +1 -1
  108. package/lib/simulation/command/command-simulation-base.js +1 -1
  109. package/lib/simulation/command/ps-module-simulation.js +1 -1
  110. package/lib/simulation/command/run-powershell-script-simulation.js +1 -1
  111. package/lib/simulation/command/run-shell-script-simulation.js +1 -1
  112. package/lib/simulation/command-step-simulation.js +1 -1
  113. package/lib/simulation/document/automation-simulation.js +1 -1
  114. package/lib/simulation/document/command-simulation.js +1 -1
  115. package/lib/simulation/simulation.js +1 -1
  116. package/node_modules/@aws-sdk/client-cloudformation/dist-cjs/index.js +9 -9
  117. package/node_modules/@aws-sdk/client-cloudformation/dist-es/waiters/waitForChangeSetCreateComplete.js +2 -2
  118. package/node_modules/@aws-sdk/client-cloudformation/dist-es/waiters/waitForStackCreateComplete.js +2 -2
  119. package/node_modules/@aws-sdk/client-cloudformation/dist-es/waiters/waitForStackDeleteComplete.js +2 -2
  120. package/node_modules/@aws-sdk/client-cloudformation/dist-es/waiters/waitForStackExists.js +2 -2
  121. package/node_modules/@aws-sdk/client-cloudformation/dist-es/waiters/waitForStackImportComplete.js +2 -2
  122. package/node_modules/@aws-sdk/client-cloudformation/dist-es/waiters/waitForStackRefactorCreateComplete.js +1 -1
  123. package/node_modules/@aws-sdk/client-cloudformation/dist-es/waiters/waitForStackRefactorExecuteComplete.js +1 -1
  124. package/node_modules/@aws-sdk/client-cloudformation/dist-es/waiters/waitForStackRollbackComplete.js +2 -2
  125. package/node_modules/@aws-sdk/client-cloudformation/dist-es/waiters/waitForStackUpdateComplete.js +2 -2
  126. package/node_modules/@aws-sdk/client-cloudformation/dist-types/CloudFormation.d.ts +11 -10
  127. package/node_modules/@aws-sdk/client-cloudformation/dist-types/ts3.4/CloudFormation.d.ts +13 -10
  128. package/node_modules/@aws-sdk/client-cloudformation/dist-types/ts3.4/waiters/waitForChangeSetCreateComplete.d.ts +9 -3
  129. package/node_modules/@aws-sdk/client-cloudformation/dist-types/ts3.4/waiters/waitForStackCreateComplete.d.ts +9 -3
  130. package/node_modules/@aws-sdk/client-cloudformation/dist-types/ts3.4/waiters/waitForStackDeleteComplete.d.ts +11 -3
  131. package/node_modules/@aws-sdk/client-cloudformation/dist-types/ts3.4/waiters/waitForStackExists.d.ts +9 -3
  132. package/node_modules/@aws-sdk/client-cloudformation/dist-types/ts3.4/waiters/waitForStackImportComplete.d.ts +9 -3
  133. package/node_modules/@aws-sdk/client-cloudformation/dist-types/ts3.4/waiters/waitForStackRefactorCreateComplete.d.ts +11 -3
  134. package/node_modules/@aws-sdk/client-cloudformation/dist-types/ts3.4/waiters/waitForStackRefactorExecuteComplete.d.ts +11 -3
  135. package/node_modules/@aws-sdk/client-cloudformation/dist-types/ts3.4/waiters/waitForStackRollbackComplete.d.ts +9 -3
  136. package/node_modules/@aws-sdk/client-cloudformation/dist-types/ts3.4/waiters/waitForStackUpdateComplete.d.ts +9 -3
  137. package/node_modules/@aws-sdk/client-cloudformation/dist-types/ts3.4/waiters/waitForTypeRegistrationComplete.d.ts +11 -3
  138. package/node_modules/@aws-sdk/client-cloudformation/dist-types/waiters/waitForChangeSetCreateComplete.d.ts +4 -3
  139. package/node_modules/@aws-sdk/client-cloudformation/dist-types/waiters/waitForStackCreateComplete.d.ts +4 -3
  140. package/node_modules/@aws-sdk/client-cloudformation/dist-types/waiters/waitForStackDeleteComplete.d.ts +4 -3
  141. package/node_modules/@aws-sdk/client-cloudformation/dist-types/waiters/waitForStackExists.d.ts +4 -3
  142. package/node_modules/@aws-sdk/client-cloudformation/dist-types/waiters/waitForStackImportComplete.d.ts +4 -3
  143. package/node_modules/@aws-sdk/client-cloudformation/dist-types/waiters/waitForStackRefactorCreateComplete.d.ts +4 -3
  144. package/node_modules/@aws-sdk/client-cloudformation/dist-types/waiters/waitForStackRefactorExecuteComplete.d.ts +4 -3
  145. package/node_modules/@aws-sdk/client-cloudformation/dist-types/waiters/waitForStackRollbackComplete.d.ts +4 -3
  146. package/node_modules/@aws-sdk/client-cloudformation/dist-types/waiters/waitForStackUpdateComplete.d.ts +4 -3
  147. package/node_modules/@aws-sdk/client-cloudformation/dist-types/waiters/waitForTypeRegistrationComplete.d.ts +4 -3
  148. package/node_modules/@aws-sdk/client-cloudformation/package.json +8 -8
  149. package/node_modules/@aws-sdk/client-cloudwatch/dist-cjs/index.js +1 -1
  150. package/node_modules/@aws-sdk/client-cloudwatch/dist-cjs/schemas/schemas_0.js +2 -2
  151. package/node_modules/@aws-sdk/client-cloudwatch/dist-es/schemas/schemas_0.js +2 -2
  152. package/node_modules/@aws-sdk/client-cloudwatch/dist-es/waiters/waitForAlarmExists.js +1 -1
  153. package/node_modules/@aws-sdk/client-cloudwatch/dist-es/waiters/waitForAlarmMuteRuleExists.js +2 -2
  154. package/node_modules/@aws-sdk/client-cloudwatch/dist-es/waiters/waitForCompositeAlarmExists.js +1 -1
  155. package/node_modules/@aws-sdk/client-cloudwatch/dist-types/CloudWatch.d.ts +3 -3
  156. package/node_modules/@aws-sdk/client-cloudwatch/dist-types/commands/DeleteDashboardsCommand.d.ts +2 -4
  157. package/node_modules/@aws-sdk/client-cloudwatch/dist-types/commands/GetOTelEnrichmentCommand.d.ts +1 -1
  158. package/node_modules/@aws-sdk/client-cloudwatch/dist-types/commands/ListTagsForResourceCommand.d.ts +2 -2
  159. package/node_modules/@aws-sdk/client-cloudwatch/dist-types/commands/PutDashboardCommand.d.ts +6 -0
  160. package/node_modules/@aws-sdk/client-cloudwatch/dist-types/commands/StartOTelEnrichmentCommand.d.ts +1 -1
  161. package/node_modules/@aws-sdk/client-cloudwatch/dist-types/commands/StopOTelEnrichmentCommand.d.ts +1 -1
  162. package/node_modules/@aws-sdk/client-cloudwatch/dist-types/commands/TagResourceCommand.d.ts +2 -2
  163. package/node_modules/@aws-sdk/client-cloudwatch/dist-types/commands/UntagResourceCommand.d.ts +2 -1
  164. package/node_modules/@aws-sdk/client-cloudwatch/dist-types/models/models_0.d.ts +37 -0
  165. package/node_modules/@aws-sdk/client-cloudwatch/dist-types/ts3.4/CloudWatch.d.ts +3 -3
  166. package/node_modules/@aws-sdk/client-cloudwatch/dist-types/ts3.4/models/models_0.d.ts +1 -0
  167. package/node_modules/@aws-sdk/client-cloudwatch/dist-types/ts3.4/waiters/waitForAlarmExists.d.ts +9 -3
  168. package/node_modules/@aws-sdk/client-cloudwatch/dist-types/ts3.4/waiters/waitForAlarmMuteRuleExists.d.ts +9 -3
  169. package/node_modules/@aws-sdk/client-cloudwatch/dist-types/ts3.4/waiters/waitForCompositeAlarmExists.d.ts +9 -3
  170. package/node_modules/@aws-sdk/client-cloudwatch/dist-types/waiters/waitForAlarmExists.d.ts +4 -3
  171. package/node_modules/@aws-sdk/client-cloudwatch/dist-types/waiters/waitForAlarmMuteRuleExists.d.ts +4 -3
  172. package/node_modules/@aws-sdk/client-cloudwatch/dist-types/waiters/waitForCompositeAlarmExists.d.ts +4 -3
  173. package/node_modules/@aws-sdk/client-cloudwatch/package.json +8 -8
  174. package/node_modules/@aws-sdk/client-ec2/dist-cjs/index.js +17 -17
  175. package/node_modules/@aws-sdk/client-ec2/dist-cjs/schemas/schemas_0.js +12 -8
  176. package/node_modules/@aws-sdk/client-ec2/dist-es/schemas/schemas_0.js +12 -8
  177. package/node_modules/@aws-sdk/client-ec2/dist-es/waiters/waitForImageAvailable.js +1 -1
  178. package/node_modules/@aws-sdk/client-ec2/dist-es/waiters/waitForImageExists.js +2 -2
  179. package/node_modules/@aws-sdk/client-ec2/dist-es/waiters/waitForInstanceExists.js +2 -2
  180. package/node_modules/@aws-sdk/client-ec2/dist-es/waiters/waitForInstanceRunning.js +2 -2
  181. package/node_modules/@aws-sdk/client-ec2/dist-es/waiters/waitForInstanceStatusOk.js +1 -1
  182. package/node_modules/@aws-sdk/client-ec2/dist-es/waiters/waitForInstanceStopped.js +1 -1
  183. package/node_modules/@aws-sdk/client-ec2/dist-es/waiters/waitForInstanceTerminated.js +1 -1
  184. package/node_modules/@aws-sdk/client-ec2/dist-es/waiters/waitForInternetGatewayExists.js +1 -1
  185. package/node_modules/@aws-sdk/client-ec2/dist-es/waiters/waitForKeyPairExists.js +2 -2
  186. package/node_modules/@aws-sdk/client-ec2/dist-es/waiters/waitForNatGatewayAvailable.js +1 -1
  187. package/node_modules/@aws-sdk/client-ec2/dist-es/waiters/waitForNatGatewayDeleted.js +1 -1
  188. package/node_modules/@aws-sdk/client-ec2/dist-es/waiters/waitForNetworkInterfaceAvailable.js +1 -1
  189. package/node_modules/@aws-sdk/client-ec2/dist-es/waiters/waitForPasswordDataAvailable.js +1 -1
  190. package/node_modules/@aws-sdk/client-ec2/dist-es/waiters/waitForSecondaryNetworkCreateComplete.js +1 -1
  191. package/node_modules/@aws-sdk/client-ec2/dist-es/waiters/waitForSecondarySubnetCreateComplete.js +1 -1
  192. package/node_modules/@aws-sdk/client-ec2/dist-es/waiters/waitForSecurityGroupExists.js +1 -1
  193. package/node_modules/@aws-sdk/client-ec2/dist-es/waiters/waitForSnapshotCompleted.js +1 -1
  194. package/node_modules/@aws-sdk/client-ec2/dist-es/waiters/waitForSpotInstanceRequestFulfilled.js +1 -1
  195. package/node_modules/@aws-sdk/client-ec2/dist-es/waiters/waitForSubnetAvailable.js +1 -1
  196. package/node_modules/@aws-sdk/client-ec2/dist-es/waiters/waitForVolumeAvailable.js +1 -1
  197. package/node_modules/@aws-sdk/client-ec2/dist-es/waiters/waitForVolumeDeleted.js +2 -2
  198. package/node_modules/@aws-sdk/client-ec2/dist-es/waiters/waitForVolumeInUse.js +1 -1
  199. package/node_modules/@aws-sdk/client-ec2/dist-es/waiters/waitForVpcAvailable.js +1 -1
  200. package/node_modules/@aws-sdk/client-ec2/dist-es/waiters/waitForVpcExists.js +2 -2
  201. package/node_modules/@aws-sdk/client-ec2/dist-es/waiters/waitForVpcPeeringConnectionDeleted.js +1 -1
  202. package/node_modules/@aws-sdk/client-ec2/dist-es/waiters/waitForVpcPeeringConnectionExists.js +1 -1
  203. package/node_modules/@aws-sdk/client-ec2/dist-types/EC2.d.ts +44 -44
  204. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeInstanceTypesCommand.d.ts +5 -1
  205. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ModifyManagedResourceVisibilityCommand.d.ts +2 -2
  206. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ModifyVpnConnectionOptionsCommand.d.ts +1 -0
  207. package/node_modules/@aws-sdk/client-ec2/dist-types/models/models_4.d.ts +11 -0
  208. package/node_modules/@aws-sdk/client-ec2/dist-types/models/models_6.d.ts +1 -1
  209. package/node_modules/@aws-sdk/client-ec2/dist-types/models/models_7.d.ts +6 -1
  210. package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/EC2.d.ts +50 -44
  211. package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/commands/ModifyManagedResourceVisibilityCommand.d.ts +1 -1
  212. package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/models/models_4.d.ts +2 -0
  213. package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/models/models_6.d.ts +1 -1
  214. package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/models/models_7.d.ts +2 -0
  215. package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/waiters/waitForBundleTaskComplete.d.ts +9 -3
  216. package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/waiters/waitForConversionTaskCancelled.d.ts +9 -3
  217. package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/waiters/waitForConversionTaskCompleted.d.ts +9 -3
  218. package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/waiters/waitForConversionTaskDeleted.d.ts +9 -3
  219. package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/waiters/waitForCustomerGatewayAvailable.d.ts +9 -3
  220. package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/waiters/waitForExportTaskCancelled.d.ts +9 -3
  221. package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/waiters/waitForExportTaskCompleted.d.ts +9 -3
  222. package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/waiters/waitForImageAvailable.d.ts +7 -3
  223. package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/waiters/waitForImageExists.d.ts +7 -3
  224. package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/waiters/waitForImageUsageReportAvailable.d.ts +9 -3
  225. package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/waiters/waitForInstanceExists.d.ts +9 -3
  226. package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/waiters/waitForInstanceRunning.d.ts +9 -3
  227. package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/waiters/waitForInstanceStatusOk.d.ts +9 -3
  228. package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/waiters/waitForInstanceStopped.d.ts +9 -3
  229. package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/waiters/waitForInstanceTerminated.d.ts +9 -3
  230. package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/waiters/waitForInternetGatewayExists.d.ts +9 -3
  231. package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/waiters/waitForKeyPairExists.d.ts +7 -3
  232. package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/waiters/waitForNatGatewayAvailable.d.ts +9 -3
  233. package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/waiters/waitForNatGatewayDeleted.d.ts +11 -3
  234. package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/waiters/waitForNetworkInterfaceAvailable.d.ts +9 -3
  235. package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/waiters/waitForPasswordDataAvailable.d.ts +7 -3
  236. package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/waiters/waitForSecondaryNetworkCreateComplete.d.ts +9 -3
  237. package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/waiters/waitForSecondaryNetworkDeleteComplete.d.ts +9 -3
  238. package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/waiters/waitForSecondarySubnetCreateComplete.d.ts +9 -3
  239. package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/waiters/waitForSecondarySubnetDeleteComplete.d.ts +9 -3
  240. package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/waiters/waitForSecurityGroupExists.d.ts +9 -3
  241. package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/waiters/waitForSecurityGroupVpcAssociationAssociated.d.ts +11 -3
  242. package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/waiters/waitForSecurityGroupVpcAssociationDisassociated.d.ts +11 -3
  243. package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/waiters/waitForSnapshotCompleted.d.ts +9 -3
  244. package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/waiters/waitForSnapshotImported.d.ts +9 -3
  245. package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/waiters/waitForSpotInstanceRequestFulfilled.d.ts +9 -3
  246. package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/waiters/waitForStoreImageTaskComplete.d.ts +9 -3
  247. package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/waiters/waitForSubnetAvailable.d.ts +7 -3
  248. package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/waiters/waitForSystemStatusOk.d.ts +9 -3
  249. package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/waiters/waitForVolumeAvailable.d.ts +7 -3
  250. package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/waiters/waitForVolumeDeleted.d.ts +7 -3
  251. package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/waiters/waitForVolumeInUse.d.ts +7 -3
  252. package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/waiters/waitForVpcAvailable.d.ts +7 -3
  253. package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/waiters/waitForVpcExists.d.ts +7 -3
  254. package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/waiters/waitForVpcPeeringConnectionDeleted.d.ts +11 -3
  255. package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/waiters/waitForVpcPeeringConnectionExists.d.ts +9 -3
  256. package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/waiters/waitForVpnConnectionAvailable.d.ts +9 -3
  257. package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/waiters/waitForVpnConnectionDeleted.d.ts +9 -3
  258. package/node_modules/@aws-sdk/client-ec2/dist-types/waiters/waitForBundleTaskComplete.d.ts +4 -3
  259. package/node_modules/@aws-sdk/client-ec2/dist-types/waiters/waitForConversionTaskCancelled.d.ts +4 -3
  260. package/node_modules/@aws-sdk/client-ec2/dist-types/waiters/waitForConversionTaskCompleted.d.ts +4 -3
  261. package/node_modules/@aws-sdk/client-ec2/dist-types/waiters/waitForConversionTaskDeleted.d.ts +4 -3
  262. package/node_modules/@aws-sdk/client-ec2/dist-types/waiters/waitForCustomerGatewayAvailable.d.ts +4 -3
  263. package/node_modules/@aws-sdk/client-ec2/dist-types/waiters/waitForExportTaskCancelled.d.ts +4 -3
  264. package/node_modules/@aws-sdk/client-ec2/dist-types/waiters/waitForExportTaskCompleted.d.ts +4 -3
  265. package/node_modules/@aws-sdk/client-ec2/dist-types/waiters/waitForImageAvailable.d.ts +4 -3
  266. package/node_modules/@aws-sdk/client-ec2/dist-types/waiters/waitForImageExists.d.ts +4 -3
  267. package/node_modules/@aws-sdk/client-ec2/dist-types/waiters/waitForImageUsageReportAvailable.d.ts +4 -3
  268. package/node_modules/@aws-sdk/client-ec2/dist-types/waiters/waitForInstanceExists.d.ts +4 -3
  269. package/node_modules/@aws-sdk/client-ec2/dist-types/waiters/waitForInstanceRunning.d.ts +4 -3
  270. package/node_modules/@aws-sdk/client-ec2/dist-types/waiters/waitForInstanceStatusOk.d.ts +4 -3
  271. package/node_modules/@aws-sdk/client-ec2/dist-types/waiters/waitForInstanceStopped.d.ts +4 -3
  272. package/node_modules/@aws-sdk/client-ec2/dist-types/waiters/waitForInstanceTerminated.d.ts +4 -3
  273. package/node_modules/@aws-sdk/client-ec2/dist-types/waiters/waitForInternetGatewayExists.d.ts +4 -3
  274. package/node_modules/@aws-sdk/client-ec2/dist-types/waiters/waitForKeyPairExists.d.ts +4 -3
  275. package/node_modules/@aws-sdk/client-ec2/dist-types/waiters/waitForNatGatewayAvailable.d.ts +4 -3
  276. package/node_modules/@aws-sdk/client-ec2/dist-types/waiters/waitForNatGatewayDeleted.d.ts +4 -3
  277. package/node_modules/@aws-sdk/client-ec2/dist-types/waiters/waitForNetworkInterfaceAvailable.d.ts +4 -3
  278. package/node_modules/@aws-sdk/client-ec2/dist-types/waiters/waitForPasswordDataAvailable.d.ts +4 -3
  279. package/node_modules/@aws-sdk/client-ec2/dist-types/waiters/waitForSecondaryNetworkCreateComplete.d.ts +4 -3
  280. package/node_modules/@aws-sdk/client-ec2/dist-types/waiters/waitForSecondaryNetworkDeleteComplete.d.ts +4 -3
  281. package/node_modules/@aws-sdk/client-ec2/dist-types/waiters/waitForSecondarySubnetCreateComplete.d.ts +4 -3
  282. package/node_modules/@aws-sdk/client-ec2/dist-types/waiters/waitForSecondarySubnetDeleteComplete.d.ts +4 -3
  283. package/node_modules/@aws-sdk/client-ec2/dist-types/waiters/waitForSecurityGroupExists.d.ts +4 -3
  284. package/node_modules/@aws-sdk/client-ec2/dist-types/waiters/waitForSecurityGroupVpcAssociationAssociated.d.ts +4 -3
  285. package/node_modules/@aws-sdk/client-ec2/dist-types/waiters/waitForSecurityGroupVpcAssociationDisassociated.d.ts +4 -3
  286. package/node_modules/@aws-sdk/client-ec2/dist-types/waiters/waitForSnapshotCompleted.d.ts +4 -3
  287. package/node_modules/@aws-sdk/client-ec2/dist-types/waiters/waitForSnapshotImported.d.ts +4 -3
  288. package/node_modules/@aws-sdk/client-ec2/dist-types/waiters/waitForSpotInstanceRequestFulfilled.d.ts +4 -3
  289. package/node_modules/@aws-sdk/client-ec2/dist-types/waiters/waitForStoreImageTaskComplete.d.ts +4 -3
  290. package/node_modules/@aws-sdk/client-ec2/dist-types/waiters/waitForSubnetAvailable.d.ts +4 -3
  291. package/node_modules/@aws-sdk/client-ec2/dist-types/waiters/waitForSystemStatusOk.d.ts +4 -3
  292. package/node_modules/@aws-sdk/client-ec2/dist-types/waiters/waitForVolumeAvailable.d.ts +4 -3
  293. package/node_modules/@aws-sdk/client-ec2/dist-types/waiters/waitForVolumeDeleted.d.ts +4 -3
  294. package/node_modules/@aws-sdk/client-ec2/dist-types/waiters/waitForVolumeInUse.d.ts +4 -3
  295. package/node_modules/@aws-sdk/client-ec2/dist-types/waiters/waitForVpcAvailable.d.ts +4 -3
  296. package/node_modules/@aws-sdk/client-ec2/dist-types/waiters/waitForVpcExists.d.ts +4 -3
  297. package/node_modules/@aws-sdk/client-ec2/dist-types/waiters/waitForVpcPeeringConnectionDeleted.d.ts +4 -3
  298. package/node_modules/@aws-sdk/client-ec2/dist-types/waiters/waitForVpcPeeringConnectionExists.d.ts +4 -3
  299. package/node_modules/@aws-sdk/client-ec2/dist-types/waiters/waitForVpnConnectionAvailable.d.ts +4 -3
  300. package/node_modules/@aws-sdk/client-ec2/dist-types/waiters/waitForVpnConnectionDeleted.d.ts +4 -3
  301. package/node_modules/@aws-sdk/client-ec2/package.json +8 -8
  302. package/node_modules/@aws-sdk/client-iam/README.md +51 -0
  303. package/node_modules/@aws-sdk/client-iam/dist-cjs/index.js +4 -4
  304. package/node_modules/@aws-sdk/client-iam/dist-es/waiters/waitForInstanceProfileExists.js +2 -2
  305. package/node_modules/@aws-sdk/client-iam/dist-es/waiters/waitForPolicyExists.js +2 -2
  306. package/node_modules/@aws-sdk/client-iam/dist-es/waiters/waitForRoleExists.js +1 -1
  307. package/node_modules/@aws-sdk/client-iam/dist-es/waiters/waitForUserExists.js +1 -1
  308. package/node_modules/@aws-sdk/client-iam/dist-types/IAM.d.ts +55 -4
  309. package/node_modules/@aws-sdk/client-iam/dist-types/IAMClient.d.ts +51 -0
  310. package/node_modules/@aws-sdk/client-iam/dist-types/index.d.ts +51 -0
  311. package/node_modules/@aws-sdk/client-iam/dist-types/models/models_0.d.ts +5 -0
  312. package/node_modules/@aws-sdk/client-iam/dist-types/ts3.4/IAM.d.ts +4 -4
  313. package/node_modules/@aws-sdk/client-iam/dist-types/ts3.4/waiters/waitForInstanceProfileExists.d.ts +9 -3
  314. package/node_modules/@aws-sdk/client-iam/dist-types/ts3.4/waiters/waitForPolicyExists.d.ts +7 -3
  315. package/node_modules/@aws-sdk/client-iam/dist-types/ts3.4/waiters/waitForRoleExists.d.ts +7 -3
  316. package/node_modules/@aws-sdk/client-iam/dist-types/ts3.4/waiters/waitForUserExists.d.ts +7 -3
  317. package/node_modules/@aws-sdk/client-iam/dist-types/waiters/waitForInstanceProfileExists.d.ts +4 -3
  318. package/node_modules/@aws-sdk/client-iam/dist-types/waiters/waitForPolicyExists.d.ts +4 -3
  319. package/node_modules/@aws-sdk/client-iam/dist-types/waiters/waitForRoleExists.d.ts +4 -3
  320. package/node_modules/@aws-sdk/client-iam/dist-types/waiters/waitForUserExists.d.ts +4 -3
  321. package/node_modules/@aws-sdk/client-iam/package.json +8 -8
  322. package/node_modules/@aws-sdk/client-lambda/dist-cjs/index.js +1 -1
  323. package/node_modules/@aws-sdk/client-lambda/dist-es/waiters/waitForFunctionActiveV2.js +1 -1
  324. package/node_modules/@aws-sdk/client-lambda/dist-es/waiters/waitForFunctionExists.js +2 -2
  325. package/node_modules/@aws-sdk/client-lambda/dist-es/waiters/waitForFunctionUpdatedV2.js +1 -1
  326. package/node_modules/@aws-sdk/client-lambda/dist-types/Lambda.d.ts +6 -6
  327. package/node_modules/@aws-sdk/client-lambda/dist-types/ts3.4/Lambda.d.ts +6 -6
  328. package/node_modules/@aws-sdk/client-lambda/dist-types/ts3.4/waiters/waitForFunctionActive.d.ts +9 -3
  329. package/node_modules/@aws-sdk/client-lambda/dist-types/ts3.4/waiters/waitForFunctionActiveV2.d.ts +7 -3
  330. package/node_modules/@aws-sdk/client-lambda/dist-types/ts3.4/waiters/waitForFunctionExists.d.ts +7 -3
  331. package/node_modules/@aws-sdk/client-lambda/dist-types/ts3.4/waiters/waitForFunctionUpdated.d.ts +9 -3
  332. package/node_modules/@aws-sdk/client-lambda/dist-types/ts3.4/waiters/waitForFunctionUpdatedV2.d.ts +7 -3
  333. package/node_modules/@aws-sdk/client-lambda/dist-types/ts3.4/waiters/waitForPublishedVersionActive.d.ts +9 -3
  334. package/node_modules/@aws-sdk/client-lambda/dist-types/waiters/waitForFunctionActive.d.ts +4 -3
  335. package/node_modules/@aws-sdk/client-lambda/dist-types/waiters/waitForFunctionActiveV2.d.ts +4 -3
  336. package/node_modules/@aws-sdk/client-lambda/dist-types/waiters/waitForFunctionExists.d.ts +4 -3
  337. package/node_modules/@aws-sdk/client-lambda/dist-types/waiters/waitForFunctionUpdated.d.ts +4 -3
  338. package/node_modules/@aws-sdk/client-lambda/dist-types/waiters/waitForFunctionUpdatedV2.d.ts +4 -3
  339. package/node_modules/@aws-sdk/client-lambda/dist-types/waiters/waitForPublishedVersionActive.d.ts +4 -3
  340. package/node_modules/@aws-sdk/client-lambda/package.json +8 -8
  341. package/node_modules/@aws-sdk/client-s3/dist-cjs/endpoint/bdd.js +622 -618
  342. package/node_modules/@aws-sdk/client-s3/dist-cjs/index.js +4 -4
  343. package/node_modules/@aws-sdk/client-s3/dist-es/endpoint/bdd.js +622 -618
  344. package/node_modules/@aws-sdk/client-s3/dist-es/waiters/waitForBucketExists.js +2 -2
  345. package/node_modules/@aws-sdk/client-s3/dist-es/waiters/waitForBucketNotExists.js +2 -2
  346. package/node_modules/@aws-sdk/client-s3/dist-es/waiters/waitForObjectExists.js +2 -2
  347. package/node_modules/@aws-sdk/client-s3/dist-es/waiters/waitForObjectNotExists.js +2 -2
  348. package/node_modules/@aws-sdk/client-s3/dist-types/S3.d.ts +5 -4
  349. package/node_modules/@aws-sdk/client-s3/dist-types/ts3.4/S3.d.ts +5 -4
  350. package/node_modules/@aws-sdk/client-s3/dist-types/ts3.4/waiters/waitForBucketExists.d.ts +7 -3
  351. package/node_modules/@aws-sdk/client-s3/dist-types/ts3.4/waiters/waitForBucketNotExists.d.ts +8 -3
  352. package/node_modules/@aws-sdk/client-s3/dist-types/ts3.4/waiters/waitForObjectExists.d.ts +7 -3
  353. package/node_modules/@aws-sdk/client-s3/dist-types/ts3.4/waiters/waitForObjectNotExists.d.ts +8 -3
  354. package/node_modules/@aws-sdk/client-s3/dist-types/waiters/waitForBucketExists.d.ts +4 -3
  355. package/node_modules/@aws-sdk/client-s3/dist-types/waiters/waitForBucketNotExists.d.ts +5 -3
  356. package/node_modules/@aws-sdk/client-s3/dist-types/waiters/waitForObjectExists.d.ts +4 -3
  357. package/node_modules/@aws-sdk/client-s3/dist-types/waiters/waitForObjectNotExists.d.ts +5 -3
  358. package/node_modules/@aws-sdk/client-s3/package.json +12 -12
  359. package/node_modules/@aws-sdk/client-sns/package.json +7 -7
  360. package/node_modules/@aws-sdk/client-sqs/package.json +7 -7
  361. package/node_modules/@aws-sdk/client-ssm/dist-cjs/index.js +1 -1
  362. package/node_modules/@aws-sdk/client-ssm/dist-es/waiters/waitForCommandExecuted.js +1 -1
  363. package/node_modules/@aws-sdk/client-ssm/dist-types/SSM.d.ts +1 -1
  364. package/node_modules/@aws-sdk/client-ssm/dist-types/ts3.4/SSM.d.ts +1 -1
  365. package/node_modules/@aws-sdk/client-ssm/dist-types/ts3.4/waiters/waitForCommandExecuted.d.ts +9 -3
  366. package/node_modules/@aws-sdk/client-ssm/dist-types/waiters/waitForCommandExecuted.d.ts +4 -3
  367. package/node_modules/@aws-sdk/client-ssm/package.json +8 -8
  368. package/node_modules/@aws-sdk/core/dist-cjs/index.js +15 -6
  369. package/node_modules/@aws-sdk/core/dist-cjs/submodules/client/index.js +15 -6
  370. package/node_modules/@aws-sdk/core/dist-es/submodules/client/emitWarningIfUnsupportedVersion.js +15 -6
  371. package/node_modules/@aws-sdk/core/dist-types/submodules/client/emitWarningIfUnsupportedVersion.d.ts +1 -2
  372. package/node_modules/@aws-sdk/core/package.json +3 -3
  373. package/node_modules/@aws-sdk/credential-provider-env/package.json +2 -2
  374. package/node_modules/@aws-sdk/credential-provider-http/package.json +2 -2
  375. package/node_modules/@aws-sdk/credential-provider-ini/package.json +9 -9
  376. package/node_modules/@aws-sdk/credential-provider-login/package.json +3 -3
  377. package/node_modules/@aws-sdk/credential-provider-node/package.json +7 -7
  378. package/node_modules/@aws-sdk/credential-provider-process/package.json +2 -2
  379. package/node_modules/@aws-sdk/credential-provider-sso/package.json +4 -4
  380. package/node_modules/@aws-sdk/credential-provider-web-identity/package.json +3 -3
  381. package/node_modules/@aws-sdk/middleware-flexible-checksums/package.json +2 -2
  382. package/node_modules/@aws-sdk/middleware-sdk-s3/package.json +2 -2
  383. package/node_modules/@aws-sdk/middleware-user-agent/package.json +3 -3
  384. package/node_modules/@aws-sdk/nested-clients/package.json +7 -7
  385. package/node_modules/@aws-sdk/signature-v4-multi-region/package.json +2 -2
  386. package/node_modules/@aws-sdk/token-providers/package.json +3 -3
  387. package/node_modules/@aws-sdk/util-user-agent-node/package.json +2 -2
  388. package/node_modules/@aws-sdk/xml-builder/dist-cjs/xml-external/nodable_entities.js +336 -0
  389. package/node_modules/@aws-sdk/xml-builder/dist-cjs/xml-parser.js +26 -0
  390. package/node_modules/@aws-sdk/xml-builder/dist-es/xml-external/nodable_entities.js +332 -0
  391. package/node_modules/@aws-sdk/xml-builder/dist-es/xml-parser.js +26 -0
  392. package/node_modules/@aws-sdk/xml-builder/dist-types/ts3.4/xml-external/nodable_entities.d.ts +66 -0
  393. package/node_modules/@aws-sdk/xml-builder/dist-types/xml-external/nodable_entities.d.ts +65 -0
  394. package/node_modules/@aws-sdk/xml-builder/package.json +3 -2
  395. package/node_modules/@smithy/middleware-retry/package.json +2 -2
  396. package/node_modules/@smithy/util-retry/dist-cjs/index.js +7 -3
  397. package/node_modules/@smithy/util-retry/dist-es/AdaptiveRetryStrategy.js +5 -2
  398. package/node_modules/@smithy/util-retry/dist-es/DefaultRateLimiter.js +2 -1
  399. package/node_modules/@smithy/util-retry/package.json +2 -2
  400. package/node_modules/fast-xml-builder/CHANGELOG.md +24 -0
  401. package/node_modules/fast-xml-builder/README.md +53 -2
  402. package/node_modules/fast-xml-builder/lib/fxb.cjs +1 -1
  403. package/node_modules/fast-xml-builder/lib/fxb.d.cts +91 -1
  404. package/node_modules/fast-xml-builder/lib/fxb.min.js +1 -1
  405. package/node_modules/fast-xml-builder/lib/fxb.min.js.map +1 -1
  406. package/node_modules/fast-xml-builder/package.json +3 -2
  407. package/node_modules/fast-xml-builder/src/fxb.d.ts +93 -3
  408. package/node_modules/fast-xml-builder/src/fxb.js +106 -40
  409. package/node_modules/fast-xml-builder/src/orderedJs2Xml.js +95 -42
  410. package/node_modules/fast-xml-builder/src/util.js +16 -0
  411. package/node_modules/fast-xml-parser/CHANGELOG.md +8 -0
  412. package/node_modules/fast-xml-parser/lib/fxp.cjs +1 -1
  413. package/node_modules/fast-xml-parser/lib/fxp.min.js +1 -1
  414. package/node_modules/fast-xml-parser/lib/fxp.min.js.map +1 -1
  415. package/node_modules/fast-xml-parser/lib/fxparser.min.js +1 -1
  416. package/node_modules/fast-xml-parser/lib/fxparser.min.js.map +1 -1
  417. package/node_modules/fast-xml-parser/package.json +1 -1
  418. package/node_modules/fast-xml-parser/src/xmlparser/OrderedObjParser.js +16 -11
  419. package/node_modules/fast-xml-parser/src/xmlparser/XMLParser.js +2 -2
  420. package/node_modules/strnum/CHANGELOG.md +3 -0
  421. package/node_modules/strnum/package.json +3 -2
  422. package/node_modules/strnum/strnum.js +12 -10
  423. package/node_modules/xml-naming/README.md +189 -0
  424. package/node_modules/xml-naming/package.json +54 -0
  425. package/node_modules/xml-naming/src/index.d.ts +74 -0
  426. package/node_modules/xml-naming/src/index.js +270 -0
  427. package/package.json +10 -10
@@ -0,0 +1,336 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EntityDecoderImpl = exports.CURRENCY = exports.COMMON_HTML = exports.XML = void 0;
4
+ exports.XML = {
5
+ amp: "&",
6
+ apos: "'",
7
+ gt: ">",
8
+ lt: "<",
9
+ quot: '"',
10
+ };
11
+ exports.COMMON_HTML = {
12
+ nbsp: "\u00a0",
13
+ copy: "\u00a9",
14
+ reg: "\u00ae",
15
+ trade: "\u2122",
16
+ mdash: "\u2014",
17
+ ndash: "\u2013",
18
+ hellip: "\u2026",
19
+ laquo: "\u00ab",
20
+ raquo: "\u00bb",
21
+ lsquo: "\u2018",
22
+ rsquo: "\u2019",
23
+ ldquo: "\u201c",
24
+ rdquo: "\u201d",
25
+ bull: "\u2022",
26
+ para: "\u00b6",
27
+ sect: "\u00a7",
28
+ deg: "\u00b0",
29
+ frac12: "\u00bd",
30
+ frac14: "\u00bc",
31
+ frac34: "\u00be",
32
+ };
33
+ exports.CURRENCY = {
34
+ cent: "\u00a2",
35
+ pound: "\u00a3",
36
+ curren: "\u00a4",
37
+ yen: "\u00a5",
38
+ euro: "\u20ac",
39
+ dollar: "$",
40
+ fnof: "\u0192",
41
+ inr: "\u20b9",
42
+ af: "\u060b",
43
+ birr: "\u1265\u122d",
44
+ peso: "\u20b1",
45
+ rub: "\u20bd",
46
+ won: "\u20a9",
47
+ yuan: "\u00a5",
48
+ cedil: "\u00b8",
49
+ };
50
+ const SPECIAL_CHARS = new Set("!?\\/[]$%{}^&*()<>|+");
51
+ function validateEntityName(name) {
52
+ if (name[0] === "#") {
53
+ throw new Error(`[EntityReplacer] Invalid character '#' in entity name: "${name}"`);
54
+ }
55
+ for (const ch of name) {
56
+ if (SPECIAL_CHARS.has(ch)) {
57
+ throw new Error(`[EntityReplacer] Invalid character '${ch}' in entity name: "${name}"`);
58
+ }
59
+ }
60
+ return name;
61
+ }
62
+ function mergeEntityMaps(...maps) {
63
+ const out = Object.create(null);
64
+ for (const map of maps) {
65
+ if (!map) {
66
+ continue;
67
+ }
68
+ for (const key of Object.keys(map)) {
69
+ const raw = map[key];
70
+ if (typeof raw === "string") {
71
+ out[key] = raw;
72
+ }
73
+ else if (raw && typeof raw === "object" && raw.val !== undefined) {
74
+ const val = raw.val;
75
+ if (typeof val === "string") {
76
+ out[key] = val;
77
+ }
78
+ }
79
+ }
80
+ }
81
+ return out;
82
+ }
83
+ const LIMIT_TIER_EXTERNAL = "external";
84
+ const LIMIT_TIER_BASE = "base";
85
+ const LIMIT_TIER_ALL = "all";
86
+ function parseLimitTiers(raw) {
87
+ if (!raw || raw === LIMIT_TIER_EXTERNAL) {
88
+ return new Set([LIMIT_TIER_EXTERNAL]);
89
+ }
90
+ if (raw === LIMIT_TIER_ALL) {
91
+ return new Set([LIMIT_TIER_ALL]);
92
+ }
93
+ if (raw === LIMIT_TIER_BASE) {
94
+ return new Set([LIMIT_TIER_BASE]);
95
+ }
96
+ if (Array.isArray(raw)) {
97
+ return new Set(raw);
98
+ }
99
+ return new Set([LIMIT_TIER_EXTERNAL]);
100
+ }
101
+ const NCR_LEVEL = Object.freeze({ allow: 0, leave: 1, remove: 2, throw: 3 });
102
+ const XML10_ALLOWED_C0 = new Set([0x09, 0x0a, 0x0d]);
103
+ function parseNCRConfig(ncr) {
104
+ if (!ncr) {
105
+ return { xmlVersion: 1.0, onLevel: NCR_LEVEL.allow, nullLevel: NCR_LEVEL.remove };
106
+ }
107
+ const xmlVersion = ncr.xmlVersion === 1.1 ? 1.1 : 1.0;
108
+ const onLevel = NCR_LEVEL[ncr.onNCR ?? "allow"] ?? NCR_LEVEL.allow;
109
+ const nullLevel = NCR_LEVEL[ncr.nullNCR ?? "remove"] ?? NCR_LEVEL.remove;
110
+ const clampedNull = Math.max(nullLevel, NCR_LEVEL.remove);
111
+ return { xmlVersion, onLevel, nullLevel: clampedNull };
112
+ }
113
+ const EntityDecoderImpl = class EntityDecoderImpl {
114
+ _limit;
115
+ _maxTotalExpansions;
116
+ _maxExpandedLength;
117
+ _postCheck;
118
+ _limitTiers;
119
+ _numericAllowed;
120
+ _baseMap;
121
+ _externalMap;
122
+ _inputMap;
123
+ _totalExpansions;
124
+ _expandedLength;
125
+ _removeSet;
126
+ _leaveSet;
127
+ _ncrXmlVersion;
128
+ _ncrOnLevel;
129
+ _ncrNullLevel;
130
+ constructor(options = {}) {
131
+ this._limit = options.limit || {};
132
+ this._maxTotalExpansions = this._limit.maxTotalExpansions || 0;
133
+ this._maxExpandedLength = this._limit.maxExpandedLength || 0;
134
+ this._postCheck = typeof options.postCheck === "function" ? options.postCheck : (r) => r;
135
+ this._limitTiers = parseLimitTiers(this._limit.applyLimitsTo ?? LIMIT_TIER_EXTERNAL);
136
+ this._numericAllowed = options.numericAllowed ?? true;
137
+ this._baseMap = mergeEntityMaps(exports.XML, options.namedEntities || null);
138
+ this._externalMap = Object.create(null);
139
+ this._inputMap = Object.create(null);
140
+ this._totalExpansions = 0;
141
+ this._expandedLength = 0;
142
+ this._removeSet = new Set(options.remove && Array.isArray(options.remove) ? options.remove : []);
143
+ this._leaveSet = new Set(options.leave && Array.isArray(options.leave) ? options.leave : []);
144
+ const ncrCfg = parseNCRConfig(options.ncr);
145
+ this._ncrXmlVersion = ncrCfg.xmlVersion;
146
+ this._ncrOnLevel = ncrCfg.onLevel;
147
+ this._ncrNullLevel = ncrCfg.nullLevel;
148
+ }
149
+ setExternalEntities(map) {
150
+ if (map) {
151
+ for (const key of Object.keys(map)) {
152
+ validateEntityName(key);
153
+ }
154
+ }
155
+ this._externalMap = mergeEntityMaps(map);
156
+ }
157
+ addExternalEntity(key, value) {
158
+ validateEntityName(key);
159
+ if (typeof value === "string" && value.indexOf("&") === -1) {
160
+ this._externalMap[key] = value;
161
+ }
162
+ }
163
+ addInputEntities(map) {
164
+ this._totalExpansions = 0;
165
+ this._expandedLength = 0;
166
+ this._inputMap = mergeEntityMaps(map);
167
+ }
168
+ reset() {
169
+ this._inputMap = Object.create(null);
170
+ this._totalExpansions = 0;
171
+ this._expandedLength = 0;
172
+ return this;
173
+ }
174
+ setXmlVersion(version) {
175
+ this._ncrXmlVersion = version === "1.1" || version === 1.1 ? 1.1 : 1.0;
176
+ }
177
+ decode(str) {
178
+ if (typeof str !== "string" || str.length === 0) {
179
+ return str;
180
+ }
181
+ const original = str;
182
+ const chunks = [];
183
+ const len = str.length;
184
+ let last = 0;
185
+ let i = 0;
186
+ const limitExpansions = this._maxTotalExpansions > 0;
187
+ const limitLength = this._maxExpandedLength > 0;
188
+ const checkLimits = limitExpansions || limitLength;
189
+ while (i < len) {
190
+ if (str.charCodeAt(i) !== 38) {
191
+ i++;
192
+ continue;
193
+ }
194
+ let j = i + 1;
195
+ while (j < len && str.charCodeAt(j) !== 59 && j - i <= 32) {
196
+ j++;
197
+ }
198
+ if (j >= len || str.charCodeAt(j) !== 59) {
199
+ i++;
200
+ continue;
201
+ }
202
+ const token = str.slice(i + 1, j);
203
+ if (token.length === 0) {
204
+ i++;
205
+ continue;
206
+ }
207
+ let replacement;
208
+ let tier;
209
+ if (this._removeSet.has(token)) {
210
+ replacement = "";
211
+ if (tier === undefined) {
212
+ tier = LIMIT_TIER_EXTERNAL;
213
+ }
214
+ }
215
+ else if (this._leaveSet.has(token)) {
216
+ i++;
217
+ continue;
218
+ }
219
+ else if (token.charCodeAt(0) === 35) {
220
+ const ncrResult = this._resolveNCR(token);
221
+ if (ncrResult === undefined) {
222
+ i++;
223
+ continue;
224
+ }
225
+ replacement = ncrResult;
226
+ tier = LIMIT_TIER_BASE;
227
+ }
228
+ else {
229
+ const resolved = this._resolveName(token);
230
+ replacement = resolved?.value;
231
+ tier = resolved?.tier;
232
+ }
233
+ if (replacement === undefined) {
234
+ i++;
235
+ continue;
236
+ }
237
+ if (i > last) {
238
+ chunks.push(str.slice(last, i));
239
+ }
240
+ chunks.push(replacement);
241
+ last = j + 1;
242
+ i = last;
243
+ if (checkLimits && this._tierCounts(tier)) {
244
+ if (limitExpansions) {
245
+ this._totalExpansions++;
246
+ if (this._totalExpansions > this._maxTotalExpansions) {
247
+ throw new Error(`[EntityReplacer] Entity expansion count limit exceeded: ` +
248
+ `${this._totalExpansions} > ${this._maxTotalExpansions}`);
249
+ }
250
+ }
251
+ if (limitLength) {
252
+ const delta = replacement.length - (token.length + 2);
253
+ if (delta > 0) {
254
+ this._expandedLength += delta;
255
+ if (this._expandedLength > this._maxExpandedLength) {
256
+ throw new Error(`[EntityReplacer] Expanded content length limit exceeded: ` +
257
+ `${this._expandedLength} > ${this._maxExpandedLength}`);
258
+ }
259
+ }
260
+ }
261
+ }
262
+ }
263
+ if (last < len) {
264
+ chunks.push(str.slice(last));
265
+ }
266
+ const result = chunks.length === 0 ? str : chunks.join("");
267
+ return this._postCheck(result, original);
268
+ }
269
+ _tierCounts(tier) {
270
+ if (this._limitTiers.has(LIMIT_TIER_ALL)) {
271
+ return true;
272
+ }
273
+ return this._limitTiers.has(tier);
274
+ }
275
+ _resolveName(name) {
276
+ if (name in this._inputMap) {
277
+ return { value: this._inputMap[name], tier: LIMIT_TIER_EXTERNAL };
278
+ }
279
+ if (name in this._externalMap) {
280
+ return { value: this._externalMap[name], tier: LIMIT_TIER_EXTERNAL };
281
+ }
282
+ if (name in this._baseMap) {
283
+ return { value: this._baseMap[name], tier: LIMIT_TIER_BASE };
284
+ }
285
+ return undefined;
286
+ }
287
+ _classifyNCR(cp) {
288
+ if (cp === 0) {
289
+ return this._ncrNullLevel;
290
+ }
291
+ if (cp >= 0xd800 && cp <= 0xdfff) {
292
+ return NCR_LEVEL.remove;
293
+ }
294
+ if (this._ncrXmlVersion === 1.0) {
295
+ if (cp >= 0x01 && cp <= 0x1f && !XML10_ALLOWED_C0.has(cp)) {
296
+ return NCR_LEVEL.remove;
297
+ }
298
+ }
299
+ return -1;
300
+ }
301
+ _applyNCRAction(action, token, cp) {
302
+ switch (action) {
303
+ case NCR_LEVEL.allow:
304
+ return String.fromCodePoint(cp);
305
+ case NCR_LEVEL.remove:
306
+ return "";
307
+ case NCR_LEVEL.leave:
308
+ return undefined;
309
+ case NCR_LEVEL.throw:
310
+ throw new Error(`[EntityDecoder] Prohibited numeric character reference ` +
311
+ `&${token}; (U+${cp.toString(16).toUpperCase().padStart(4, "0")})`);
312
+ default:
313
+ return String.fromCodePoint(cp);
314
+ }
315
+ }
316
+ _resolveNCR(token) {
317
+ const second = token.charCodeAt(1);
318
+ let cp;
319
+ if (second === 120 || second === 88) {
320
+ cp = parseInt(token.slice(2), 16);
321
+ }
322
+ else {
323
+ cp = parseInt(token.slice(1), 10);
324
+ }
325
+ if (Number.isNaN(cp) || cp < 0 || cp > 0x10ffff) {
326
+ return undefined;
327
+ }
328
+ const minimum = this._classifyNCR(cp);
329
+ if (!this._numericAllowed && minimum < NCR_LEVEL.remove) {
330
+ return undefined;
331
+ }
332
+ const effective = minimum === -1 ? this._ncrOnLevel : Math.max(this._ncrOnLevel, minimum);
333
+ return this._applyNCRAction(effective, token, cp);
334
+ }
335
+ };
336
+ exports.EntityDecoderImpl = EntityDecoderImpl;
@@ -2,6 +2,17 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.parseXML = parseXML;
4
4
  const fast_xml_parser_1 = require("fast-xml-parser");
5
+ const nodable_entities_1 = require("./xml-external/nodable_entities");
6
+ const entityDecoder = new nodable_entities_1.EntityDecoderImpl({
7
+ namedEntities: { ...nodable_entities_1.XML, ...nodable_entities_1.COMMON_HTML, ...nodable_entities_1.CURRENCY },
8
+ numericAllowed: true,
9
+ limit: {
10
+ maxTotalExpansions: Infinity,
11
+ },
12
+ ncr: {
13
+ xmlVersion: 1.1,
14
+ },
15
+ });
5
16
  const parser = new fast_xml_parser_1.XMLParser({
6
17
  attributeNamePrefix: "",
7
18
  processEntities: {
@@ -9,6 +20,21 @@ const parser = new fast_xml_parser_1.XMLParser({
9
20
  maxTotalExpansions: Infinity,
10
21
  },
11
22
  htmlEntities: true,
23
+ entityDecoder: {
24
+ setExternalEntities: (entities) => {
25
+ entityDecoder.setExternalEntities(entities);
26
+ },
27
+ addInputEntities: (entities) => {
28
+ entityDecoder.addInputEntities(entities);
29
+ },
30
+ reset: () => {
31
+ entityDecoder.reset();
32
+ },
33
+ decode: (text) => {
34
+ return entityDecoder.decode(text);
35
+ },
36
+ setXmlVersion: (version) => void {},
37
+ },
12
38
  ignoreAttributes: false,
13
39
  ignoreDeclaration: true,
14
40
  parseTagValue: false,
@@ -0,0 +1,332 @@
1
+ export const XML = {
2
+ amp: "&",
3
+ apos: "'",
4
+ gt: ">",
5
+ lt: "<",
6
+ quot: '"',
7
+ };
8
+ export const COMMON_HTML = {
9
+ nbsp: "\u00a0",
10
+ copy: "\u00a9",
11
+ reg: "\u00ae",
12
+ trade: "\u2122",
13
+ mdash: "\u2014",
14
+ ndash: "\u2013",
15
+ hellip: "\u2026",
16
+ laquo: "\u00ab",
17
+ raquo: "\u00bb",
18
+ lsquo: "\u2018",
19
+ rsquo: "\u2019",
20
+ ldquo: "\u201c",
21
+ rdquo: "\u201d",
22
+ bull: "\u2022",
23
+ para: "\u00b6",
24
+ sect: "\u00a7",
25
+ deg: "\u00b0",
26
+ frac12: "\u00bd",
27
+ frac14: "\u00bc",
28
+ frac34: "\u00be",
29
+ };
30
+ export const CURRENCY = {
31
+ cent: "\u00a2",
32
+ pound: "\u00a3",
33
+ curren: "\u00a4",
34
+ yen: "\u00a5",
35
+ euro: "\u20ac",
36
+ dollar: "$",
37
+ fnof: "\u0192",
38
+ inr: "\u20b9",
39
+ af: "\u060b",
40
+ birr: "\u1265\u122d",
41
+ peso: "\u20b1",
42
+ rub: "\u20bd",
43
+ won: "\u20a9",
44
+ yuan: "\u00a5",
45
+ cedil: "\u00b8",
46
+ };
47
+ const SPECIAL_CHARS = new Set("!?\\/[]$%{}^&*()<>|+");
48
+ function validateEntityName(name) {
49
+ if (name[0] === "#") {
50
+ throw new Error(`[EntityReplacer] Invalid character '#' in entity name: "${name}"`);
51
+ }
52
+ for (const ch of name) {
53
+ if (SPECIAL_CHARS.has(ch)) {
54
+ throw new Error(`[EntityReplacer] Invalid character '${ch}' in entity name: "${name}"`);
55
+ }
56
+ }
57
+ return name;
58
+ }
59
+ function mergeEntityMaps(...maps) {
60
+ const out = Object.create(null);
61
+ for (const map of maps) {
62
+ if (!map) {
63
+ continue;
64
+ }
65
+ for (const key of Object.keys(map)) {
66
+ const raw = map[key];
67
+ if (typeof raw === "string") {
68
+ out[key] = raw;
69
+ }
70
+ else if (raw && typeof raw === "object" && raw.val !== undefined) {
71
+ const val = raw.val;
72
+ if (typeof val === "string") {
73
+ out[key] = val;
74
+ }
75
+ }
76
+ }
77
+ }
78
+ return out;
79
+ }
80
+ const LIMIT_TIER_EXTERNAL = "external";
81
+ const LIMIT_TIER_BASE = "base";
82
+ const LIMIT_TIER_ALL = "all";
83
+ function parseLimitTiers(raw) {
84
+ if (!raw || raw === LIMIT_TIER_EXTERNAL) {
85
+ return new Set([LIMIT_TIER_EXTERNAL]);
86
+ }
87
+ if (raw === LIMIT_TIER_ALL) {
88
+ return new Set([LIMIT_TIER_ALL]);
89
+ }
90
+ if (raw === LIMIT_TIER_BASE) {
91
+ return new Set([LIMIT_TIER_BASE]);
92
+ }
93
+ if (Array.isArray(raw)) {
94
+ return new Set(raw);
95
+ }
96
+ return new Set([LIMIT_TIER_EXTERNAL]);
97
+ }
98
+ const NCR_LEVEL = Object.freeze({ allow: 0, leave: 1, remove: 2, throw: 3 });
99
+ const XML10_ALLOWED_C0 = new Set([0x09, 0x0a, 0x0d]);
100
+ function parseNCRConfig(ncr) {
101
+ if (!ncr) {
102
+ return { xmlVersion: 1.0, onLevel: NCR_LEVEL.allow, nullLevel: NCR_LEVEL.remove };
103
+ }
104
+ const xmlVersion = ncr.xmlVersion === 1.1 ? 1.1 : 1.0;
105
+ const onLevel = NCR_LEVEL[ncr.onNCR ?? "allow"] ?? NCR_LEVEL.allow;
106
+ const nullLevel = NCR_LEVEL[ncr.nullNCR ?? "remove"] ?? NCR_LEVEL.remove;
107
+ const clampedNull = Math.max(nullLevel, NCR_LEVEL.remove);
108
+ return { xmlVersion, onLevel, nullLevel: clampedNull };
109
+ }
110
+ export const EntityDecoderImpl = class EntityDecoderImpl {
111
+ _limit;
112
+ _maxTotalExpansions;
113
+ _maxExpandedLength;
114
+ _postCheck;
115
+ _limitTiers;
116
+ _numericAllowed;
117
+ _baseMap;
118
+ _externalMap;
119
+ _inputMap;
120
+ _totalExpansions;
121
+ _expandedLength;
122
+ _removeSet;
123
+ _leaveSet;
124
+ _ncrXmlVersion;
125
+ _ncrOnLevel;
126
+ _ncrNullLevel;
127
+ constructor(options = {}) {
128
+ this._limit = options.limit || {};
129
+ this._maxTotalExpansions = this._limit.maxTotalExpansions || 0;
130
+ this._maxExpandedLength = this._limit.maxExpandedLength || 0;
131
+ this._postCheck = typeof options.postCheck === "function" ? options.postCheck : (r) => r;
132
+ this._limitTiers = parseLimitTiers(this._limit.applyLimitsTo ?? LIMIT_TIER_EXTERNAL);
133
+ this._numericAllowed = options.numericAllowed ?? true;
134
+ this._baseMap = mergeEntityMaps(XML, options.namedEntities || null);
135
+ this._externalMap = Object.create(null);
136
+ this._inputMap = Object.create(null);
137
+ this._totalExpansions = 0;
138
+ this._expandedLength = 0;
139
+ this._removeSet = new Set(options.remove && Array.isArray(options.remove) ? options.remove : []);
140
+ this._leaveSet = new Set(options.leave && Array.isArray(options.leave) ? options.leave : []);
141
+ const ncrCfg = parseNCRConfig(options.ncr);
142
+ this._ncrXmlVersion = ncrCfg.xmlVersion;
143
+ this._ncrOnLevel = ncrCfg.onLevel;
144
+ this._ncrNullLevel = ncrCfg.nullLevel;
145
+ }
146
+ setExternalEntities(map) {
147
+ if (map) {
148
+ for (const key of Object.keys(map)) {
149
+ validateEntityName(key);
150
+ }
151
+ }
152
+ this._externalMap = mergeEntityMaps(map);
153
+ }
154
+ addExternalEntity(key, value) {
155
+ validateEntityName(key);
156
+ if (typeof value === "string" && value.indexOf("&") === -1) {
157
+ this._externalMap[key] = value;
158
+ }
159
+ }
160
+ addInputEntities(map) {
161
+ this._totalExpansions = 0;
162
+ this._expandedLength = 0;
163
+ this._inputMap = mergeEntityMaps(map);
164
+ }
165
+ reset() {
166
+ this._inputMap = Object.create(null);
167
+ this._totalExpansions = 0;
168
+ this._expandedLength = 0;
169
+ return this;
170
+ }
171
+ setXmlVersion(version) {
172
+ this._ncrXmlVersion = version === "1.1" || version === 1.1 ? 1.1 : 1.0;
173
+ }
174
+ decode(str) {
175
+ if (typeof str !== "string" || str.length === 0) {
176
+ return str;
177
+ }
178
+ const original = str;
179
+ const chunks = [];
180
+ const len = str.length;
181
+ let last = 0;
182
+ let i = 0;
183
+ const limitExpansions = this._maxTotalExpansions > 0;
184
+ const limitLength = this._maxExpandedLength > 0;
185
+ const checkLimits = limitExpansions || limitLength;
186
+ while (i < len) {
187
+ if (str.charCodeAt(i) !== 38) {
188
+ i++;
189
+ continue;
190
+ }
191
+ let j = i + 1;
192
+ while (j < len && str.charCodeAt(j) !== 59 && j - i <= 32) {
193
+ j++;
194
+ }
195
+ if (j >= len || str.charCodeAt(j) !== 59) {
196
+ i++;
197
+ continue;
198
+ }
199
+ const token = str.slice(i + 1, j);
200
+ if (token.length === 0) {
201
+ i++;
202
+ continue;
203
+ }
204
+ let replacement;
205
+ let tier;
206
+ if (this._removeSet.has(token)) {
207
+ replacement = "";
208
+ if (tier === undefined) {
209
+ tier = LIMIT_TIER_EXTERNAL;
210
+ }
211
+ }
212
+ else if (this._leaveSet.has(token)) {
213
+ i++;
214
+ continue;
215
+ }
216
+ else if (token.charCodeAt(0) === 35) {
217
+ const ncrResult = this._resolveNCR(token);
218
+ if (ncrResult === undefined) {
219
+ i++;
220
+ continue;
221
+ }
222
+ replacement = ncrResult;
223
+ tier = LIMIT_TIER_BASE;
224
+ }
225
+ else {
226
+ const resolved = this._resolveName(token);
227
+ replacement = resolved?.value;
228
+ tier = resolved?.tier;
229
+ }
230
+ if (replacement === undefined) {
231
+ i++;
232
+ continue;
233
+ }
234
+ if (i > last) {
235
+ chunks.push(str.slice(last, i));
236
+ }
237
+ chunks.push(replacement);
238
+ last = j + 1;
239
+ i = last;
240
+ if (checkLimits && this._tierCounts(tier)) {
241
+ if (limitExpansions) {
242
+ this._totalExpansions++;
243
+ if (this._totalExpansions > this._maxTotalExpansions) {
244
+ throw new Error(`[EntityReplacer] Entity expansion count limit exceeded: ` +
245
+ `${this._totalExpansions} > ${this._maxTotalExpansions}`);
246
+ }
247
+ }
248
+ if (limitLength) {
249
+ const delta = replacement.length - (token.length + 2);
250
+ if (delta > 0) {
251
+ this._expandedLength += delta;
252
+ if (this._expandedLength > this._maxExpandedLength) {
253
+ throw new Error(`[EntityReplacer] Expanded content length limit exceeded: ` +
254
+ `${this._expandedLength} > ${this._maxExpandedLength}`);
255
+ }
256
+ }
257
+ }
258
+ }
259
+ }
260
+ if (last < len) {
261
+ chunks.push(str.slice(last));
262
+ }
263
+ const result = chunks.length === 0 ? str : chunks.join("");
264
+ return this._postCheck(result, original);
265
+ }
266
+ _tierCounts(tier) {
267
+ if (this._limitTiers.has(LIMIT_TIER_ALL)) {
268
+ return true;
269
+ }
270
+ return this._limitTiers.has(tier);
271
+ }
272
+ _resolveName(name) {
273
+ if (name in this._inputMap) {
274
+ return { value: this._inputMap[name], tier: LIMIT_TIER_EXTERNAL };
275
+ }
276
+ if (name in this._externalMap) {
277
+ return { value: this._externalMap[name], tier: LIMIT_TIER_EXTERNAL };
278
+ }
279
+ if (name in this._baseMap) {
280
+ return { value: this._baseMap[name], tier: LIMIT_TIER_BASE };
281
+ }
282
+ return undefined;
283
+ }
284
+ _classifyNCR(cp) {
285
+ if (cp === 0) {
286
+ return this._ncrNullLevel;
287
+ }
288
+ if (cp >= 0xd800 && cp <= 0xdfff) {
289
+ return NCR_LEVEL.remove;
290
+ }
291
+ if (this._ncrXmlVersion === 1.0) {
292
+ if (cp >= 0x01 && cp <= 0x1f && !XML10_ALLOWED_C0.has(cp)) {
293
+ return NCR_LEVEL.remove;
294
+ }
295
+ }
296
+ return -1;
297
+ }
298
+ _applyNCRAction(action, token, cp) {
299
+ switch (action) {
300
+ case NCR_LEVEL.allow:
301
+ return String.fromCodePoint(cp);
302
+ case NCR_LEVEL.remove:
303
+ return "";
304
+ case NCR_LEVEL.leave:
305
+ return undefined;
306
+ case NCR_LEVEL.throw:
307
+ throw new Error(`[EntityDecoder] Prohibited numeric character reference ` +
308
+ `&${token}; (U+${cp.toString(16).toUpperCase().padStart(4, "0")})`);
309
+ default:
310
+ return String.fromCodePoint(cp);
311
+ }
312
+ }
313
+ _resolveNCR(token) {
314
+ const second = token.charCodeAt(1);
315
+ let cp;
316
+ if (second === 120 || second === 88) {
317
+ cp = parseInt(token.slice(2), 16);
318
+ }
319
+ else {
320
+ cp = parseInt(token.slice(1), 10);
321
+ }
322
+ if (Number.isNaN(cp) || cp < 0 || cp > 0x10ffff) {
323
+ return undefined;
324
+ }
325
+ const minimum = this._classifyNCR(cp);
326
+ if (!this._numericAllowed && minimum < NCR_LEVEL.remove) {
327
+ return undefined;
328
+ }
329
+ const effective = minimum === -1 ? this._ncrOnLevel : Math.max(this._ncrOnLevel, minimum);
330
+ return this._applyNCRAction(effective, token, cp);
331
+ }
332
+ };