@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.
- package/.jsii +12 -12
- package/lib/construct/synth-utils.js +1 -1
- package/lib/document/automation-document.js +1 -1
- package/lib/document/command-document.js +1 -1
- package/lib/document/document-builder.js +2 -2
- package/lib/document/ssm-document.js +1 -1
- package/lib/domain/aws-service.js +1 -1
- package/lib/domain/choice.js +1 -1
- package/lib/domain/data-type.js +1 -1
- package/lib/domain/enum/install-action.js +2 -2
- package/lib/domain/enum/install-uninstall-repair.js +2 -2
- package/lib/domain/enum/installation-type.js +2 -2
- package/lib/domain/enum/package-name.js +2 -2
- package/lib/domain/input.js +1 -1
- package/lib/domain/operation.js +1 -1
- package/lib/domain/platform.js +1 -1
- package/lib/domain/precondition.js +1 -1
- package/lib/incident-response/incident-response.js +3 -3
- package/lib/interface/approve-hook.js +2 -2
- package/lib/interface/auth-method.js +3 -3
- package/lib/interface/aws-invoker.js +2 -2
- package/lib/interface/downloadable-content.js +8 -8
- package/lib/interface/environment.js +3 -3
- package/lib/interface/execute-automation-hook/api-execute-automation-hook.js +1 -1
- package/lib/interface/observer.js +1 -1
- package/lib/interface/on-failure.js +6 -6
- package/lib/interface/pause-hook.js +2 -2
- package/lib/interface/run-command-hook/api-run-command-hook.js +1 -1
- package/lib/interface/run-document-location.js +2 -2
- package/lib/interface/sleep-hook.js +2 -2
- package/lib/interface/step-ref.js +1 -1
- package/lib/interface/variables/boolean-variable.js +2 -2
- package/lib/interface/variables/map-list-variable.js +2 -2
- package/lib/interface/variables/number-variable.js +2 -2
- package/lib/interface/variables/secure-string-variable.js +4 -4
- package/lib/interface/variables/string-list-variable.js +2 -2
- package/lib/interface/variables/string-map-variable.js +2 -2
- package/lib/interface/variables/string-variable.js +4 -4
- package/lib/interface/variables/variable.js +2 -2
- package/lib/interface/webhook.js +1 -1
- package/lib/parent-steps/automation/approve-step.js +1 -1
- package/lib/parent-steps/automation/assert-aws-resource-step.js +1 -1
- package/lib/parent-steps/automation/aws-api-step.js +1 -1
- package/lib/parent-steps/automation/branch-step.js +1 -1
- package/lib/parent-steps/automation/change-instance-state-step.js +3 -3
- package/lib/parent-steps/automation/copy-image-step.js +1 -1
- package/lib/parent-steps/automation/create-image-step.js +1 -1
- package/lib/parent-steps/automation/create-stack-step.js +3 -3
- package/lib/parent-steps/automation/create-tags-step.js +3 -3
- package/lib/parent-steps/automation/delete-image-step.js +1 -1
- package/lib/parent-steps/automation/delete-stack-step.js +1 -1
- package/lib/parent-steps/automation/execute-automation-step.js +1 -1
- package/lib/parent-steps/automation/execute-script-step.js +5 -5
- package/lib/parent-steps/automation/execute-state-machine-step.js +1 -1
- package/lib/parent-steps/automation/invoke-lambda-function-step.js +1 -1
- package/lib/parent-steps/automation/invoke-webhook-step.js +1 -1
- package/lib/parent-steps/automation/pause-step.js +1 -1
- package/lib/parent-steps/automation/run-command-step.js +3 -3
- package/lib/parent-steps/automation/run-instance-step.js +1 -1
- package/lib/parent-steps/automation/sleep-step.js +1 -1
- package/lib/parent-steps/automation/update-variable.js +1 -1
- package/lib/parent-steps/automation/wait-for-resource-step.js +1 -1
- package/lib/parent-steps/automation-step.js +1 -1
- package/lib/parent-steps/command/applications-step.js +1 -1
- package/lib/parent-steps/command/configure-docker-step.js +1 -1
- package/lib/parent-steps/command/configure-package-step.js +1 -1
- package/lib/parent-steps/command/domain-join-step.js +1 -1
- package/lib/parent-steps/command/download-content-step.js +1 -1
- package/lib/parent-steps/command/ps-module-step.js +1 -1
- package/lib/parent-steps/command/run-docker-action-step.js +1 -1
- package/lib/parent-steps/command/run-document-step.js +1 -1
- package/lib/parent-steps/command/run-powershell-script-step.js +1 -1
- package/lib/parent-steps/command/run-shell-script-step.js +1 -1
- package/lib/parent-steps/command/software-inventory-step.js +1 -1
- package/lib/parent-steps/command/update-agent-step.js +1 -1
- package/lib/parent-steps/command/update-ssm-agent-step.js +1 -1
- package/lib/parent-steps/command-step.js +1 -1
- package/lib/parent-steps/step.js +1 -1
- package/lib/patterns/automation/composite-step.js +2 -2
- package/lib/patterns/automation/reboot-instance-and-wait.js +1 -1
- package/lib/patterns/automation/string-step.js +1 -1
- package/lib/patterns/document/string-document.js +1 -1
- package/lib/patterns/document/timed-document.js +1 -1
- package/lib/samples/hello-world.js +1 -1
- package/lib/simulation/automation/approve-simulation.js +1 -1
- package/lib/simulation/automation/assert-aws-resource-simulation.js +1 -1
- package/lib/simulation/automation/automation-simulation-base.js +1 -1
- package/lib/simulation/automation/aws-api-simulation.js +1 -1
- package/lib/simulation/automation/branch-simulation.js +1 -1
- package/lib/simulation/automation/change-instance-state-simulation.js +1 -1
- package/lib/simulation/automation/copy-image-simulation.js +1 -1
- package/lib/simulation/automation/create-image-simulation.js +1 -1
- package/lib/simulation/automation/create-stack-simulation.js +1 -1
- package/lib/simulation/automation/create-tags-simulation.js +1 -1
- package/lib/simulation/automation/delete-image-simulation.js +1 -1
- package/lib/simulation/automation/delete-stack-simulation.js +1 -1
- package/lib/simulation/automation/execute-script-simulation.js +1 -1
- package/lib/simulation/automation/execute-state-machine-simulation.js +1 -1
- package/lib/simulation/automation/invoke-lambda-function-simulation.js +1 -1
- package/lib/simulation/automation/invoke-webhook-simulation.js +1 -1
- package/lib/simulation/automation/pause-simulation.js +1 -1
- package/lib/simulation/automation/run-command-simulation.js +1 -1
- package/lib/simulation/automation/run-instance-simulation.js +1 -1
- package/lib/simulation/automation/sleep-simulation.js +1 -1
- package/lib/simulation/automation/update-variable-simulation.js +1 -1
- package/lib/simulation/automation/wait-for-resource-simulation.js +1 -1
- package/lib/simulation/automation-step-simulation.js +1 -1
- package/lib/simulation/command/command-simulation-base.js +1 -1
- package/lib/simulation/command/ps-module-simulation.js +1 -1
- package/lib/simulation/command/run-powershell-script-simulation.js +1 -1
- package/lib/simulation/command/run-shell-script-simulation.js +1 -1
- package/lib/simulation/command-step-simulation.js +1 -1
- package/lib/simulation/document/automation-simulation.js +1 -1
- package/lib/simulation/document/command-simulation.js +1 -1
- package/lib/simulation/simulation.js +1 -1
- package/node_modules/@aws-sdk/client-cloudformation/dist-cjs/index.js +9 -9
- package/node_modules/@aws-sdk/client-cloudformation/dist-es/waiters/waitForChangeSetCreateComplete.js +2 -2
- package/node_modules/@aws-sdk/client-cloudformation/dist-es/waiters/waitForStackCreateComplete.js +2 -2
- package/node_modules/@aws-sdk/client-cloudformation/dist-es/waiters/waitForStackDeleteComplete.js +2 -2
- package/node_modules/@aws-sdk/client-cloudformation/dist-es/waiters/waitForStackExists.js +2 -2
- package/node_modules/@aws-sdk/client-cloudformation/dist-es/waiters/waitForStackImportComplete.js +2 -2
- package/node_modules/@aws-sdk/client-cloudformation/dist-es/waiters/waitForStackRefactorCreateComplete.js +1 -1
- package/node_modules/@aws-sdk/client-cloudformation/dist-es/waiters/waitForStackRefactorExecuteComplete.js +1 -1
- package/node_modules/@aws-sdk/client-cloudformation/dist-es/waiters/waitForStackRollbackComplete.js +2 -2
- package/node_modules/@aws-sdk/client-cloudformation/dist-es/waiters/waitForStackUpdateComplete.js +2 -2
- package/node_modules/@aws-sdk/client-cloudformation/dist-types/CloudFormation.d.ts +11 -10
- package/node_modules/@aws-sdk/client-cloudformation/dist-types/ts3.4/CloudFormation.d.ts +13 -10
- package/node_modules/@aws-sdk/client-cloudformation/dist-types/ts3.4/waiters/waitForChangeSetCreateComplete.d.ts +9 -3
- package/node_modules/@aws-sdk/client-cloudformation/dist-types/ts3.4/waiters/waitForStackCreateComplete.d.ts +9 -3
- package/node_modules/@aws-sdk/client-cloudformation/dist-types/ts3.4/waiters/waitForStackDeleteComplete.d.ts +11 -3
- package/node_modules/@aws-sdk/client-cloudformation/dist-types/ts3.4/waiters/waitForStackExists.d.ts +9 -3
- package/node_modules/@aws-sdk/client-cloudformation/dist-types/ts3.4/waiters/waitForStackImportComplete.d.ts +9 -3
- package/node_modules/@aws-sdk/client-cloudformation/dist-types/ts3.4/waiters/waitForStackRefactorCreateComplete.d.ts +11 -3
- package/node_modules/@aws-sdk/client-cloudformation/dist-types/ts3.4/waiters/waitForStackRefactorExecuteComplete.d.ts +11 -3
- package/node_modules/@aws-sdk/client-cloudformation/dist-types/ts3.4/waiters/waitForStackRollbackComplete.d.ts +9 -3
- package/node_modules/@aws-sdk/client-cloudformation/dist-types/ts3.4/waiters/waitForStackUpdateComplete.d.ts +9 -3
- package/node_modules/@aws-sdk/client-cloudformation/dist-types/ts3.4/waiters/waitForTypeRegistrationComplete.d.ts +11 -3
- package/node_modules/@aws-sdk/client-cloudformation/dist-types/waiters/waitForChangeSetCreateComplete.d.ts +4 -3
- package/node_modules/@aws-sdk/client-cloudformation/dist-types/waiters/waitForStackCreateComplete.d.ts +4 -3
- package/node_modules/@aws-sdk/client-cloudformation/dist-types/waiters/waitForStackDeleteComplete.d.ts +4 -3
- package/node_modules/@aws-sdk/client-cloudformation/dist-types/waiters/waitForStackExists.d.ts +4 -3
- package/node_modules/@aws-sdk/client-cloudformation/dist-types/waiters/waitForStackImportComplete.d.ts +4 -3
- package/node_modules/@aws-sdk/client-cloudformation/dist-types/waiters/waitForStackRefactorCreateComplete.d.ts +4 -3
- package/node_modules/@aws-sdk/client-cloudformation/dist-types/waiters/waitForStackRefactorExecuteComplete.d.ts +4 -3
- package/node_modules/@aws-sdk/client-cloudformation/dist-types/waiters/waitForStackRollbackComplete.d.ts +4 -3
- package/node_modules/@aws-sdk/client-cloudformation/dist-types/waiters/waitForStackUpdateComplete.d.ts +4 -3
- package/node_modules/@aws-sdk/client-cloudformation/dist-types/waiters/waitForTypeRegistrationComplete.d.ts +4 -3
- package/node_modules/@aws-sdk/client-cloudformation/package.json +8 -8
- package/node_modules/@aws-sdk/client-cloudwatch/dist-cjs/index.js +1 -1
- package/node_modules/@aws-sdk/client-cloudwatch/dist-cjs/schemas/schemas_0.js +2 -2
- package/node_modules/@aws-sdk/client-cloudwatch/dist-es/schemas/schemas_0.js +2 -2
- package/node_modules/@aws-sdk/client-cloudwatch/dist-es/waiters/waitForAlarmExists.js +1 -1
- package/node_modules/@aws-sdk/client-cloudwatch/dist-es/waiters/waitForAlarmMuteRuleExists.js +2 -2
- package/node_modules/@aws-sdk/client-cloudwatch/dist-es/waiters/waitForCompositeAlarmExists.js +1 -1
- package/node_modules/@aws-sdk/client-cloudwatch/dist-types/CloudWatch.d.ts +3 -3
- package/node_modules/@aws-sdk/client-cloudwatch/dist-types/commands/DeleteDashboardsCommand.d.ts +2 -4
- package/node_modules/@aws-sdk/client-cloudwatch/dist-types/commands/GetOTelEnrichmentCommand.d.ts +1 -1
- package/node_modules/@aws-sdk/client-cloudwatch/dist-types/commands/ListTagsForResourceCommand.d.ts +2 -2
- package/node_modules/@aws-sdk/client-cloudwatch/dist-types/commands/PutDashboardCommand.d.ts +6 -0
- package/node_modules/@aws-sdk/client-cloudwatch/dist-types/commands/StartOTelEnrichmentCommand.d.ts +1 -1
- package/node_modules/@aws-sdk/client-cloudwatch/dist-types/commands/StopOTelEnrichmentCommand.d.ts +1 -1
- package/node_modules/@aws-sdk/client-cloudwatch/dist-types/commands/TagResourceCommand.d.ts +2 -2
- package/node_modules/@aws-sdk/client-cloudwatch/dist-types/commands/UntagResourceCommand.d.ts +2 -1
- package/node_modules/@aws-sdk/client-cloudwatch/dist-types/models/models_0.d.ts +37 -0
- package/node_modules/@aws-sdk/client-cloudwatch/dist-types/ts3.4/CloudWatch.d.ts +3 -3
- package/node_modules/@aws-sdk/client-cloudwatch/dist-types/ts3.4/models/models_0.d.ts +1 -0
- package/node_modules/@aws-sdk/client-cloudwatch/dist-types/ts3.4/waiters/waitForAlarmExists.d.ts +9 -3
- package/node_modules/@aws-sdk/client-cloudwatch/dist-types/ts3.4/waiters/waitForAlarmMuteRuleExists.d.ts +9 -3
- package/node_modules/@aws-sdk/client-cloudwatch/dist-types/ts3.4/waiters/waitForCompositeAlarmExists.d.ts +9 -3
- package/node_modules/@aws-sdk/client-cloudwatch/dist-types/waiters/waitForAlarmExists.d.ts +4 -3
- package/node_modules/@aws-sdk/client-cloudwatch/dist-types/waiters/waitForAlarmMuteRuleExists.d.ts +4 -3
- package/node_modules/@aws-sdk/client-cloudwatch/dist-types/waiters/waitForCompositeAlarmExists.d.ts +4 -3
- package/node_modules/@aws-sdk/client-cloudwatch/package.json +8 -8
- package/node_modules/@aws-sdk/client-ec2/dist-cjs/index.js +17 -17
- package/node_modules/@aws-sdk/client-ec2/dist-cjs/schemas/schemas_0.js +12 -8
- package/node_modules/@aws-sdk/client-ec2/dist-es/schemas/schemas_0.js +12 -8
- package/node_modules/@aws-sdk/client-ec2/dist-es/waiters/waitForImageAvailable.js +1 -1
- package/node_modules/@aws-sdk/client-ec2/dist-es/waiters/waitForImageExists.js +2 -2
- package/node_modules/@aws-sdk/client-ec2/dist-es/waiters/waitForInstanceExists.js +2 -2
- package/node_modules/@aws-sdk/client-ec2/dist-es/waiters/waitForInstanceRunning.js +2 -2
- package/node_modules/@aws-sdk/client-ec2/dist-es/waiters/waitForInstanceStatusOk.js +1 -1
- package/node_modules/@aws-sdk/client-ec2/dist-es/waiters/waitForInstanceStopped.js +1 -1
- package/node_modules/@aws-sdk/client-ec2/dist-es/waiters/waitForInstanceTerminated.js +1 -1
- package/node_modules/@aws-sdk/client-ec2/dist-es/waiters/waitForInternetGatewayExists.js +1 -1
- package/node_modules/@aws-sdk/client-ec2/dist-es/waiters/waitForKeyPairExists.js +2 -2
- package/node_modules/@aws-sdk/client-ec2/dist-es/waiters/waitForNatGatewayAvailable.js +1 -1
- package/node_modules/@aws-sdk/client-ec2/dist-es/waiters/waitForNatGatewayDeleted.js +1 -1
- package/node_modules/@aws-sdk/client-ec2/dist-es/waiters/waitForNetworkInterfaceAvailable.js +1 -1
- package/node_modules/@aws-sdk/client-ec2/dist-es/waiters/waitForPasswordDataAvailable.js +1 -1
- package/node_modules/@aws-sdk/client-ec2/dist-es/waiters/waitForSecondaryNetworkCreateComplete.js +1 -1
- package/node_modules/@aws-sdk/client-ec2/dist-es/waiters/waitForSecondarySubnetCreateComplete.js +1 -1
- package/node_modules/@aws-sdk/client-ec2/dist-es/waiters/waitForSecurityGroupExists.js +1 -1
- package/node_modules/@aws-sdk/client-ec2/dist-es/waiters/waitForSnapshotCompleted.js +1 -1
- package/node_modules/@aws-sdk/client-ec2/dist-es/waiters/waitForSpotInstanceRequestFulfilled.js +1 -1
- package/node_modules/@aws-sdk/client-ec2/dist-es/waiters/waitForSubnetAvailable.js +1 -1
- package/node_modules/@aws-sdk/client-ec2/dist-es/waiters/waitForVolumeAvailable.js +1 -1
- package/node_modules/@aws-sdk/client-ec2/dist-es/waiters/waitForVolumeDeleted.js +2 -2
- package/node_modules/@aws-sdk/client-ec2/dist-es/waiters/waitForVolumeInUse.js +1 -1
- package/node_modules/@aws-sdk/client-ec2/dist-es/waiters/waitForVpcAvailable.js +1 -1
- package/node_modules/@aws-sdk/client-ec2/dist-es/waiters/waitForVpcExists.js +2 -2
- package/node_modules/@aws-sdk/client-ec2/dist-es/waiters/waitForVpcPeeringConnectionDeleted.js +1 -1
- package/node_modules/@aws-sdk/client-ec2/dist-es/waiters/waitForVpcPeeringConnectionExists.js +1 -1
- package/node_modules/@aws-sdk/client-ec2/dist-types/EC2.d.ts +44 -44
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeInstanceTypesCommand.d.ts +5 -1
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ModifyManagedResourceVisibilityCommand.d.ts +2 -2
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ModifyVpnConnectionOptionsCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/models/models_4.d.ts +11 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/models/models_6.d.ts +1 -1
- package/node_modules/@aws-sdk/client-ec2/dist-types/models/models_7.d.ts +6 -1
- package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/EC2.d.ts +50 -44
- package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/commands/ModifyManagedResourceVisibilityCommand.d.ts +1 -1
- package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/models/models_4.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/models/models_6.d.ts +1 -1
- package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/models/models_7.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/waiters/waitForBundleTaskComplete.d.ts +9 -3
- package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/waiters/waitForConversionTaskCancelled.d.ts +9 -3
- package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/waiters/waitForConversionTaskCompleted.d.ts +9 -3
- package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/waiters/waitForConversionTaskDeleted.d.ts +9 -3
- package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/waiters/waitForCustomerGatewayAvailable.d.ts +9 -3
- package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/waiters/waitForExportTaskCancelled.d.ts +9 -3
- package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/waiters/waitForExportTaskCompleted.d.ts +9 -3
- package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/waiters/waitForImageAvailable.d.ts +7 -3
- package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/waiters/waitForImageExists.d.ts +7 -3
- package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/waiters/waitForImageUsageReportAvailable.d.ts +9 -3
- package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/waiters/waitForInstanceExists.d.ts +9 -3
- package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/waiters/waitForInstanceRunning.d.ts +9 -3
- package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/waiters/waitForInstanceStatusOk.d.ts +9 -3
- package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/waiters/waitForInstanceStopped.d.ts +9 -3
- package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/waiters/waitForInstanceTerminated.d.ts +9 -3
- package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/waiters/waitForInternetGatewayExists.d.ts +9 -3
- package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/waiters/waitForKeyPairExists.d.ts +7 -3
- package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/waiters/waitForNatGatewayAvailable.d.ts +9 -3
- package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/waiters/waitForNatGatewayDeleted.d.ts +11 -3
- package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/waiters/waitForNetworkInterfaceAvailable.d.ts +9 -3
- package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/waiters/waitForPasswordDataAvailable.d.ts +7 -3
- package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/waiters/waitForSecondaryNetworkCreateComplete.d.ts +9 -3
- package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/waiters/waitForSecondaryNetworkDeleteComplete.d.ts +9 -3
- package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/waiters/waitForSecondarySubnetCreateComplete.d.ts +9 -3
- package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/waiters/waitForSecondarySubnetDeleteComplete.d.ts +9 -3
- package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/waiters/waitForSecurityGroupExists.d.ts +9 -3
- package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/waiters/waitForSecurityGroupVpcAssociationAssociated.d.ts +11 -3
- package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/waiters/waitForSecurityGroupVpcAssociationDisassociated.d.ts +11 -3
- package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/waiters/waitForSnapshotCompleted.d.ts +9 -3
- package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/waiters/waitForSnapshotImported.d.ts +9 -3
- package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/waiters/waitForSpotInstanceRequestFulfilled.d.ts +9 -3
- package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/waiters/waitForStoreImageTaskComplete.d.ts +9 -3
- package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/waiters/waitForSubnetAvailable.d.ts +7 -3
- package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/waiters/waitForSystemStatusOk.d.ts +9 -3
- package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/waiters/waitForVolumeAvailable.d.ts +7 -3
- package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/waiters/waitForVolumeDeleted.d.ts +7 -3
- package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/waiters/waitForVolumeInUse.d.ts +7 -3
- package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/waiters/waitForVpcAvailable.d.ts +7 -3
- package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/waiters/waitForVpcExists.d.ts +7 -3
- package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/waiters/waitForVpcPeeringConnectionDeleted.d.ts +11 -3
- package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/waiters/waitForVpcPeeringConnectionExists.d.ts +9 -3
- package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/waiters/waitForVpnConnectionAvailable.d.ts +9 -3
- package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/waiters/waitForVpnConnectionDeleted.d.ts +9 -3
- package/node_modules/@aws-sdk/client-ec2/dist-types/waiters/waitForBundleTaskComplete.d.ts +4 -3
- package/node_modules/@aws-sdk/client-ec2/dist-types/waiters/waitForConversionTaskCancelled.d.ts +4 -3
- package/node_modules/@aws-sdk/client-ec2/dist-types/waiters/waitForConversionTaskCompleted.d.ts +4 -3
- package/node_modules/@aws-sdk/client-ec2/dist-types/waiters/waitForConversionTaskDeleted.d.ts +4 -3
- package/node_modules/@aws-sdk/client-ec2/dist-types/waiters/waitForCustomerGatewayAvailable.d.ts +4 -3
- package/node_modules/@aws-sdk/client-ec2/dist-types/waiters/waitForExportTaskCancelled.d.ts +4 -3
- package/node_modules/@aws-sdk/client-ec2/dist-types/waiters/waitForExportTaskCompleted.d.ts +4 -3
- package/node_modules/@aws-sdk/client-ec2/dist-types/waiters/waitForImageAvailable.d.ts +4 -3
- package/node_modules/@aws-sdk/client-ec2/dist-types/waiters/waitForImageExists.d.ts +4 -3
- package/node_modules/@aws-sdk/client-ec2/dist-types/waiters/waitForImageUsageReportAvailable.d.ts +4 -3
- package/node_modules/@aws-sdk/client-ec2/dist-types/waiters/waitForInstanceExists.d.ts +4 -3
- package/node_modules/@aws-sdk/client-ec2/dist-types/waiters/waitForInstanceRunning.d.ts +4 -3
- package/node_modules/@aws-sdk/client-ec2/dist-types/waiters/waitForInstanceStatusOk.d.ts +4 -3
- package/node_modules/@aws-sdk/client-ec2/dist-types/waiters/waitForInstanceStopped.d.ts +4 -3
- package/node_modules/@aws-sdk/client-ec2/dist-types/waiters/waitForInstanceTerminated.d.ts +4 -3
- package/node_modules/@aws-sdk/client-ec2/dist-types/waiters/waitForInternetGatewayExists.d.ts +4 -3
- package/node_modules/@aws-sdk/client-ec2/dist-types/waiters/waitForKeyPairExists.d.ts +4 -3
- package/node_modules/@aws-sdk/client-ec2/dist-types/waiters/waitForNatGatewayAvailable.d.ts +4 -3
- package/node_modules/@aws-sdk/client-ec2/dist-types/waiters/waitForNatGatewayDeleted.d.ts +4 -3
- package/node_modules/@aws-sdk/client-ec2/dist-types/waiters/waitForNetworkInterfaceAvailable.d.ts +4 -3
- package/node_modules/@aws-sdk/client-ec2/dist-types/waiters/waitForPasswordDataAvailable.d.ts +4 -3
- package/node_modules/@aws-sdk/client-ec2/dist-types/waiters/waitForSecondaryNetworkCreateComplete.d.ts +4 -3
- package/node_modules/@aws-sdk/client-ec2/dist-types/waiters/waitForSecondaryNetworkDeleteComplete.d.ts +4 -3
- package/node_modules/@aws-sdk/client-ec2/dist-types/waiters/waitForSecondarySubnetCreateComplete.d.ts +4 -3
- package/node_modules/@aws-sdk/client-ec2/dist-types/waiters/waitForSecondarySubnetDeleteComplete.d.ts +4 -3
- package/node_modules/@aws-sdk/client-ec2/dist-types/waiters/waitForSecurityGroupExists.d.ts +4 -3
- package/node_modules/@aws-sdk/client-ec2/dist-types/waiters/waitForSecurityGroupVpcAssociationAssociated.d.ts +4 -3
- package/node_modules/@aws-sdk/client-ec2/dist-types/waiters/waitForSecurityGroupVpcAssociationDisassociated.d.ts +4 -3
- package/node_modules/@aws-sdk/client-ec2/dist-types/waiters/waitForSnapshotCompleted.d.ts +4 -3
- package/node_modules/@aws-sdk/client-ec2/dist-types/waiters/waitForSnapshotImported.d.ts +4 -3
- package/node_modules/@aws-sdk/client-ec2/dist-types/waiters/waitForSpotInstanceRequestFulfilled.d.ts +4 -3
- package/node_modules/@aws-sdk/client-ec2/dist-types/waiters/waitForStoreImageTaskComplete.d.ts +4 -3
- package/node_modules/@aws-sdk/client-ec2/dist-types/waiters/waitForSubnetAvailable.d.ts +4 -3
- package/node_modules/@aws-sdk/client-ec2/dist-types/waiters/waitForSystemStatusOk.d.ts +4 -3
- package/node_modules/@aws-sdk/client-ec2/dist-types/waiters/waitForVolumeAvailable.d.ts +4 -3
- package/node_modules/@aws-sdk/client-ec2/dist-types/waiters/waitForVolumeDeleted.d.ts +4 -3
- package/node_modules/@aws-sdk/client-ec2/dist-types/waiters/waitForVolumeInUse.d.ts +4 -3
- package/node_modules/@aws-sdk/client-ec2/dist-types/waiters/waitForVpcAvailable.d.ts +4 -3
- package/node_modules/@aws-sdk/client-ec2/dist-types/waiters/waitForVpcExists.d.ts +4 -3
- package/node_modules/@aws-sdk/client-ec2/dist-types/waiters/waitForVpcPeeringConnectionDeleted.d.ts +4 -3
- package/node_modules/@aws-sdk/client-ec2/dist-types/waiters/waitForVpcPeeringConnectionExists.d.ts +4 -3
- package/node_modules/@aws-sdk/client-ec2/dist-types/waiters/waitForVpnConnectionAvailable.d.ts +4 -3
- package/node_modules/@aws-sdk/client-ec2/dist-types/waiters/waitForVpnConnectionDeleted.d.ts +4 -3
- package/node_modules/@aws-sdk/client-ec2/package.json +8 -8
- package/node_modules/@aws-sdk/client-iam/README.md +51 -0
- package/node_modules/@aws-sdk/client-iam/dist-cjs/index.js +4 -4
- package/node_modules/@aws-sdk/client-iam/dist-es/waiters/waitForInstanceProfileExists.js +2 -2
- package/node_modules/@aws-sdk/client-iam/dist-es/waiters/waitForPolicyExists.js +2 -2
- package/node_modules/@aws-sdk/client-iam/dist-es/waiters/waitForRoleExists.js +1 -1
- package/node_modules/@aws-sdk/client-iam/dist-es/waiters/waitForUserExists.js +1 -1
- package/node_modules/@aws-sdk/client-iam/dist-types/IAM.d.ts +55 -4
- package/node_modules/@aws-sdk/client-iam/dist-types/IAMClient.d.ts +51 -0
- package/node_modules/@aws-sdk/client-iam/dist-types/index.d.ts +51 -0
- package/node_modules/@aws-sdk/client-iam/dist-types/models/models_0.d.ts +5 -0
- package/node_modules/@aws-sdk/client-iam/dist-types/ts3.4/IAM.d.ts +4 -4
- package/node_modules/@aws-sdk/client-iam/dist-types/ts3.4/waiters/waitForInstanceProfileExists.d.ts +9 -3
- package/node_modules/@aws-sdk/client-iam/dist-types/ts3.4/waiters/waitForPolicyExists.d.ts +7 -3
- package/node_modules/@aws-sdk/client-iam/dist-types/ts3.4/waiters/waitForRoleExists.d.ts +7 -3
- package/node_modules/@aws-sdk/client-iam/dist-types/ts3.4/waiters/waitForUserExists.d.ts +7 -3
- package/node_modules/@aws-sdk/client-iam/dist-types/waiters/waitForInstanceProfileExists.d.ts +4 -3
- package/node_modules/@aws-sdk/client-iam/dist-types/waiters/waitForPolicyExists.d.ts +4 -3
- package/node_modules/@aws-sdk/client-iam/dist-types/waiters/waitForRoleExists.d.ts +4 -3
- package/node_modules/@aws-sdk/client-iam/dist-types/waiters/waitForUserExists.d.ts +4 -3
- package/node_modules/@aws-sdk/client-iam/package.json +8 -8
- package/node_modules/@aws-sdk/client-lambda/dist-cjs/index.js +1 -1
- package/node_modules/@aws-sdk/client-lambda/dist-es/waiters/waitForFunctionActiveV2.js +1 -1
- package/node_modules/@aws-sdk/client-lambda/dist-es/waiters/waitForFunctionExists.js +2 -2
- package/node_modules/@aws-sdk/client-lambda/dist-es/waiters/waitForFunctionUpdatedV2.js +1 -1
- package/node_modules/@aws-sdk/client-lambda/dist-types/Lambda.d.ts +6 -6
- package/node_modules/@aws-sdk/client-lambda/dist-types/ts3.4/Lambda.d.ts +6 -6
- package/node_modules/@aws-sdk/client-lambda/dist-types/ts3.4/waiters/waitForFunctionActive.d.ts +9 -3
- package/node_modules/@aws-sdk/client-lambda/dist-types/ts3.4/waiters/waitForFunctionActiveV2.d.ts +7 -3
- package/node_modules/@aws-sdk/client-lambda/dist-types/ts3.4/waiters/waitForFunctionExists.d.ts +7 -3
- package/node_modules/@aws-sdk/client-lambda/dist-types/ts3.4/waiters/waitForFunctionUpdated.d.ts +9 -3
- package/node_modules/@aws-sdk/client-lambda/dist-types/ts3.4/waiters/waitForFunctionUpdatedV2.d.ts +7 -3
- package/node_modules/@aws-sdk/client-lambda/dist-types/ts3.4/waiters/waitForPublishedVersionActive.d.ts +9 -3
- package/node_modules/@aws-sdk/client-lambda/dist-types/waiters/waitForFunctionActive.d.ts +4 -3
- package/node_modules/@aws-sdk/client-lambda/dist-types/waiters/waitForFunctionActiveV2.d.ts +4 -3
- package/node_modules/@aws-sdk/client-lambda/dist-types/waiters/waitForFunctionExists.d.ts +4 -3
- package/node_modules/@aws-sdk/client-lambda/dist-types/waiters/waitForFunctionUpdated.d.ts +4 -3
- package/node_modules/@aws-sdk/client-lambda/dist-types/waiters/waitForFunctionUpdatedV2.d.ts +4 -3
- package/node_modules/@aws-sdk/client-lambda/dist-types/waiters/waitForPublishedVersionActive.d.ts +4 -3
- package/node_modules/@aws-sdk/client-lambda/package.json +8 -8
- package/node_modules/@aws-sdk/client-s3/dist-cjs/endpoint/bdd.js +622 -618
- package/node_modules/@aws-sdk/client-s3/dist-cjs/index.js +4 -4
- package/node_modules/@aws-sdk/client-s3/dist-es/endpoint/bdd.js +622 -618
- package/node_modules/@aws-sdk/client-s3/dist-es/waiters/waitForBucketExists.js +2 -2
- package/node_modules/@aws-sdk/client-s3/dist-es/waiters/waitForBucketNotExists.js +2 -2
- package/node_modules/@aws-sdk/client-s3/dist-es/waiters/waitForObjectExists.js +2 -2
- package/node_modules/@aws-sdk/client-s3/dist-es/waiters/waitForObjectNotExists.js +2 -2
- package/node_modules/@aws-sdk/client-s3/dist-types/S3.d.ts +5 -4
- package/node_modules/@aws-sdk/client-s3/dist-types/ts3.4/S3.d.ts +5 -4
- package/node_modules/@aws-sdk/client-s3/dist-types/ts3.4/waiters/waitForBucketExists.d.ts +7 -3
- package/node_modules/@aws-sdk/client-s3/dist-types/ts3.4/waiters/waitForBucketNotExists.d.ts +8 -3
- package/node_modules/@aws-sdk/client-s3/dist-types/ts3.4/waiters/waitForObjectExists.d.ts +7 -3
- package/node_modules/@aws-sdk/client-s3/dist-types/ts3.4/waiters/waitForObjectNotExists.d.ts +8 -3
- package/node_modules/@aws-sdk/client-s3/dist-types/waiters/waitForBucketExists.d.ts +4 -3
- package/node_modules/@aws-sdk/client-s3/dist-types/waiters/waitForBucketNotExists.d.ts +5 -3
- package/node_modules/@aws-sdk/client-s3/dist-types/waiters/waitForObjectExists.d.ts +4 -3
- package/node_modules/@aws-sdk/client-s3/dist-types/waiters/waitForObjectNotExists.d.ts +5 -3
- package/node_modules/@aws-sdk/client-s3/package.json +12 -12
- package/node_modules/@aws-sdk/client-sns/package.json +7 -7
- package/node_modules/@aws-sdk/client-sqs/package.json +7 -7
- package/node_modules/@aws-sdk/client-ssm/dist-cjs/index.js +1 -1
- package/node_modules/@aws-sdk/client-ssm/dist-es/waiters/waitForCommandExecuted.js +1 -1
- package/node_modules/@aws-sdk/client-ssm/dist-types/SSM.d.ts +1 -1
- package/node_modules/@aws-sdk/client-ssm/dist-types/ts3.4/SSM.d.ts +1 -1
- package/node_modules/@aws-sdk/client-ssm/dist-types/ts3.4/waiters/waitForCommandExecuted.d.ts +9 -3
- package/node_modules/@aws-sdk/client-ssm/dist-types/waiters/waitForCommandExecuted.d.ts +4 -3
- package/node_modules/@aws-sdk/client-ssm/package.json +8 -8
- package/node_modules/@aws-sdk/core/dist-cjs/index.js +15 -6
- package/node_modules/@aws-sdk/core/dist-cjs/submodules/client/index.js +15 -6
- package/node_modules/@aws-sdk/core/dist-es/submodules/client/emitWarningIfUnsupportedVersion.js +15 -6
- package/node_modules/@aws-sdk/core/dist-types/submodules/client/emitWarningIfUnsupportedVersion.d.ts +1 -2
- package/node_modules/@aws-sdk/core/package.json +3 -3
- package/node_modules/@aws-sdk/credential-provider-env/package.json +2 -2
- package/node_modules/@aws-sdk/credential-provider-http/package.json +2 -2
- package/node_modules/@aws-sdk/credential-provider-ini/package.json +9 -9
- package/node_modules/@aws-sdk/credential-provider-login/package.json +3 -3
- package/node_modules/@aws-sdk/credential-provider-node/package.json +7 -7
- package/node_modules/@aws-sdk/credential-provider-process/package.json +2 -2
- package/node_modules/@aws-sdk/credential-provider-sso/package.json +4 -4
- package/node_modules/@aws-sdk/credential-provider-web-identity/package.json +3 -3
- package/node_modules/@aws-sdk/middleware-flexible-checksums/package.json +2 -2
- package/node_modules/@aws-sdk/middleware-sdk-s3/package.json +2 -2
- package/node_modules/@aws-sdk/middleware-user-agent/package.json +3 -3
- package/node_modules/@aws-sdk/nested-clients/package.json +7 -7
- package/node_modules/@aws-sdk/signature-v4-multi-region/package.json +2 -2
- package/node_modules/@aws-sdk/token-providers/package.json +3 -3
- package/node_modules/@aws-sdk/util-user-agent-node/package.json +2 -2
- package/node_modules/@aws-sdk/xml-builder/dist-cjs/xml-external/nodable_entities.js +336 -0
- package/node_modules/@aws-sdk/xml-builder/dist-cjs/xml-parser.js +26 -0
- package/node_modules/@aws-sdk/xml-builder/dist-es/xml-external/nodable_entities.js +332 -0
- package/node_modules/@aws-sdk/xml-builder/dist-es/xml-parser.js +26 -0
- package/node_modules/@aws-sdk/xml-builder/dist-types/ts3.4/xml-external/nodable_entities.d.ts +66 -0
- package/node_modules/@aws-sdk/xml-builder/dist-types/xml-external/nodable_entities.d.ts +65 -0
- package/node_modules/@aws-sdk/xml-builder/package.json +3 -2
- package/node_modules/@smithy/middleware-retry/package.json +2 -2
- package/node_modules/@smithy/util-retry/dist-cjs/index.js +7 -3
- package/node_modules/@smithy/util-retry/dist-es/AdaptiveRetryStrategy.js +5 -2
- package/node_modules/@smithy/util-retry/dist-es/DefaultRateLimiter.js +2 -1
- package/node_modules/@smithy/util-retry/package.json +2 -2
- package/node_modules/fast-xml-builder/CHANGELOG.md +24 -0
- package/node_modules/fast-xml-builder/README.md +53 -2
- package/node_modules/fast-xml-builder/lib/fxb.cjs +1 -1
- package/node_modules/fast-xml-builder/lib/fxb.d.cts +91 -1
- package/node_modules/fast-xml-builder/lib/fxb.min.js +1 -1
- package/node_modules/fast-xml-builder/lib/fxb.min.js.map +1 -1
- package/node_modules/fast-xml-builder/package.json +3 -2
- package/node_modules/fast-xml-builder/src/fxb.d.ts +93 -3
- package/node_modules/fast-xml-builder/src/fxb.js +106 -40
- package/node_modules/fast-xml-builder/src/orderedJs2Xml.js +95 -42
- package/node_modules/fast-xml-builder/src/util.js +16 -0
- package/node_modules/fast-xml-parser/CHANGELOG.md +8 -0
- package/node_modules/fast-xml-parser/lib/fxp.cjs +1 -1
- package/node_modules/fast-xml-parser/lib/fxp.min.js +1 -1
- package/node_modules/fast-xml-parser/lib/fxp.min.js.map +1 -1
- package/node_modules/fast-xml-parser/lib/fxparser.min.js +1 -1
- package/node_modules/fast-xml-parser/lib/fxparser.min.js.map +1 -1
- package/node_modules/fast-xml-parser/package.json +1 -1
- package/node_modules/fast-xml-parser/src/xmlparser/OrderedObjParser.js +16 -11
- package/node_modules/fast-xml-parser/src/xmlparser/XMLParser.js +2 -2
- package/node_modules/strnum/CHANGELOG.md +3 -0
- package/node_modules/strnum/package.json +3 -2
- package/node_modules/strnum/strnum.js +12 -10
- package/node_modules/xml-naming/README.md +189 -0
- package/node_modules/xml-naming/package.json +54 -0
- package/node_modules/xml-naming/src/index.d.ts +74 -0
- package/node_modules/xml-naming/src/index.js +270 -0
- package/package.json +10 -10
|
@@ -1,4 +1,15 @@
|
|
|
1
1
|
import { XMLParser } from "fast-xml-parser";
|
|
2
|
+
import { COMMON_HTML, CURRENCY, EntityDecoderImpl, XML } from "./xml-external/nodable_entities";
|
|
3
|
+
const entityDecoder = new EntityDecoderImpl({
|
|
4
|
+
namedEntities: { ...XML, ...COMMON_HTML, ...CURRENCY },
|
|
5
|
+
numericAllowed: true,
|
|
6
|
+
limit: {
|
|
7
|
+
maxTotalExpansions: Infinity,
|
|
8
|
+
},
|
|
9
|
+
ncr: {
|
|
10
|
+
xmlVersion: 1.1,
|
|
11
|
+
},
|
|
12
|
+
});
|
|
2
13
|
const parser = new XMLParser({
|
|
3
14
|
attributeNamePrefix: "",
|
|
4
15
|
processEntities: {
|
|
@@ -6,6 +17,21 @@ const parser = new XMLParser({
|
|
|
6
17
|
maxTotalExpansions: Infinity,
|
|
7
18
|
},
|
|
8
19
|
htmlEntities: true,
|
|
20
|
+
entityDecoder: {
|
|
21
|
+
setExternalEntities: (entities) => {
|
|
22
|
+
entityDecoder.setExternalEntities(entities);
|
|
23
|
+
},
|
|
24
|
+
addInputEntities: (entities) => {
|
|
25
|
+
entityDecoder.addInputEntities(entities);
|
|
26
|
+
},
|
|
27
|
+
reset: () => {
|
|
28
|
+
entityDecoder.reset();
|
|
29
|
+
},
|
|
30
|
+
decode: (text) => {
|
|
31
|
+
return entityDecoder.decode(text);
|
|
32
|
+
},
|
|
33
|
+
setXmlVersion: (version) => void {},
|
|
34
|
+
},
|
|
9
35
|
ignoreAttributes: false,
|
|
10
36
|
ignoreDeclaration: true,
|
|
11
37
|
parseTagValue: false,
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
export declare const XML: Record<string, string>;
|
|
2
|
+
export declare const COMMON_HTML: Record<string, string>;
|
|
3
|
+
export declare const CURRENCY: Record<string, string>;
|
|
4
|
+
type EntityValFn = (
|
|
5
|
+
match: string,
|
|
6
|
+
captured: string,
|
|
7
|
+
...rest: unknown[]
|
|
8
|
+
) => string;
|
|
9
|
+
type ApplyLimitsTo = "external" | "base" | "all" | Array<"external" | "base">;
|
|
10
|
+
interface EntityDecoderLimitOptions {
|
|
11
|
+
maxTotalExpansions?: number;
|
|
12
|
+
maxExpandedLength?: number;
|
|
13
|
+
applyLimitsTo?: ApplyLimitsTo;
|
|
14
|
+
}
|
|
15
|
+
interface EntityDecoderNCROptions {
|
|
16
|
+
xmlVersion?: 1.0 | 1.1;
|
|
17
|
+
onNCR?: "allow" | "leave" | "remove" | "throw";
|
|
18
|
+
nullNCR?: "remove" | "throw";
|
|
19
|
+
}
|
|
20
|
+
interface EntityDecoderOptions {
|
|
21
|
+
namedEntities?: Record<
|
|
22
|
+
string,
|
|
23
|
+
| string
|
|
24
|
+
| {
|
|
25
|
+
regex: RegExp;
|
|
26
|
+
val: string | EntityValFn;
|
|
27
|
+
}
|
|
28
|
+
> | null;
|
|
29
|
+
postCheck?: ((resolved: string, original: string) => string) | null;
|
|
30
|
+
numericAllowed?: boolean;
|
|
31
|
+
leave?: string[];
|
|
32
|
+
remove?: string[];
|
|
33
|
+
limit?: EntityDecoderLimitOptions;
|
|
34
|
+
ncr?: EntityDecoderNCROptions;
|
|
35
|
+
}
|
|
36
|
+
export interface EntityDecoder {
|
|
37
|
+
setExternalEntities(
|
|
38
|
+
map: Record<
|
|
39
|
+
string,
|
|
40
|
+
| string
|
|
41
|
+
| {
|
|
42
|
+
regex: RegExp;
|
|
43
|
+
val: string | EntityValFn;
|
|
44
|
+
}
|
|
45
|
+
>
|
|
46
|
+
): void;
|
|
47
|
+
addExternalEntity(key: string, value: string): void;
|
|
48
|
+
addInputEntities(
|
|
49
|
+
map: Record<
|
|
50
|
+
string,
|
|
51
|
+
| string
|
|
52
|
+
| {
|
|
53
|
+
regx?: RegExp;
|
|
54
|
+
regex?: RegExp;
|
|
55
|
+
val: string | EntityValFn;
|
|
56
|
+
}
|
|
57
|
+
>
|
|
58
|
+
): void;
|
|
59
|
+
reset(): this;
|
|
60
|
+
decode(str: string): string;
|
|
61
|
+
setXmlVersion(version: string): void;
|
|
62
|
+
}
|
|
63
|
+
export declare const EntityDecoderImpl: new (
|
|
64
|
+
options?: EntityDecoderOptions
|
|
65
|
+
) => EntityDecoder;
|
|
66
|
+
export {};
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Contains code from \@nodable/entities v2.1.0
|
|
3
|
+
* Copyright (c) Amit Gupta (https://solothought.com)
|
|
4
|
+
* https://github.com/nodable/val-parsers
|
|
5
|
+
*
|
|
6
|
+
* This file bundles the EntityDecoder class and the named-entity maps
|
|
7
|
+
* (XML, COMMON_HTML, CURRENCY).
|
|
8
|
+
*
|
|
9
|
+
* This is a temporary solution while using this particular custom
|
|
10
|
+
* EntityDecoder class. The module-only nature of the original version
|
|
11
|
+
* is incompatible with some of our users' applications.
|
|
12
|
+
*
|
|
13
|
+
* Given that our CJS dist must call `require` to bring in the module, and
|
|
14
|
+
* because the EntityDecoder class and object are inaccessible via the runtime object surface
|
|
15
|
+
* of the XMLParser, we must inline the package.
|
|
16
|
+
*
|
|
17
|
+
* Q: Why is this necessary given that fast-xml-parser itself uses \@nodable/entities?
|
|
18
|
+
* A: FXP only uses \@nodable/entities when imported in ESM mode. When importing FXP
|
|
19
|
+
* via require, a bundled version is used, unaffected by the module-only nature
|
|
20
|
+
* of the entities package.
|
|
21
|
+
*/
|
|
22
|
+
export declare const XML: Record<string, string>;
|
|
23
|
+
export declare const COMMON_HTML: Record<string, string>;
|
|
24
|
+
export declare const CURRENCY: Record<string, string>;
|
|
25
|
+
type EntityValFn = (match: string, captured: string, ...rest: unknown[]) => string;
|
|
26
|
+
type ApplyLimitsTo = "external" | "base" | "all" | Array<"external" | "base">;
|
|
27
|
+
interface EntityDecoderLimitOptions {
|
|
28
|
+
maxTotalExpansions?: number;
|
|
29
|
+
maxExpandedLength?: number;
|
|
30
|
+
applyLimitsTo?: ApplyLimitsTo;
|
|
31
|
+
}
|
|
32
|
+
interface EntityDecoderNCROptions {
|
|
33
|
+
xmlVersion?: 1.0 | 1.1;
|
|
34
|
+
onNCR?: "allow" | "leave" | "remove" | "throw";
|
|
35
|
+
nullNCR?: "remove" | "throw";
|
|
36
|
+
}
|
|
37
|
+
interface EntityDecoderOptions {
|
|
38
|
+
namedEntities?: Record<string, string | {
|
|
39
|
+
regex: RegExp;
|
|
40
|
+
val: string | EntityValFn;
|
|
41
|
+
}> | null;
|
|
42
|
+
postCheck?: ((resolved: string, original: string) => string) | null;
|
|
43
|
+
numericAllowed?: boolean;
|
|
44
|
+
leave?: string[];
|
|
45
|
+
remove?: string[];
|
|
46
|
+
limit?: EntityDecoderLimitOptions;
|
|
47
|
+
ncr?: EntityDecoderNCROptions;
|
|
48
|
+
}
|
|
49
|
+
export interface EntityDecoder {
|
|
50
|
+
setExternalEntities(map: Record<string, string | {
|
|
51
|
+
regex: RegExp;
|
|
52
|
+
val: string | EntityValFn;
|
|
53
|
+
}>): void;
|
|
54
|
+
addExternalEntity(key: string, value: string): void;
|
|
55
|
+
addInputEntities(map: Record<string, string | {
|
|
56
|
+
regx?: RegExp;
|
|
57
|
+
regex?: RegExp;
|
|
58
|
+
val: string | EntityValFn;
|
|
59
|
+
}>): void;
|
|
60
|
+
reset(): this;
|
|
61
|
+
decode(str: string): string;
|
|
62
|
+
setXmlVersion(version: string): void;
|
|
63
|
+
}
|
|
64
|
+
export declare const EntityDecoderImpl: new (options?: EntityDecoderOptions) => EntityDecoder;
|
|
65
|
+
export {};
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aws-sdk/xml-builder",
|
|
3
|
-
"version": "3.972.
|
|
3
|
+
"version": "3.972.22",
|
|
4
4
|
"description": "XML utilities for the AWS SDK",
|
|
5
5
|
"dependencies": {
|
|
6
|
+
"@nodable/entities": "2.1.0",
|
|
6
7
|
"@smithy/types": "^4.14.1",
|
|
7
|
-
"fast-xml-parser": "5.7.
|
|
8
|
+
"fast-xml-parser": "5.7.2",
|
|
8
9
|
"tslib": "^2.6.2"
|
|
9
10
|
},
|
|
10
11
|
"scripts": {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@smithy/middleware-retry",
|
|
3
|
-
"version": "4.5.
|
|
3
|
+
"version": "4.5.7",
|
|
4
4
|
"scripts": {
|
|
5
5
|
"build": "concurrently 'yarn:build:types' 'yarn:build:es:cjs'",
|
|
6
6
|
"build:es:cjs": "yarn g:tsc -p tsconfig.es.json && node ../../scripts/inline middleware-retry",
|
|
@@ -40,7 +40,7 @@
|
|
|
40
40
|
"@smithy/smithy-client": "^4.12.13",
|
|
41
41
|
"@smithy/types": "^4.14.1",
|
|
42
42
|
"@smithy/util-middleware": "^4.2.14",
|
|
43
|
-
"@smithy/util-retry": "^4.3.
|
|
43
|
+
"@smithy/util-retry": "^4.3.6",
|
|
44
44
|
"@smithy/uuid": "^1.1.2",
|
|
45
45
|
"tslib": "^2.6.2"
|
|
46
46
|
},
|
|
@@ -70,9 +70,10 @@ class DefaultRateLimiter {
|
|
|
70
70
|
return;
|
|
71
71
|
}
|
|
72
72
|
this.refillTokenBucket();
|
|
73
|
-
|
|
73
|
+
while (amount > this.availableTokens) {
|
|
74
74
|
const delay = ((amount - this.availableTokens) / this.fillRate) * 1000;
|
|
75
75
|
await new Promise((resolve) => DefaultRateLimiter.setTimeoutFn(resolve, delay));
|
|
76
|
+
this.refillTokenBucket();
|
|
76
77
|
}
|
|
77
78
|
this.availableTokens = this.availableTokens - amount;
|
|
78
79
|
}
|
|
@@ -291,12 +292,15 @@ class AdaptiveRetryStrategy {
|
|
|
291
292
|
: new StandardRetryStrategy(maxAttemptsProvider);
|
|
292
293
|
}
|
|
293
294
|
async acquireInitialRetryToken(retryTokenScope) {
|
|
295
|
+
const token = await this.standardRetryStrategy.acquireInitialRetryToken(retryTokenScope);
|
|
294
296
|
await this.rateLimiter.getSendToken();
|
|
295
|
-
return
|
|
297
|
+
return token;
|
|
296
298
|
}
|
|
297
299
|
async refreshRetryTokenForRetry(tokenToRenew, errorInfo) {
|
|
298
300
|
this.rateLimiter.updateClientSendingRate(errorInfo);
|
|
299
|
-
|
|
301
|
+
const token = await this.standardRetryStrategy.refreshRetryTokenForRetry(tokenToRenew, errorInfo);
|
|
302
|
+
await this.rateLimiter.getSendToken();
|
|
303
|
+
return token;
|
|
300
304
|
}
|
|
301
305
|
recordSuccess(token) {
|
|
302
306
|
this.rateLimiter.updateClientSendingRate({});
|
|
@@ -16,12 +16,15 @@ export class AdaptiveRetryStrategy {
|
|
|
16
16
|
: new StandardRetryStrategy(maxAttemptsProvider);
|
|
17
17
|
}
|
|
18
18
|
async acquireInitialRetryToken(retryTokenScope) {
|
|
19
|
+
const token = await this.standardRetryStrategy.acquireInitialRetryToken(retryTokenScope);
|
|
19
20
|
await this.rateLimiter.getSendToken();
|
|
20
|
-
return
|
|
21
|
+
return token;
|
|
21
22
|
}
|
|
22
23
|
async refreshRetryTokenForRetry(tokenToRenew, errorInfo) {
|
|
23
24
|
this.rateLimiter.updateClientSendingRate(errorInfo);
|
|
24
|
-
|
|
25
|
+
const token = await this.standardRetryStrategy.refreshRetryTokenForRetry(tokenToRenew, errorInfo);
|
|
26
|
+
await this.rateLimiter.getSendToken();
|
|
27
|
+
return token;
|
|
25
28
|
}
|
|
26
29
|
recordSuccess(token) {
|
|
27
30
|
this.rateLimiter.updateClientSendingRate({});
|
|
@@ -59,9 +59,10 @@ export class DefaultRateLimiter {
|
|
|
59
59
|
return;
|
|
60
60
|
}
|
|
61
61
|
this.refillTokenBucket();
|
|
62
|
-
|
|
62
|
+
while (amount > this.availableTokens) {
|
|
63
63
|
const delay = ((amount - this.availableTokens) / this.fillRate) * 1000;
|
|
64
64
|
await new Promise((resolve) => DefaultRateLimiter.setTimeoutFn(resolve, delay));
|
|
65
|
+
this.refillTokenBucket();
|
|
65
66
|
}
|
|
66
67
|
this.availableTokens = this.availableTokens - amount;
|
|
67
68
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@smithy/util-retry",
|
|
3
|
-
"version": "4.3.
|
|
3
|
+
"version": "4.3.8",
|
|
4
4
|
"description": "Shared retry utilities to be used in middleware packages.",
|
|
5
5
|
"main": "./dist-cjs/index.js",
|
|
6
6
|
"module": "./dist-es/index.js",
|
|
@@ -67,4 +67,4 @@
|
|
|
67
67
|
"publishConfig": {
|
|
68
68
|
"directory": ".release/package"
|
|
69
69
|
}
|
|
70
|
-
}
|
|
70
|
+
}
|
|
@@ -1,3 +1,27 @@
|
|
|
1
|
+
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
**1.2.0** (2026-05-08)
|
|
5
|
+
- Add support for `sanitizeName` option
|
|
6
|
+
- Support xml-naming for validating and sanitizing tag and attribute names
|
|
7
|
+
|
|
8
|
+
**1.1.9** (2026-05-06)
|
|
9
|
+
- fix: format output for preserve order when indent by is set to empty string
|
|
10
|
+
|
|
11
|
+
**1.1.8** (2026-05-05)
|
|
12
|
+
- fix: skip text property for PI tags
|
|
13
|
+
- improve typings
|
|
14
|
+
|
|
15
|
+
**1.1.7** (2026--05-04)
|
|
16
|
+
- fix security issues when attribute value contains quotes
|
|
17
|
+
|
|
18
|
+
**1.1.6** (2026--05-04)
|
|
19
|
+
- fix security issues related to comment
|
|
20
|
+
- skip comment with null value
|
|
21
|
+
|
|
22
|
+
**1.1.5** (2026-04-17)
|
|
23
|
+
- fix security issues related to comment and cdata
|
|
24
|
+
|
|
1
25
|
**1.1.4** (2026-03-16)
|
|
2
26
|
- support maxNestedTags option
|
|
3
27
|
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Build XML from JSON
|
|
3
3
|
|
|
4
4
|
|
|
5
|
-
XML Builder was
|
|
5
|
+
XML Builder was part of [fast-xml-parser](https://github.com/NaturalIntelligence/fast-xml-parser) for years. But considering that any bug in the parser may false-alarm users who are only using the builder, we have decided to split it into a separate package.
|
|
6
6
|
|
|
7
7
|
## Installation
|
|
8
8
|
|
|
@@ -19,5 +19,56 @@ const builder = new XMLBuilder();
|
|
|
19
19
|
const xml = builder.build({ name: 'value' });
|
|
20
20
|
```
|
|
21
21
|
|
|
22
|
-
fast-xml-builder fully
|
|
22
|
+
fast-xml-builder fully supports the response generated by fast-xml-parser. You can use options like `preserveOrder`, `ignoreAttributes`, `attributeNamePrefix`, `textNodeName`, `cdataPropName`, `commentPropName`, `format`, `indentBy`, `suppressEmptyNode`, `suppressUnpairedNode`, `stopNodes`, `oneListGroup`, `maxNestedTags`, and many more.
|
|
23
23
|
|
|
24
|
+
## Default Options
|
|
25
|
+
|
|
26
|
+
```js
|
|
27
|
+
{
|
|
28
|
+
attributeNamePrefix: '@_',
|
|
29
|
+
attributesGroupName: false,
|
|
30
|
+
textNodeName: '#text',
|
|
31
|
+
ignoreAttributes: true,
|
|
32
|
+
cdataPropName: false,
|
|
33
|
+
commentPropName: false,
|
|
34
|
+
format: false,
|
|
35
|
+
indentBy: ' ',
|
|
36
|
+
suppressEmptyNode: false,
|
|
37
|
+
suppressUnpairedNode: true,
|
|
38
|
+
suppressBooleanAttributes: true,
|
|
39
|
+
preserveOrder: false,
|
|
40
|
+
processEntities: true,
|
|
41
|
+
unpairedTags: [],
|
|
42
|
+
stopNodes: [],
|
|
43
|
+
oneListGroup: false,
|
|
44
|
+
maxNestedTags: 100,
|
|
45
|
+
jPath: true,
|
|
46
|
+
tagValueProcessor: (key, val) => val,
|
|
47
|
+
attributeValueProcessor: (attrName, val) => val,
|
|
48
|
+
}
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
## Options Reference
|
|
52
|
+
|
|
53
|
+
Check [Options reference](docs/Builder_v1.md) for more detail and examples.
|
|
54
|
+
|
|
55
|
+
- **arrayNodeName**: When building XML from an array, set `arrayNodeName` to wrap each element in a tag name.
|
|
56
|
+
- **attributeNamePrefix**: Prefix used to identify attribute properties in the JS object. Default: `'@_'`.
|
|
57
|
+
- **attributesGroupName**: Group name for attributes in the JS object. When set, all attributes are expected to be nested under this key. Not supported with `preserveOrder: true`.
|
|
58
|
+
- **attributeValueProcessor**: Customize how attribute values are serialized. Receives the attribute name and value.
|
|
59
|
+
- **cdataPropName**: Property name that identifies CDATA content. Values under this key are wrapped in `<![CDATA[...]]>`.
|
|
60
|
+
- **commentPropName**: Property name that identifies comment content. Values under this key are rendered as `<!-- ... -->`.
|
|
61
|
+
- **format**: By default, output is a single-line XML string. Set `format: true` for human-readable, indented output.
|
|
62
|
+
- **ignoreAttributes**: By default (`true`), attributes are skipped. Set to `false` to include them. Also supports selective ignoring via an array of strings, array of regular expressions, or a callback function.
|
|
63
|
+
- **indentBy**: String used for each level of indentation. Default: `' '` (two spaces). Only applies when `format: true`.
|
|
64
|
+
- **maxNestedTags**: Limits the maximum depth of nested tags. An error is thrown if this depth is exceeded. Default: `100`.
|
|
65
|
+
- **oneListGroup**: Groups all repeated child tags under a single parent tag.
|
|
66
|
+
- **preserveOrder**: When a JS object was produced by XMLParser with `preserveOrder: true`, pass the same option to XMLBuilder to reconstruct the original XML correctly.
|
|
67
|
+
- **processEntities**: When `true` (default), special characters in text and attribute values are replaced with XML entities (`&`, `<`, etc.). Set to `false` for a performance boost when you know your content has no entities. Note: quotes in attribute values are always escaped regardless of this setting.
|
|
68
|
+
- **stopNodes**: Tags listed here are treated as raw content containers — their text content is written as-is without entity encoding. Accepts an array of tag name strings or `Expression` instances from `path-expression-matcher`. The old `*.tagName` wildcard syntax is still accepted and automatically converted to the equivalent `..tagName` deep-wildcard syntax.
|
|
69
|
+
- **suppressBooleanAttributes**: When `true` (default), attributes with the value `true` are rendered without the value (e.g. `<tag attr>` instead of `<tag attr="true">`).
|
|
70
|
+
- **suppressEmptyNode**: When `true`, tags with no text value are rendered as self-closing (`<tag/>`).
|
|
71
|
+
- **suppressUnpairedNode**: When `true` (default), unpaired tags are rendered without a closing slash (`<br>`). When `false`, they are rendered as `<br/>`.
|
|
72
|
+
- **tagValueProcessor**: Customize how tag text values are serialized. Receives the tag name and value.
|
|
73
|
+
- **textNodeName**: Property name representing the text content of a tag in the JS object. Default: `'#text'`.
|
|
74
|
+
- **unpairedTags**: List of tag names that have no matching closing tag (e.g. `<br>` in HTML).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(()=>{"use strict";var t={d:(e,i)=>{for(var s in i)t.o(i,s)&&!t.o(e,s)&&Object.defineProperty(e,s,{enumerable:!0,get:i[s]})},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,{default:()=>f});class i{constructor(t,e={}){this.pattern=t,this.separator=e.separator||".",this.segments=this._parse(t),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 i=0,s="";for(;i<t.length;)t[i]===this.separator?i+1<t.length&&t[i+1]===this.separator?(s.trim()&&(e.push(this._parseSegment(s.trim())),s=""),e.push({type:"deep-wildcard"}),i+=2):(s.trim()&&e.push(this._parseSegment(s.trim())),s="",i++):(s+=t[i],i++);return s.trim()&&e.push(this._parseSegment(s.trim())),e}_parseSegment(t){const e={type:"tag"};let i=null,s=t;const n=t.match(/^([^\[]+)(\[[^\]]*\])(.*)$/);if(n&&(s=n[1]+n[3],n[2])){const t=n[2].slice(1,-1);t&&(i=t)}let o,r,a=s;if(s.includes("::")){const e=s.indexOf("::");if(o=s.substring(0,e).trim(),a=s.substring(e+2).trim(),!o)throw new Error(`Invalid namespace in pattern: ${t}`)}let h=null;if(a.includes(":")){const t=a.lastIndexOf(":"),e=a.substring(0,t).trim(),i=a.substring(t+1).trim();["first","last","odd","even"].includes(i)||/^nth\(\d+\)$/.test(i)?(r=e,h=i):r=a}else r=a;if(!r)throw new Error(`Invalid segment pattern: ${t}`);if(e.tag=r,o&&(e.namespace=o),i)if(i.includes("=")){const t=i.indexOf("=");e.attrName=i.substring(0,t).trim(),e.attrValue=i.substring(t+1).trim()}else e.attrName=i.trim();if(h){const t=h.match(/^nth\((\d+)\)$/);t?(e.position="nth",e.positionValue=parseInt(t[1],10)):e.position=h}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 s{constructor(t={}){this.separator=t.separator||".",this.path=[],this.siblingStacks=[]}push(t,e=null,i=null){this.path.length>0&&(this.path[this.path.length-1].values=void 0);const s=this.path.length;this.siblingStacks[s]||(this.siblingStacks[s]=new Map);const n=this.siblingStacks[s],o=i?`${i}:${t}`:t,r=n.get(o)||0;let a=0;for(const t of n.values())a+=t;n.set(o,r+1);const h={tag:t,position:a,counter:r};null!=i&&(h.namespace=i),null!=e&&(h.values=e),this.path.push(h)}pop(){if(0===this.path.length)return;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;const e=this.path[this.path.length-1];return e.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 i=t||this.separator;return this.path.map(t=>e&&t.namespace?`${t.namespace}:${t.tag}`:t.tag).join(i)}toArray(){return this.path.map(t=>t.tag)}reset(){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++){const i=t[e],s=this.path[e],n=e===this.path.length-1;if(!this._matchSegment(i,s,n))return!1}return!0}_matchWithDeepWildcard(t){let e=this.path.length-1,i=t.length-1;for(;i>=0&&e>=0;){const s=t[i];if("deep-wildcard"===s.type){if(i--,i<0)return!0;const s=t[i];let n=!1;for(let t=e;t>=0;t--){const o=t===this.path.length-1;if(this._matchSegment(s,this.path[t],o)){e=t-1,i--,n=!0;break}}if(!n)return!1}else{const t=e===this.path.length-1;if(!this._matchSegment(s,this.path[e],t))return!1;e--,i--}}return i<0}_matchSegment(t,e,i){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(!i)return!1;if(!e.values||!(t.attrName in e.values))return!1;if(void 0!==t.attrValue){const i=e.values[t.attrName];if(String(i)!==String(t.attrValue))return!1}}if(void 0!==t.position){if(!i)return!1;const s=e.counter??0;if("first"===t.position&&0!==s)return!1;if("odd"===t.position&&s%2!=1)return!1;if("even"===t.position&&s%2!=0)return!1;if("nth"===t.position&&s!==t.positionValue)return!1}return!0}snapshot(){return{path:this.path.map(t=>({...t})),siblingStacks:this.siblingStacks.map(t=>new Map(t))}}restore(t){this.path=t.path.map(t=>({...t})),this.siblingStacks=t.siblingStacks.map(t=>new Map(t))}}function n(t,e){let n="";e.format&&e.indentBy.length>0&&(n="\n");const r=[];if(e.stopNodes&&Array.isArray(e.stopNodes))for(let t=0;t<e.stopNodes.length;t++){const s=e.stopNodes[t];"string"==typeof s?r.push(new i(s)):s instanceof i&&r.push(s)}return o(t,e,n,new s,r)}function o(t,e,i,s,n){let h="",d=!1;if(e.maxNestedTags&&s.getDepth()>e.maxNestedTags)throw new Error("Maximum nested tags exceeded");if(!Array.isArray(t)){if(null!=t){let i=t.toString();return i=c(i,e),i}return""}for(let f=0;f<t.length;f++){const g=t[f],m=p(g);if(void 0===m)continue;const b=r(g[":@"],e);s.push(m,b);const N=l(s,n);if(m===e.textNodeName){let t=g[m];N||(t=e.tagValueProcessor(m,t),t=c(t,e)),d&&(h+=i),h+=t,d=!1,s.pop();continue}if(m===e.cdataPropName){d&&(h+=i),h+=`<![CDATA[${g[m][0][e.textNodeName]}]]>`,d=!1,s.pop();continue}if(m===e.commentPropName){h+=i+`\x3c!--${g[m][0][e.textNodeName]}--\x3e`,d=!0,s.pop();continue}if("?"===m[0]){const t=u(g[":@"],e,N),n="?xml"===m?"":i;let o=g[m][0][e.textNodeName];o=0!==o.length?" "+o:"",h+=n+`<${m}${o}${t}?>`,d=!0,s.pop();continue}let y=i;""!==y&&(y+=e.indentBy);const x=i+`<${m}${u(g[":@"],e,N)}`;let P;P=N?a(g[m],e):o(g[m],e,y,s,n),-1!==e.unpairedTags.indexOf(m)?e.suppressUnpairedNode?h+=x+">":h+=x+"/>":P&&0!==P.length||!e.suppressEmptyNode?P&&P.endsWith(">")?h+=x+`>${P}${i}</${m}>`:(h+=x+">",P&&""!==i&&(P.includes("/>")||P.includes("</"))?h+=i+e.indentBy+P+i:h+=P,h+=`</${m}>`):h+=x+"/>",d=!0,s.pop()}return h}function r(t,e){if(!t||e.ignoreAttributes)return null;const i={};let s=!1;for(let n in t)Object.prototype.hasOwnProperty.call(t,n)&&(i[n.startsWith(e.attributeNamePrefix)?n.substr(e.attributeNamePrefix.length):n]=t[n],s=!0);return s?i:null}function a(t,e){if(!Array.isArray(t))return null!=t?t.toString():"";let i="";for(let s=0;s<t.length;s++){const n=t[s],o=p(n);if(o===e.textNodeName)i+=n[o];else if(o===e.cdataPropName)i+=n[o][0][e.textNodeName];else if(o===e.commentPropName)i+=n[o][0][e.textNodeName];else{if(o&&"?"===o[0])continue;if(o){const t=h(n[":@"],e),s=a(n[o],e);s&&0!==s.length?i+=`<${o}${t}>${s}</${o}>`:i+=`<${o}${t}/>`}}}return i}function h(t,e){let i="";if(t&&!e.ignoreAttributes)for(let s in t){if(!Object.prototype.hasOwnProperty.call(t,s))continue;let n=t[s];!0===n&&e.suppressBooleanAttributes?i+=` ${s.substr(e.attributeNamePrefix.length)}`:i+=` ${s.substr(e.attributeNamePrefix.length)}="${n}"`}return i}function p(t){const e=Object.keys(t);for(let i=0;i<e.length;i++){const s=e[i];if(Object.prototype.hasOwnProperty.call(t,s)&&":@"!==s)return s}}function u(t,e,i){let s="";if(t&&!e.ignoreAttributes)for(let n in t){if(!Object.prototype.hasOwnProperty.call(t,n))continue;let o;i?o=t[n]:(o=e.attributeValueProcessor(n,t[n]),o=c(o,e)),!0===o&&e.suppressBooleanAttributes?s+=` ${n.substr(e.attributeNamePrefix.length)}`:s+=` ${n.substr(e.attributeNamePrefix.length)}="${o}"`}return s}function l(t,e){if(!e||0===e.length)return!1;for(let i=0;i<e.length;i++)if(t.matches(e[i]))return!0;return!1}function c(t,e){if(t&&t.length>0&&e.processEntities)for(let i=0;i<e.entities.length;i++){const s=e.entities[i];t=t.replace(s.regex,s.val)}return t}const d={attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,cdataPropName:!1,format:!1,indentBy:" ",suppressEmptyNode:!1,suppressUnpairedNode:!0,suppressBooleanAttributes:!0,tagValueProcessor:function(t,e){return e},attributeValueProcessor:function(t,e){return e},preserveOrder:!1,commentPropName:!1,unpairedTags:[],entities:[{regex:new RegExp("&","g"),val:"&"},{regex:new RegExp(">","g"),val:">"},{regex:new RegExp("<","g"),val:"<"},{regex:new RegExp("'","g"),val:"'"},{regex:new RegExp('"',"g"),val:"""}],processEntities:!0,stopNodes:[],oneListGroup:!1,maxNestedTags:100,jPath:!0};function f(t){if(this.options=Object.assign({},d,t),this.options.stopNodes&&Array.isArray(this.options.stopNodes)&&(this.options.stopNodes=this.options.stopNodes.map(t=>"string"==typeof t&&t.startsWith("*.")?".."+t.substring(2):t)),this.stopNodeExpressions=[],this.options.stopNodes&&Array.isArray(this.options.stopNodes))for(let t=0;t<this.options.stopNodes.length;t++){const e=this.options.stopNodes[t];"string"==typeof e?this.stopNodeExpressions.push(new i(e)):e instanceof i&&this.stopNodeExpressions.push(e)}var e;!0===this.options.ignoreAttributes||this.options.attributesGroupName?this.isAttribute=function(){return!1}:(this.ignoreAttributesFn="function"==typeof(e=this.options.ignoreAttributes)?e:Array.isArray(e)?t=>{for(const i of e){if("string"==typeof i&&t===i)return!0;if(i instanceof RegExp&&i.test(t))return!0}}:()=>!1,this.attrPrefixLen=this.options.attributeNamePrefix.length,this.isAttribute=b),this.processTextOrObjNode=g,this.options.format?(this.indentate=m,this.tagEndChar=">\n",this.newLine="\n"):(this.indentate=function(){return""},this.tagEndChar=">",this.newLine="")}function g(t,e,i,s){const n=this.extractAttributes(t);if(s.push(e,n),this.checkStopNode(s)){const n=this.buildRawContent(t),o=this.buildAttributesForStopNode(t);return s.pop(),this.buildObjectNode(n,e,o,i)}const o=this.j2x(t,i+1,s);return s.pop(),void 0!==t[this.options.textNodeName]&&1===Object.keys(t).length?this.buildTextValNode(t[this.options.textNodeName],e,o.attrStr,i,s):this.buildObjectNode(o.val,e,o.attrStr,i)}function m(t){return this.options.indentBy.repeat(t)}function b(t){return!(!t.startsWith(this.options.attributeNamePrefix)||t===this.options.textNodeName)&&t.substr(this.attrPrefixLen)}f.prototype.build=function(t){if(this.options.preserveOrder)return n(t,this.options);{Array.isArray(t)&&this.options.arrayNodeName&&this.options.arrayNodeName.length>1&&(t={[this.options.arrayNodeName]:t});const e=new s;return this.j2x(t,0,e).val}},f.prototype.j2x=function(t,e,i){let s="",n="";if(this.options.maxNestedTags&&i.getDepth()>=this.options.maxNestedTags)throw new Error("Maximum nested tags exceeded");const o=this.options.jPath?i.toString():i,r=this.checkStopNode(i);for(let a in t)if(Object.prototype.hasOwnProperty.call(t,a))if(void 0===t[a])this.isAttribute(a)&&(n+="");else if(null===t[a])this.isAttribute(a)||a===this.options.cdataPropName?n+="":"?"===a[0]?n+=this.indentate(e)+"<"+a+"?"+this.tagEndChar:n+=this.indentate(e)+"<"+a+"/"+this.tagEndChar;else if(t[a]instanceof Date)n+=this.buildTextValNode(t[a],a,"",e,i);else if("object"!=typeof t[a]){const h=this.isAttribute(a);if(h&&!this.ignoreAttributesFn(h,o))s+=this.buildAttrPairStr(h,""+t[a],r);else if(!h)if(a===this.options.textNodeName){let e=this.options.tagValueProcessor(a,""+t[a]);n+=this.replaceEntitiesValue(e)}else{i.push(a);const s=this.checkStopNode(i);if(i.pop(),s){const i=""+t[a];n+=""===i?this.indentate(e)+"<"+a+this.closeTag(a)+this.tagEndChar:this.indentate(e)+"<"+a+">"+i+"</"+a+this.tagEndChar}else n+=this.buildTextValNode(t[a],a,"",e,i)}}else if(Array.isArray(t[a])){const s=t[a].length;let o="",r="";for(let h=0;h<s;h++){const s=t[a][h];if(void 0===s);else if(null===s)"?"===a[0]?n+=this.indentate(e)+"<"+a+"?"+this.tagEndChar:n+=this.indentate(e)+"<"+a+"/"+this.tagEndChar;else if("object"==typeof s)if(this.options.oneListGroup){i.push(a);const t=this.j2x(s,e+1,i);i.pop(),o+=t.val,this.options.attributesGroupName&&s.hasOwnProperty(this.options.attributesGroupName)&&(r+=t.attrStr)}else o+=this.processTextOrObjNode(s,a,e,i);else if(this.options.oneListGroup){let t=this.options.tagValueProcessor(a,s);t=this.replaceEntitiesValue(t),o+=t}else{i.push(a);const t=this.checkStopNode(i);if(i.pop(),t){const t=""+s;o+=""===t?this.indentate(e)+"<"+a+this.closeTag(a)+this.tagEndChar:this.indentate(e)+"<"+a+">"+t+"</"+a+this.tagEndChar}else o+=this.buildTextValNode(s,a,"",e,i)}}this.options.oneListGroup&&(o=this.buildObjectNode(o,a,r,e)),n+=o}else if(this.options.attributesGroupName&&a===this.options.attributesGroupName){const e=Object.keys(t[a]),i=e.length;for(let n=0;n<i;n++)s+=this.buildAttrPairStr(e[n],""+t[a][e[n]],r)}else n+=this.processTextOrObjNode(t[a],a,e,i);return{attrStr:s,val:n}},f.prototype.buildAttrPairStr=function(t,e,i){return i||(e=this.options.attributeValueProcessor(t,""+e),e=this.replaceEntitiesValue(e)),this.options.suppressBooleanAttributes&&"true"===e?" "+t:" "+t+'="'+e+'"'},f.prototype.extractAttributes=function(t){if(!t||"object"!=typeof t)return null;const e={};let i=!1;if(this.options.attributesGroupName&&t[this.options.attributesGroupName]){const s=t[this.options.attributesGroupName];for(let t in s)Object.prototype.hasOwnProperty.call(s,t)&&(e[t.startsWith(this.options.attributeNamePrefix)?t.substring(this.options.attributeNamePrefix.length):t]=s[t],i=!0)}else for(let s in t){if(!Object.prototype.hasOwnProperty.call(t,s))continue;const n=this.isAttribute(s);n&&(e[n]=t[s],i=!0)}return i?e:null},f.prototype.buildRawContent=function(t){if("string"==typeof t)return t;if("object"!=typeof t||null===t)return String(t);if(void 0!==t[this.options.textNodeName])return t[this.options.textNodeName];let e="";for(let i in t){if(!Object.prototype.hasOwnProperty.call(t,i))continue;if(this.isAttribute(i))continue;if(this.options.attributesGroupName&&i===this.options.attributesGroupName)continue;const s=t[i];if(i===this.options.textNodeName)e+=s;else if(Array.isArray(s)){for(let t of s)if("string"==typeof t||"number"==typeof t)e+=`<${i}>${t}</${i}>`;else if("object"==typeof t&&null!==t){const s=this.buildRawContent(t),n=this.buildAttributesForStopNode(t);e+=""===s?`<${i}${n}/>`:`<${i}${n}>${s}</${i}>`}}else if("object"==typeof s&&null!==s){const t=this.buildRawContent(s),n=this.buildAttributesForStopNode(s);e+=""===t?`<${i}${n}/>`:`<${i}${n}>${t}</${i}>`}else e+=`<${i}>${s}</${i}>`}return e},f.prototype.buildAttributesForStopNode=function(t){if(!t||"object"!=typeof t)return"";let e="";if(this.options.attributesGroupName&&t[this.options.attributesGroupName]){const i=t[this.options.attributesGroupName];for(let t in i){if(!Object.prototype.hasOwnProperty.call(i,t))continue;const s=t.startsWith(this.options.attributeNamePrefix)?t.substring(this.options.attributeNamePrefix.length):t,n=i[t];!0===n&&this.options.suppressBooleanAttributes?e+=" "+s:e+=" "+s+'="'+n+'"'}}else for(let i in t){if(!Object.prototype.hasOwnProperty.call(t,i))continue;const s=this.isAttribute(i);if(s){const n=t[i];!0===n&&this.options.suppressBooleanAttributes?e+=" "+s:e+=" "+s+'="'+n+'"'}}return e},f.prototype.buildObjectNode=function(t,e,i,s){if(""===t)return"?"===e[0]?this.indentate(s)+"<"+e+i+"?"+this.tagEndChar:this.indentate(s)+"<"+e+i+this.closeTag(e)+this.tagEndChar;{let n="</"+e+this.tagEndChar,o="";return"?"===e[0]&&(o="?",n=""),!i&&""!==i||-1!==t.indexOf("<")?!1!==this.options.commentPropName&&e===this.options.commentPropName&&0===o.length?this.indentate(s)+`\x3c!--${t}--\x3e`+this.newLine:this.indentate(s)+"<"+e+i+o+this.tagEndChar+t+this.indentate(s)+n:this.indentate(s)+"<"+e+i+o+">"+t+n}},f.prototype.closeTag=function(t){let e="";return-1!==this.options.unpairedTags.indexOf(t)?this.options.suppressUnpairedNode||(e="/"):e=this.options.suppressEmptyNode?"/":`></${t}`,e},f.prototype.checkStopNode=function(t){if(!this.stopNodeExpressions||0===this.stopNodeExpressions.length)return!1;for(let e=0;e<this.stopNodeExpressions.length;e++)if(t.matches(this.stopNodeExpressions[e]))return!0;return!1},f.prototype.buildTextValNode=function(t,e,i,s,n){if(!1!==this.options.cdataPropName&&e===this.options.cdataPropName)return this.indentate(s)+`<![CDATA[${t}]]>`+this.newLine;if(!1!==this.options.commentPropName&&e===this.options.commentPropName)return this.indentate(s)+`\x3c!--${t}--\x3e`+this.newLine;if("?"===e[0])return this.indentate(s)+"<"+e+i+"?"+this.tagEndChar;{let n=this.options.tagValueProcessor(e,t);return n=this.replaceEntitiesValue(n),""===n?this.indentate(s)+"<"+e+i+this.closeTag(e)+this.tagEndChar:this.indentate(s)+"<"+e+i+">"+n+"</"+e+this.tagEndChar}},f.prototype.replaceEntitiesValue=function(t){if(t&&t.length>0&&this.options.processEntities)for(let e=0;e<this.options.entities.length;e++){const i=this.options.entities[e];t=t.replace(i.regex,i.val)}return t},module.exports=e})();
|
|
1
|
+
(()=>{"use strict";var t={d:(e,i)=>{for(var s in i)t.o(i,s)&&!t.o(e,s)&&Object.defineProperty(e,s,{enumerable:!0,get:i[s]})},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,{default:()=>w});class i{constructor(t,e={},i){this.pattern=t,this.separator=e.separator||".",this.segments=this._parse(t),this.data=i,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 i=0,s="";for(;i<t.length;)t[i]===this.separator?i+1<t.length&&t[i+1]===this.separator?(s.trim()&&(e.push(this._parseSegment(s.trim())),s=""),e.push({type:"deep-wildcard"}),i+=2):(s.trim()&&e.push(this._parseSegment(s.trim())),s="",i++):(s+=t[i],i++);return s.trim()&&e.push(this._parseSegment(s.trim())),e}_parseSegment(t){const e={type:"tag"};let i=null,s=t;const n=t.match(/^([^\[]+)(\[[^\]]*\])(.*)$/);if(n&&(s=n[1]+n[3],n[2])){const t=n[2].slice(1,-1);t&&(i=t)}let r,o,a=s;if(s.includes("::")){const e=s.indexOf("::");if(r=s.substring(0,e).trim(),a=s.substring(e+2).trim(),!r)throw new Error(`Invalid namespace in pattern: ${t}`)}let h=null;if(a.includes(":")){const t=a.lastIndexOf(":"),e=a.substring(0,t).trim(),i=a.substring(t+1).trim();["first","last","odd","even"].includes(i)||/^nth\(\d+\)$/.test(i)?(o=e,h=i):o=a}else o=a;if(!o)throw new Error(`Invalid segment pattern: ${t}`);if(e.tag=o,r&&(e.namespace=r),i)if(i.includes("=")){const t=i.indexOf("=");e.attrName=i.substring(0,t).trim(),e.attrValue=i.substring(t+1).trim()}else e.attrName=i.trim();if(h){const t=h.match(/^nth\((\d+)\)$/);t?(e.position="nth",e.positionValue=parseInt(t[1],10)):e.position=h}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 s{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 i=e[e.length-1];return void 0!==i.values&&t in i.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 s(this)}push(t,e=null,i=null){this._pathStringCache=null,this.path.length>0&&(this.path[this.path.length-1].values=void 0);const s=this.path.length;this.siblingStacks[s]||(this.siblingStacks[s]=new Map);const n=this.siblingStacks[s],r=i?`${i}:${t}`:t,o=n.get(r)||0;let a=0;for(const t of n.values())a+=t;n.set(r,o+1);const h={tag:t,position:a,counter:o};null!=i&&(h.namespace=i),null!=e&&(h.values=e),this.path.push(h)}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 i=t||this.separator;if(i===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(i);return this._pathStringCache=t,t}return this.path.map(t=>e&&t.namespace?`${t.namespace}:${t.tag}`:t.tag).join(i)}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,i=t.length-1;for(;i>=0&&e>=0;){const s=t[i];if("deep-wildcard"===s.type){if(i--,i<0)return!0;const s=t[i];let n=!1;for(let t=e;t>=0;t--)if(this._matchSegment(s,this.path[t],t===this.path.length-1)){e=t-1,i--,n=!0;break}if(!n)return!1}else{if(!this._matchSegment(s,this.path[e],e===this.path.length-1))return!1;e--,i--}}return i<0}_matchSegment(t,e,i){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(!i)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(!i)return!1;const s=e.counter??0;if("first"===t.position&&0!==s)return!1;if("odd"===t.position&&s%2!=1)return!1;if("even"===t.position&&s%2!=0)return!1;if("nth"===t.position&&s!==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}}function r(t){return String(t).replace(/--/g,"- -").replace(/--/g,"- -").replace(/-$/,"- ")}function o(t){return String(t).replace(/\]\]>/g,"]]]]><![CDATA[>")}function a(t){return String(t).replace(/"/g,""").replace(/'/g,"'")}const h=":A-Za-z_À-ÖØ-öø-˿Ͱ-ͽͿ-҆҈--⁰-Ⰰ-、-豈-﷏ﷰ-�",p=":A-Za-z_À-˿Ͱ-ͽͿ-҆҈--⁰-Ⰰ-、-豈-﷏ﷰ-�𐀀-",u=p+"\\-\\.\\d·̀-ͯ҇‿-⁀",l=(t,e,i="")=>{const s=`[${t.replace(":","")}][${e.replace(":","")}]*`;return{name:new RegExp(`^[${t}][${e}]*$`,i),ncName:new RegExp(`^${s}$`,i),qName:new RegExp(`^${s}(?::${s})?$`,i),nmToken:new RegExp(`^[${e}]+$`,i),nmTokens:new RegExp(`^[${e}]+(?:\\s+[${e}]+)*$`,i)}},c=l(h,h+"\\-\\.\\d·̀-ͯ‿-⁀"),g=l(p,u,"u"),d=(t,{xmlVersion:e="1.0"}={})=>((t="1.0")=>"1.1"===t?g:c)(e).qName.test(t);function f(t,e,i,s,n){return i.sanitizeName?d(t,{xmlVersion:n})?t:i.sanitizeName(t,{isAttribute:e,matcher:s.readOnly()}):t}function m(t,e){let s="";e.format&&(s="\n");const r=[];if(e.stopNodes&&Array.isArray(e.stopNodes))for(let t=0;t<e.stopNodes.length;t++){const s=e.stopNodes[t];"string"==typeof s?r.push(new i(s)):s instanceof i&&r.push(s)}const o=function(t,e){if(!Array.isArray(t)||0===t.length)return"1.0";const i=t[0];if("?xml"===A(i)){const t=i[":@"];if(t){const i=e.attributeNamePrefix+"version";if(t[i])return t[i]}}return"1.0"}(t,e);return N(t,e,s,new n,r,o)}function N(t,e,i,s,n,a){let h="",p=!1;if(e.maxNestedTags&&s.getDepth()>e.maxNestedTags)throw new Error("Maximum nested tags exceeded");if(!Array.isArray(t)){if(null!=t){let i=t.toString();return i=S(i,e),i}return""}for(let u=0;u<t.length;u++){const l=t[u],c=A(l);if(void 0===c)continue;const g=c===e.textNodeName||c===e.cdataPropName||c===e.commentPropName||"?"===c[0]?c:f(c,!1,e,s,a),d=b(l[":@"],e);s.push(g,d);const m=P(s,n);if(g===e.textNodeName){let t=l[c];m||(t=e.tagValueProcessor(g,t),t=S(t,e)),p&&(h+=i),h+=t,p=!1,s.pop();continue}if(g===e.cdataPropName){p&&(h+=i),h+=`<![CDATA[${o(l[c][0][e.textNodeName])}]]>`,p=!1,s.pop();continue}if(g===e.commentPropName){h+=i+`\x3c!--${r(l[c][0][e.textNodeName])}--\x3e`,p=!0,s.pop();continue}if("?"===g[0]){h+=("?xml"===g?"":i)+`<${g}${$(l[":@"],e,m,s,a)}?>`,p=!0,s.pop();continue}let y=i;""!==y&&(y+=e.indentBy);const v=i+`<${g}${$(l[":@"],e,m,s,a)}`;let w;w=m?x(l[c],e):N(l[c],e,y,s,n,a),-1!==e.unpairedTags.indexOf(g)?e.suppressUnpairedNode?h+=v+">":h+=v+"/>":w&&0!==w.length||!e.suppressEmptyNode?w&&w.endsWith(">")?h+=v+`>${w}${i}</${g}>`:(h+=v+">",w&&""!==i&&(w.includes("/>")||w.includes("</"))?h+=i+e.indentBy+w+i:h+=w,h+=`</${g}>`):h+=v+"/>",p=!0,s.pop()}return h}function b(t,e){if(!t||e.ignoreAttributes)return null;const i={};let s=!1;for(let n in t)Object.prototype.hasOwnProperty.call(t,n)&&(i[n.startsWith(e.attributeNamePrefix)?n.substr(e.attributeNamePrefix.length):n]=a(t[n]),s=!0);return s?i:null}function x(t,e){if(!Array.isArray(t))return null!=t?t.toString():"";let i="";for(let s=0;s<t.length;s++){const n=t[s],r=A(n);if(r===e.textNodeName)i+=n[r];else if(r===e.cdataPropName)i+=n[r][0][e.textNodeName];else if(r===e.commentPropName)i+=n[r][0][e.textNodeName];else{if(r&&"?"===r[0])continue;if(r){const t=y(n[":@"],e),s=x(n[r],e);s&&0!==s.length?i+=`<${r}${t}>${s}</${r}>`:i+=`<${r}${t}/>`}}}return i}function y(t,e){let i="";if(t&&!e.ignoreAttributes)for(let s in t){if(!Object.prototype.hasOwnProperty.call(t,s))continue;let n=t[s];!0===n&&e.suppressBooleanAttributes?i+=` ${s.substr(e.attributeNamePrefix.length)}`:i+=` ${s.substr(e.attributeNamePrefix.length)}="${a(n)}"`}return i}function A(t){const e=Object.keys(t);for(let i=0;i<e.length;i++){const s=e[i];if(Object.prototype.hasOwnProperty.call(t,s)&&":@"!==s)return s}}function $(t,e,i,s,n){let r="";if(t&&!e.ignoreAttributes)for(let o in t){if(!Object.prototype.hasOwnProperty.call(t,o))continue;const h=o.substr(e.attributeNamePrefix.length),p=i?h:f(h,!0,e,s,n);let u;i?u=t[o]:(u=e.attributeValueProcessor(o,t[o]),u=S(u,e)),!0===u&&e.suppressBooleanAttributes?r+=` ${p}`:r+=` ${p}="${a(u)}"`}return r}function P(t,e){if(!e||0===e.length)return!1;for(let i=0;i<e.length;i++)if(t.matches(e[i]))return!0;return!1}function S(t,e){if(t&&t.length>0&&e.processEntities)for(let i=0;i<e.entities.length;i++){const s=e.entities[i];t=t.replace(s.regex,s.val)}return t}const v={attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,cdataPropName:!1,format:!1,indentBy:" ",suppressEmptyNode:!1,suppressUnpairedNode:!0,suppressBooleanAttributes:!0,tagValueProcessor:function(t,e){return e},attributeValueProcessor:function(t,e){return e},preserveOrder:!1,commentPropName:!1,unpairedTags:[],entities:[{regex:new RegExp("&","g"),val:"&"},{regex:new RegExp(">","g"),val:">"},{regex:new RegExp("<","g"),val:"<"},{regex:new RegExp("'","g"),val:"'"},{regex:new RegExp('"',"g"),val:"""}],processEntities:!0,stopNodes:[],oneListGroup:!1,maxNestedTags:100,jPath:!0,sanitizeName:!1};function w(t){if(this.options=Object.assign({},v,t),this.options.stopNodes&&Array.isArray(this.options.stopNodes)&&(this.options.stopNodes=this.options.stopNodes.map(t=>"string"==typeof t&&t.startsWith("*.")?".."+t.substring(2):t)),this.stopNodeExpressions=[],this.options.stopNodes&&Array.isArray(this.options.stopNodes))for(let t=0;t<this.options.stopNodes.length;t++){const e=this.options.stopNodes[t];"string"==typeof e?this.stopNodeExpressions.push(new i(e)):e instanceof i&&this.stopNodeExpressions.push(e)}var e;!0===this.options.ignoreAttributes||this.options.attributesGroupName?this.isAttribute=function(){return!1}:(this.ignoreAttributesFn="function"==typeof(e=this.options.ignoreAttributes)?e:Array.isArray(e)?t=>{for(const i of e){if("string"==typeof i&&t===i)return!0;if(i instanceof RegExp&&i.test(t))return!0}}:()=>!1,this.attrPrefixLen=this.options.attributeNamePrefix.length,this.isAttribute=C),this.processTextOrObjNode=O,this.options.format?(this.indentate=_,this.tagEndChar=">\n",this.newLine="\n"):(this.indentate=function(){return""},this.tagEndChar=">",this.newLine="")}function E(t,e,i,s,n){return i.sanitizeName?d(t,{xmlVersion:n})?t:i.sanitizeName(t,{isAttribute:e,matcher:s.readOnly()}):t}function O(t,e,i,s,n){const r=this.extractAttributes(t);if(s.push(e,r),this.checkStopNode(s)){const n=this.buildRawContent(t),r=this.buildAttributesForStopNode(t);return s.pop(),this.buildObjectNode(n,e,r,i)}const o=this.j2x(t,i+1,s,n);return s.pop(),"?"===e[0]?this.buildTextValNode("",e,o.attrStr,i,s):void 0!==t[this.options.textNodeName]&&1===Object.keys(t).length?this.buildTextValNode(t[this.options.textNodeName],e,o.attrStr,i,s):this.buildObjectNode(o.val,e,o.attrStr,i)}function _(t){return this.options.indentBy.repeat(t)}function C(t){return!(!t.startsWith(this.options.attributeNamePrefix)||t===this.options.textNodeName)&&t.substr(this.attrPrefixLen)}w.prototype.build=function(t){if(this.options.preserveOrder)return m(t,this.options);{Array.isArray(t)&&this.options.arrayNodeName&&this.options.arrayNodeName.length>1&&(t={[this.options.arrayNodeName]:t});const e=new n,i=function(t,e){const i=t["?xml"];if(i&&"object"==typeof i){if(e.attributesGroupName&&i[e.attributesGroupName]){const t=i[e.attributesGroupName][e.attributeNamePrefix+"version"];if(t)return t}const t=i[e.attributeNamePrefix+"version"];if(t)return t}return"1.0"}(t,this.options);return this.j2x(t,0,e,i).val}},w.prototype.j2x=function(t,e,i,s){let n="",r="";if(this.options.maxNestedTags&&i.getDepth()>=this.options.maxNestedTags)throw new Error("Maximum nested tags exceeded");const o=this.options.jPath?i.toString():i,a=this.checkStopNode(i);for(let h in t){if(!Object.prototype.hasOwnProperty.call(t,h))continue;const p=h===this.options.textNodeName||h===this.options.cdataPropName||h===this.options.commentPropName||this.options.attributesGroupName&&h===this.options.attributesGroupName||this.isAttribute(h)||"?"===h[0]?h:E(h,!1,this.options,i,s);if(void 0===t[h])this.isAttribute(h)&&(r+="");else if(null===t[h])this.isAttribute(h)||p===this.options.cdataPropName||p===this.options.commentPropName?r+="":"?"===p[0]?r+=this.indentate(e)+"<"+p+"?"+this.tagEndChar:r+=this.indentate(e)+"<"+p+"/"+this.tagEndChar;else if(t[h]instanceof Date)r+=this.buildTextValNode(t[h],p,"",e,i);else if("object"!=typeof t[h]){const u=this.isAttribute(h);if(u&&!this.ignoreAttributesFn(u,o)){const e=E(u,!0,this.options,i,s);n+=this.buildAttrPairStr(e,""+t[h],a)}else if(!u)if(h===this.options.textNodeName){let e=this.options.tagValueProcessor(h,""+t[h]);r+=this.replaceEntitiesValue(e)}else{i.push(p);const s=this.checkStopNode(i);if(i.pop(),s){const i=""+t[h];r+=""===i?this.indentate(e)+"<"+p+this.closeTag(p)+this.tagEndChar:this.indentate(e)+"<"+p+">"+i+"</"+p+this.tagEndChar}else r+=this.buildTextValNode(t[h],p,"",e,i)}}else if(Array.isArray(t[h])){const n=t[h].length;let o="",a="";for(let u=0;u<n;u++){const n=t[h][u];if(void 0===n);else if(null===n)"?"===p[0]?r+=this.indentate(e)+"<"+p+"?"+this.tagEndChar:r+=this.indentate(e)+"<"+p+"/"+this.tagEndChar;else if("object"==typeof n)if(this.options.oneListGroup){i.push(p);const t=this.j2x(n,e+1,i,s);i.pop(),o+=t.val,this.options.attributesGroupName&&n.hasOwnProperty(this.options.attributesGroupName)&&(a+=t.attrStr)}else o+=this.processTextOrObjNode(n,p,e,i,s);else if(this.options.oneListGroup){let t=this.options.tagValueProcessor(p,n);t=this.replaceEntitiesValue(t),o+=t}else{i.push(p);const t=this.checkStopNode(i);if(i.pop(),t){const t=""+n;o+=""===t?this.indentate(e)+"<"+p+this.closeTag(p)+this.tagEndChar:this.indentate(e)+"<"+p+">"+t+"</"+p+this.tagEndChar}else o+=this.buildTextValNode(n,p,"",e,i)}}this.options.oneListGroup&&(o=this.buildObjectNode(o,p,a,e)),r+=o}else if(this.options.attributesGroupName&&h===this.options.attributesGroupName){const e=Object.keys(t[h]),r=e.length;for(let o=0;o<r;o++){const r=E(e[o],!0,this.options,i,s);n+=this.buildAttrPairStr(r,""+t[h][e[o]],a)}}else r+=this.processTextOrObjNode(t[h],p,e,i,s)}return{attrStr:n,val:r}},w.prototype.buildAttrPairStr=function(t,e,i){return i||(e=this.options.attributeValueProcessor(t,""+e),e=this.replaceEntitiesValue(e)),this.options.suppressBooleanAttributes&&"true"===e?" "+t:" "+t+'="'+a(e)+'"'},w.prototype.extractAttributes=function(t){if(!t||"object"!=typeof t)return null;const e={};let i=!1;if(this.options.attributesGroupName&&t[this.options.attributesGroupName]){const s=t[this.options.attributesGroupName];for(let t in s)Object.prototype.hasOwnProperty.call(s,t)&&(e[t.startsWith(this.options.attributeNamePrefix)?t.substring(this.options.attributeNamePrefix.length):t]=a(s[t]),i=!0)}else for(let s in t){if(!Object.prototype.hasOwnProperty.call(t,s))continue;const n=this.isAttribute(s);n&&(e[n]=a(t[s]),i=!0)}return i?e:null},w.prototype.buildRawContent=function(t){if("string"==typeof t)return t;if("object"!=typeof t||null===t)return String(t);if(void 0!==t[this.options.textNodeName])return t[this.options.textNodeName];let e="";for(let i in t){if(!Object.prototype.hasOwnProperty.call(t,i))continue;if(this.isAttribute(i))continue;if(this.options.attributesGroupName&&i===this.options.attributesGroupName)continue;const s=t[i];if(i===this.options.textNodeName)e+=s;else if(Array.isArray(s)){for(let t of s)if("string"==typeof t||"number"==typeof t)e+=`<${i}>${t}</${i}>`;else if("object"==typeof t&&null!==t){const s=this.buildRawContent(t),n=this.buildAttributesForStopNode(t);e+=""===s?`<${i}${n}/>`:`<${i}${n}>${s}</${i}>`}}else if("object"==typeof s&&null!==s){const t=this.buildRawContent(s),n=this.buildAttributesForStopNode(s);e+=""===t?`<${i}${n}/>`:`<${i}${n}>${t}</${i}>`}else e+=`<${i}>${s}</${i}>`}return e},w.prototype.buildAttributesForStopNode=function(t){if(!t||"object"!=typeof t)return"";let e="";if(this.options.attributesGroupName&&t[this.options.attributesGroupName]){const i=t[this.options.attributesGroupName];for(let t in i){if(!Object.prototype.hasOwnProperty.call(i,t))continue;const s=t.startsWith(this.options.attributeNamePrefix)?t.substring(this.options.attributeNamePrefix.length):t,n=i[t];!0===n&&this.options.suppressBooleanAttributes?e+=" "+s:e+=" "+s+'="'+n+'"'}}else for(let i in t){if(!Object.prototype.hasOwnProperty.call(t,i))continue;const s=this.isAttribute(i);if(s){const n=t[i];!0===n&&this.options.suppressBooleanAttributes?e+=" "+s:e+=" "+s+'="'+n+'"'}}return e},w.prototype.buildObjectNode=function(t,e,i,s){if(""===t)return"?"===e[0]?this.indentate(s)+"<"+e+i+"?"+this.tagEndChar:this.indentate(s)+"<"+e+i+this.closeTag(e)+this.tagEndChar;if("?"===e[0])return this.indentate(s)+"<"+e+i+"?"+this.tagEndChar;{let n="</"+e+this.tagEndChar,r="";return"?"===e[0]&&(r="?",n=""),!i&&""!==i||-1!==t.indexOf("<")?!1!==this.options.commentPropName&&e===this.options.commentPropName&&0===r.length?this.indentate(s)+`\x3c!--${t}--\x3e`+this.newLine:this.indentate(s)+"<"+e+i+r+this.tagEndChar+t+this.indentate(s)+n:this.indentate(s)+"<"+e+i+r+">"+t+n}},w.prototype.closeTag=function(t){let e="";return-1!==this.options.unpairedTags.indexOf(t)?this.options.suppressUnpairedNode||(e="/"):e=this.options.suppressEmptyNode?"/":`></${t}`,e},w.prototype.checkStopNode=function(t){if(!this.stopNodeExpressions||0===this.stopNodeExpressions.length)return!1;for(let e=0;e<this.stopNodeExpressions.length;e++)if(t.matches(this.stopNodeExpressions[e]))return!0;return!1},w.prototype.buildTextValNode=function(t,e,i,s,n){if(!1!==this.options.cdataPropName&&e===this.options.cdataPropName){const e=o(t);return this.indentate(s)+`<![CDATA[${e}]]>`+this.newLine}if(!1!==this.options.commentPropName&&e===this.options.commentPropName){const e=r(t);return this.indentate(s)+`\x3c!--${e}--\x3e`+this.newLine}if("?"===e[0])return this.indentate(s)+"<"+e+i+"?"+this.tagEndChar;{let n=this.options.tagValueProcessor(e,t);return n=this.replaceEntitiesValue(n),""===n?this.indentate(s)+"<"+e+i+this.closeTag(e)+this.tagEndChar:this.indentate(s)+"<"+e+i+">"+n+"</"+e+this.tagEndChar}},w.prototype.replaceEntitiesValue=function(t){if(t&&t.length>0&&this.options.processEntities)for(let e=0;e<this.options.entities.length;e++){const i=this.options.entities[e];t=t.replace(i.regex,i.val)}return t},module.exports=e})();
|
|
@@ -1,8 +1,51 @@
|
|
|
1
1
|
// const { Expression } = require('path-expression-matcher');
|
|
2
2
|
|
|
3
|
-
type Matcher = unknown;
|
|
3
|
+
//type Matcher = unknown;
|
|
4
4
|
type Expression = unknown;
|
|
5
5
|
|
|
6
|
+
/**
|
|
7
|
+
* A lightweight, live read-only view of a Matcher instance.
|
|
8
|
+
*
|
|
9
|
+
* Returned by `Matcher.readOnly()`. The same instance is reused across every
|
|
10
|
+
* callback invocation — no allocation overhead per call. Reads directly from
|
|
11
|
+
* the parent Matcher's internal state so it always reflects the current parser
|
|
12
|
+
* position with no copying or freezing.
|
|
13
|
+
*/
|
|
14
|
+
class MatcherView {
|
|
15
|
+
readonly separator: string;
|
|
16
|
+
|
|
17
|
+
/** Check if current path matches an Expression. */
|
|
18
|
+
matches(expression: Expression): boolean;
|
|
19
|
+
|
|
20
|
+
/** Get current tag name, or `undefined` if path is empty. */
|
|
21
|
+
getCurrentTag(): string | undefined;
|
|
22
|
+
|
|
23
|
+
/** Get current namespace, or `undefined` if not present. */
|
|
24
|
+
getCurrentNamespace(): string | undefined;
|
|
25
|
+
|
|
26
|
+
/** Get attribute value of the current node. */
|
|
27
|
+
getAttrValue(attrName: string): any;
|
|
28
|
+
|
|
29
|
+
/** Check if the current node has a given attribute. */
|
|
30
|
+
hasAttr(attrName: string): boolean;
|
|
31
|
+
|
|
32
|
+
/** Sibling position of the current node (child index in parent). */
|
|
33
|
+
getPosition(): number;
|
|
34
|
+
|
|
35
|
+
/** Occurrence counter of the current tag name at this level. */
|
|
36
|
+
getCounter(): number;
|
|
37
|
+
|
|
38
|
+
/** Number of nodes in the current path. */
|
|
39
|
+
getDepth(): number;
|
|
40
|
+
|
|
41
|
+
/** Current path as a string (e.g. `"root.users.user"`). */
|
|
42
|
+
toString(separator?: string, includeNamespace?: boolean): string;
|
|
43
|
+
|
|
44
|
+
/** Current path as an array of tag names. */
|
|
45
|
+
toArray(): string[];
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
|
|
6
49
|
type XmlBuilderOptions = {
|
|
7
50
|
/**
|
|
8
51
|
* Give a prefix to the attribute name in the resulting JS object
|
|
@@ -164,6 +207,53 @@ type XmlBuilderOptions = {
|
|
|
164
207
|
* Defaults to `100`
|
|
165
208
|
*/
|
|
166
209
|
maxNestedTags?: number;
|
|
210
|
+
|
|
211
|
+
/**
|
|
212
|
+
* Validate or sanitize tag and attribute names before they are written to XML output.
|
|
213
|
+
*
|
|
214
|
+
* The context object provides:
|
|
215
|
+
* - `isAttribute` — `true` when the name being resolved is an attribute name,
|
|
216
|
+
* `false` when it is a tag name.
|
|
217
|
+
* - `matcher` — the current path matcher (readonly). Can be used to inspect the
|
|
218
|
+
* current element path, e.g. via `.toString()` or `.getDepth()`.
|
|
219
|
+
*
|
|
220
|
+
* Return the (possibly transformed) name to use in the output.
|
|
221
|
+
* Throw an error inside the function to reject an invalid name entirely.
|
|
222
|
+
*
|
|
223
|
+
* When set to `false` (default) all names are written as-is, preserving
|
|
224
|
+
* backward-compatible behaviour.
|
|
225
|
+
*
|
|
226
|
+
* @example
|
|
227
|
+
* // Auto-fix invalid names using xml-naming
|
|
228
|
+
* import { sanitize } from 'xml-naming';
|
|
229
|
+
* { sanitizeName: (name) => sanitize(name, 'qName') }
|
|
230
|
+
*
|
|
231
|
+
* @example
|
|
232
|
+
* // Reject invalid names
|
|
233
|
+
* import { qName } from 'xml-naming';
|
|
234
|
+
* { sanitizeName: (name) => { if (!qName(name)) throw new Error(`Invalid XML name: "${name}"`); return name; } }
|
|
235
|
+
*
|
|
236
|
+
* Defaults to `false`
|
|
237
|
+
*/
|
|
238
|
+
sanitizeName?: false | ((name: string, context: SanitizeNameContext) => string);
|
|
239
|
+
};
|
|
240
|
+
|
|
241
|
+
/**
|
|
242
|
+
* Context object passed as the second argument to {@link XmlBuilderOptions.sanitizeName}.
|
|
243
|
+
*/
|
|
244
|
+
type SanitizeNameContext = {
|
|
245
|
+
/**
|
|
246
|
+
* `true` when the name being resolved is an XML attribute name;
|
|
247
|
+
* `false` when it is an XML element (tag) name.
|
|
248
|
+
*/
|
|
249
|
+
isAttribute: boolean;
|
|
250
|
+
|
|
251
|
+
/**
|
|
252
|
+
* The current path matcher at the point where the name is being resolved.
|
|
253
|
+
* Readonly from the callback's perspective — do not call mutating methods.
|
|
254
|
+
* Use `.toString()` to get the current jPath string, `.getDepth()` for nesting depth.
|
|
255
|
+
*/
|
|
256
|
+
matcher: MatcherView;
|
|
167
257
|
};
|
|
168
258
|
|
|
169
259
|
interface XMLBuilder {
|