@rio-cloud/cdk-v2-constructs 7.14.0-alpha.2 → 7.14.0
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 +7 -7
- package/lib/contributions/team-transport-two/datadog-synthetics/datadog-synthetics-test-custom-resource/handler.cjs +2076 -1226
- package/lib/datadogv2/secret-locator-custom-resource/on-create.cjs +2214 -1364
- package/lib/datadogv2/service-catalog-custom-resource/on-create.cjs +2085 -1235
- package/lib/fargate/codedeploy-custom-resources/create-deployment-is-complete.cjs +2088 -1238
- package/lib/fargate/codedeploy-custom-resources/create-deployment-on-create.cjs +2088 -1238
- package/lib/fargate/codedeploy-custom-resources/run-monitoring-test-suite-runner.cjs +2093 -1242
- package/lib/fargate/datadog.js +3 -1
- package/node_modules/@aws-sdk/client-cloudformation/README.md +26 -46
- package/node_modules/@aws-sdk/client-cloudformation/node_modules/@smithy/util-retry/package.json +3 -3
- package/node_modules/@aws-sdk/client-cloudformation/package.json +39 -39
- package/node_modules/@aws-sdk/client-codedeploy/README.md +26 -46
- package/node_modules/@aws-sdk/client-codedeploy/node_modules/@smithy/util-retry/package.json +3 -3
- package/node_modules/@aws-sdk/client-codedeploy/package.json +39 -39
- package/node_modules/@aws-sdk/client-ecs/README.md +26 -46
- package/node_modules/@aws-sdk/client-ecs/dist-cjs/schemas/schemas_0.js +5 -4
- package/node_modules/@aws-sdk/client-ecs/dist-es/schemas/schemas_0.js +5 -4
- package/node_modules/@aws-sdk/client-ecs/dist-types/commands/CreateCapacityProviderCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ecs/dist-types/commands/DeleteCapacityProviderCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-ecs/dist-types/commands/DescribeCapacityProvidersCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-ecs/dist-types/commands/UpdateCapacityProviderCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ecs/dist-types/models/models_0.d.ts +10 -0
- package/node_modules/@aws-sdk/client-ecs/dist-types/ts3.4/models/models_0.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ecs/node_modules/@smithy/util-retry/package.json +3 -3
- package/node_modules/@aws-sdk/client-ecs/package.json +39 -39
- package/node_modules/@aws-sdk/client-organizations/README.md +26 -46
- package/node_modules/@aws-sdk/client-organizations/node_modules/@smithy/util-retry/package.json +3 -3
- package/node_modules/@aws-sdk/client-organizations/package.json +38 -38
- package/node_modules/@aws-sdk/client-secrets-manager/README.md +26 -46
- package/node_modules/@aws-sdk/client-secrets-manager/node_modules/@smithy/util-retry/package.json +3 -3
- package/node_modules/@aws-sdk/client-secrets-manager/package.json +39 -39
- package/node_modules/@aws-sdk/client-ssm/README.md +26 -46
- package/node_modules/@aws-sdk/client-ssm/node_modules/@smithy/util-retry/package.json +3 -3
- package/node_modules/@aws-sdk/client-ssm/package.json +39 -39
- package/node_modules/@aws-sdk/core/dist-cjs/index.js +4 -0
- package/node_modules/@aws-sdk/core/dist-cjs/submodules/protocols/index.js +4 -0
- package/node_modules/@aws-sdk/core/dist-es/submodules/protocols/index.js +2 -0
- package/node_modules/@aws-sdk/core/dist-es/submodules/protocols/query/AwsEc2QueryProtocol.js +3 -0
- package/node_modules/@aws-sdk/core/dist-types/submodules/protocols/index.d.ts +2 -0
- package/node_modules/@aws-sdk/core/dist-types/submodules/protocols/query/AwsEc2QueryProtocol.d.ts +4 -0
- package/node_modules/@aws-sdk/core/dist-types/submodules/protocols/query/QuerySerializerSettings.d.ts +3 -0
- package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/index.d.ts +2 -0
- package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/query/AwsEc2QueryProtocol.d.ts +1 -0
- package/node_modules/@aws-sdk/core/package.json +14 -14
- package/node_modules/@aws-sdk/credential-provider-env/package.json +6 -6
- package/node_modules/@aws-sdk/credential-provider-http/package.json +11 -11
- package/node_modules/@aws-sdk/credential-provider-ini/package.json +15 -15
- package/node_modules/@aws-sdk/credential-provider-login/package.json +9 -9
- package/node_modules/@aws-sdk/credential-provider-node/package.json +13 -13
- package/node_modules/@aws-sdk/credential-provider-process/package.json +7 -7
- package/node_modules/@aws-sdk/credential-provider-sso/package.json +9 -9
- package/node_modules/@aws-sdk/credential-provider-web-identity/package.json +8 -8
- package/node_modules/@aws-sdk/middleware-host-header/package.json +5 -5
- package/node_modules/@aws-sdk/middleware-logger/package.json +4 -4
- package/node_modules/@aws-sdk/middleware-recursion-detection/package.json +5 -5
- package/node_modules/@aws-sdk/middleware-user-agent/dist-cjs/index.js +9 -9
- package/node_modules/@aws-sdk/middleware-user-agent/dist-es/check-features.js +9 -9
- package/node_modules/@aws-sdk/middleware-user-agent/dist-types/check-features.d.ts +4 -2
- package/node_modules/@aws-sdk/middleware-user-agent/dist-types/ts3.4/check-features.d.ts +3 -3
- package/node_modules/@aws-sdk/middleware-user-agent/node_modules/@smithy/util-retry/LICENSE +201 -0
- package/node_modules/@aws-sdk/middleware-user-agent/node_modules/@smithy/util-retry/README.md +78 -0
- package/node_modules/@aws-sdk/middleware-user-agent/node_modules/@smithy/util-retry/dist-cjs/index.js +278 -0
- package/node_modules/@aws-sdk/middleware-user-agent/node_modules/@smithy/util-retry/dist-es/AdaptiveRetryStrategy.js +27 -0
- package/node_modules/@aws-sdk/middleware-user-agent/node_modules/@smithy/util-retry/dist-es/ConfiguredRetryStrategy.js +19 -0
- package/node_modules/@aws-sdk/middleware-user-agent/node_modules/@smithy/util-retry/dist-es/DefaultRateLimiter.js +109 -0
- package/node_modules/@aws-sdk/middleware-user-agent/node_modules/@smithy/util-retry/dist-es/StandardRetryStrategy.js +67 -0
- package/node_modules/@aws-sdk/middleware-user-agent/node_modules/@smithy/util-retry/dist-es/config.js +7 -0
- package/node_modules/@aws-sdk/middleware-user-agent/node_modules/@smithy/util-retry/dist-es/constants.js +9 -0
- package/node_modules/@aws-sdk/middleware-user-agent/node_modules/@smithy/util-retry/dist-es/defaultRetryBackoffStrategy.js +14 -0
- package/node_modules/@aws-sdk/middleware-user-agent/node_modules/@smithy/util-retry/dist-es/defaultRetryToken.js +11 -0
- package/node_modules/@aws-sdk/middleware-user-agent/node_modules/@smithy/util-retry/dist-es/index.js +7 -0
- package/node_modules/@aws-sdk/middleware-user-agent/node_modules/@smithy/util-retry/dist-es/types.js +1 -0
- package/node_modules/@aws-sdk/middleware-user-agent/node_modules/@smithy/util-retry/dist-types/AdaptiveRetryStrategy.d.ts +33 -0
- package/node_modules/@aws-sdk/middleware-user-agent/node_modules/@smithy/util-retry/dist-types/ConfiguredRetryStrategy.d.ts +32 -0
- package/node_modules/@aws-sdk/middleware-user-agent/node_modules/@smithy/util-retry/dist-types/DefaultRateLimiter.d.ts +49 -0
- package/node_modules/@aws-sdk/middleware-user-agent/node_modules/@smithy/util-retry/dist-types/StandardRetryStrategy.d.ts +26 -0
- package/node_modules/@aws-sdk/middleware-user-agent/node_modules/@smithy/util-retry/dist-types/config.d.ts +20 -0
- package/node_modules/@aws-sdk/middleware-user-agent/node_modules/@smithy/util-retry/dist-types/constants.d.ts +59 -0
- package/node_modules/@aws-sdk/middleware-user-agent/node_modules/@smithy/util-retry/dist-types/defaultRetryBackoffStrategy.d.ts +5 -0
- package/node_modules/@aws-sdk/middleware-user-agent/node_modules/@smithy/util-retry/dist-types/defaultRetryToken.d.ts +9 -0
- package/node_modules/@aws-sdk/middleware-user-agent/node_modules/@smithy/util-retry/dist-types/index.d.ts +7 -0
- package/node_modules/@aws-sdk/middleware-user-agent/node_modules/@smithy/util-retry/dist-types/ts3.4/AdaptiveRetryStrategy.d.ts +33 -0
- package/node_modules/@aws-sdk/middleware-user-agent/node_modules/@smithy/util-retry/dist-types/ts3.4/ConfiguredRetryStrategy.d.ts +32 -0
- package/node_modules/@aws-sdk/middleware-user-agent/node_modules/@smithy/util-retry/dist-types/ts3.4/DefaultRateLimiter.d.ts +49 -0
- package/node_modules/@aws-sdk/middleware-user-agent/node_modules/@smithy/util-retry/dist-types/ts3.4/StandardRetryStrategy.d.ts +26 -0
- package/node_modules/@aws-sdk/middleware-user-agent/node_modules/@smithy/util-retry/dist-types/ts3.4/config.d.ts +20 -0
- package/node_modules/@aws-sdk/middleware-user-agent/node_modules/@smithy/util-retry/dist-types/ts3.4/constants.d.ts +59 -0
- package/node_modules/@aws-sdk/middleware-user-agent/node_modules/@smithy/util-retry/dist-types/ts3.4/defaultRetryBackoffStrategy.d.ts +5 -0
- package/node_modules/@aws-sdk/middleware-user-agent/node_modules/@smithy/util-retry/dist-types/ts3.4/defaultRetryToken.d.ts +9 -0
- package/node_modules/@aws-sdk/middleware-user-agent/node_modules/@smithy/util-retry/dist-types/ts3.4/index.d.ts +7 -0
- package/node_modules/@aws-sdk/middleware-user-agent/node_modules/@smithy/util-retry/dist-types/ts3.4/types.d.ts +19 -0
- package/node_modules/@aws-sdk/middleware-user-agent/node_modules/@smithy/util-retry/dist-types/types.d.ts +19 -0
- package/node_modules/@aws-sdk/middleware-user-agent/node_modules/@smithy/util-retry/package.json +71 -0
- package/node_modules/@aws-sdk/middleware-user-agent/package.json +9 -8
- package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/cognito-identity/CognitoIdentity.js +1 -1
- package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/cognito-identity/CognitoIdentity.d.ts +2 -2
- package/node_modules/@aws-sdk/nested-clients/node_modules/@smithy/util-retry/package.json +3 -3
- package/node_modules/@aws-sdk/nested-clients/package.json +39 -37
- package/node_modules/@aws-sdk/region-config-resolver/package.json +6 -6
- package/node_modules/@aws-sdk/token-providers/package.json +8 -8
- package/node_modules/@aws-sdk/types/package.json +3 -3
- package/node_modules/@aws-sdk/util-endpoints/package.json +6 -6
- package/node_modules/@aws-sdk/util-user-agent-browser/package.json +4 -4
- package/node_modules/@aws-sdk/util-user-agent-node/dist-cjs/index.js +75 -19
- package/node_modules/@aws-sdk/util-user-agent-node/dist-es/getNodeModulesParentDirs.js +15 -0
- package/node_modules/@aws-sdk/util-user-agent-node/dist-es/getSanitizedDevTypeScriptVersion.js +14 -0
- package/node_modules/@aws-sdk/util-user-agent-node/dist-es/getTypeScriptUserAgentPair.js +53 -7
- package/node_modules/@aws-sdk/util-user-agent-node/dist-types/{getTypeScriptPackageJsonPaths.d.ts → getNodeModulesParentDirs.d.ts} +2 -2
- package/node_modules/@aws-sdk/util-user-agent-node/dist-types/getSanitizedDevTypeScriptVersion.d.ts +8 -0
- package/node_modules/@aws-sdk/util-user-agent-node/dist-types/ts3.4/getNodeModulesParentDirs.d.ts +1 -0
- package/node_modules/@aws-sdk/util-user-agent-node/dist-types/ts3.4/getSanitizedDevTypeScriptVersion.d.ts +3 -0
- package/node_modules/@aws-sdk/util-user-agent-node/package.json +7 -6
- package/node_modules/@aws-sdk/xml-builder/dist-cjs/index.js +21 -11
- package/node_modules/@aws-sdk/xml-builder/dist-cjs/xml-parser.js +5 -1
- package/node_modules/@aws-sdk/xml-builder/dist-es/escape-attribute.js +8 -1
- package/node_modules/@aws-sdk/xml-builder/dist-es/escape-element.js +13 -10
- package/node_modules/@aws-sdk/xml-builder/dist-es/xml-parser.js +5 -1
- package/node_modules/@aws-sdk/xml-builder/dist-types/ts3.4/XmlNode.d.ts +49 -29
- package/node_modules/@aws-sdk/xml-builder/dist-types/ts3.4/XmlText.d.ts +11 -6
- package/node_modules/@aws-sdk/xml-builder/dist-types/ts3.4/escape-attribute.d.ts +6 -1
- package/node_modules/@aws-sdk/xml-builder/dist-types/ts3.4/escape-element.d.ts +6 -1
- package/node_modules/@aws-sdk/xml-builder/dist-types/ts3.4/index.d.ts +12 -3
- package/node_modules/@aws-sdk/xml-builder/dist-types/ts3.4/stringable.d.ts +6 -3
- package/node_modules/@aws-sdk/xml-builder/dist-types/ts3.4/xml-parser.browser.d.ts +9 -1
- package/node_modules/@aws-sdk/xml-builder/dist-types/ts3.4/xml-parser.d.ts +4 -1
- package/node_modules/@aws-sdk/xml-builder/package.json +4 -4
- package/node_modules/@smithy/abort-controller/package.json +2 -2
- package/node_modules/@smithy/config-resolver/package.json +5 -5
- package/node_modules/@smithy/core/dist-cjs/index.js +1 -2
- package/node_modules/@smithy/core/dist-cjs/submodules/cbor/index.js +7 -1
- package/node_modules/@smithy/core/dist-cjs/submodules/endpoints/index.js +22 -0
- package/node_modules/@smithy/core/dist-cjs/submodules/event-streams/index.js +1 -1
- package/node_modules/@smithy/core/dist-cjs/submodules/protocols/index.js +11 -1
- package/node_modules/@smithy/core/dist-cjs/submodules/schema/index.js +42 -5
- package/node_modules/@smithy/core/dist-es/middleware-http-auth-scheme/getHttpAuthSchemePlugin.js +1 -2
- package/node_modules/@smithy/core/dist-es/submodules/cbor/parseCborBody.js +7 -1
- package/node_modules/@smithy/core/dist-es/submodules/endpoints/index.js +1 -0
- package/node_modules/@smithy/core/dist-es/submodules/endpoints/toEndpointV1.js +17 -0
- package/node_modules/@smithy/core/dist-es/submodules/event-streams/EventStreamSerde.js +1 -1
- package/node_modules/@smithy/core/dist-es/submodules/protocols/HttpProtocol.js +10 -0
- package/node_modules/@smithy/core/dist-es/submodules/protocols/RpcProtocol.js +1 -1
- package/node_modules/@smithy/core/dist-es/submodules/schema/middleware/schemaSerializationMiddleware.js +3 -2
- package/node_modules/@smithy/core/dist-es/submodules/schema/schemas/NormalizedSchema.js +31 -2
- package/node_modules/@smithy/core/dist-es/submodules/schema/schemas/translateTraits.js +5 -1
- package/node_modules/@smithy/core/dist-types/submodules/endpoints/index.d.ts +1 -0
- package/node_modules/@smithy/core/dist-types/submodules/endpoints/toEndpointV1.d.ts +6 -0
- package/node_modules/@smithy/core/dist-types/submodules/schema/schemas/NormalizedSchema.d.ts +11 -0
- package/node_modules/@smithy/core/dist-types/submodules/schema/schemas/translateTraits.d.ts +6 -0
- package/node_modules/@smithy/core/dist-types/ts3.4/submodules/endpoints/index.d.ts +1 -0
- package/node_modules/@smithy/core/dist-types/ts3.4/submodules/endpoints/toEndpointV1.d.ts +6 -0
- package/node_modules/@smithy/core/dist-types/ts3.4/submodules/schema/schemas/NormalizedSchema.d.ts +11 -0
- package/node_modules/@smithy/core/dist-types/ts3.4/submodules/schema/schemas/translateTraits.d.ts +6 -0
- package/node_modules/@smithy/core/endpoints.d.ts +7 -0
- package/node_modules/@smithy/core/endpoints.js +6 -0
- package/node_modules/@smithy/core/package.json +16 -7
- package/node_modules/@smithy/credential-provider-imds/package.json +5 -5
- package/node_modules/@smithy/fetch-http-handler/dist-cjs/index.js +4 -1
- package/node_modules/@smithy/fetch-http-handler/dist-es/fetch-http-handler.js +4 -1
- package/node_modules/@smithy/fetch-http-handler/package.json +5 -5
- package/node_modules/@smithy/hash-node/package.json +2 -2
- package/node_modules/@smithy/invalid-dependency/package.json +2 -2
- package/node_modules/@smithy/middleware-content-length/package.json +3 -3
- package/node_modules/@smithy/middleware-endpoint/dist-cjs/index.js +17 -1
- package/node_modules/@smithy/middleware-endpoint/dist-es/adaptors/getEndpointFromInstructions.js +9 -0
- package/node_modules/@smithy/middleware-endpoint/dist-es/adaptors/toEndpointV1.js +8 -1
- package/node_modules/@smithy/middleware-endpoint/dist-types/adaptors/toEndpointV1.d.ts +1 -0
- package/node_modules/@smithy/middleware-endpoint/dist-types/ts3.4/adaptors/toEndpointV1.d.ts +1 -0
- package/node_modules/@smithy/middleware-endpoint/package.json +8 -8
- package/node_modules/@smithy/middleware-retry/dist-cjs/index.js +9 -12
- package/node_modules/@smithy/middleware-retry/dist-es/configurations.js +9 -12
- package/node_modules/@smithy/middleware-retry/node_modules/@smithy/util-retry/package.json +3 -3
- package/node_modules/@smithy/middleware-retry/package.json +8 -8
- package/node_modules/@smithy/middleware-serde/dist-cjs/index.js +3 -2
- package/node_modules/@smithy/middleware-serde/dist-es/serializerMiddleware.js +3 -2
- package/node_modules/@smithy/middleware-serde/package.json +4 -3
- package/node_modules/@smithy/middleware-stack/package.json +2 -2
- package/node_modules/@smithy/node-config-provider/package.json +4 -4
- package/node_modules/@smithy/node-http-handler/dist-cjs/index.js +48 -38
- package/node_modules/@smithy/node-http-handler/dist-es/build-abort-error.js +4 -1
- package/node_modules/@smithy/node-http-handler/dist-es/node-http-handler.js +38 -31
- package/node_modules/@smithy/node-http-handler/dist-es/node-http2-connection-manager.js +1 -1
- package/node_modules/@smithy/node-http-handler/dist-es/node-http2-handler.js +1 -1
- package/node_modules/@smithy/node-http-handler/dist-es/readable.mock.js +1 -1
- package/node_modules/@smithy/node-http-handler/dist-es/server.mock.js +6 -6
- package/node_modules/@smithy/node-http-handler/dist-es/stream-collector/collector.js +1 -1
- package/node_modules/@smithy/node-http-handler/dist-es/stream-collector/readable.mock.js +1 -1
- package/node_modules/@smithy/node-http-handler/dist-es/write-request-body.js +1 -1
- package/node_modules/@smithy/node-http-handler/dist-types/build-abort-error.d.ts +4 -3
- package/node_modules/@smithy/node-http-handler/dist-types/get-transformed-headers.d.ts +1 -1
- package/node_modules/@smithy/node-http-handler/dist-types/node-http-handler.d.ts +4 -4
- package/node_modules/@smithy/node-http-handler/dist-types/node-http2-connection-manager.d.ts +1 -1
- package/node_modules/@smithy/node-http-handler/dist-types/node-http2-connection-pool.d.ts +1 -1
- package/node_modules/@smithy/node-http-handler/dist-types/readable.mock.d.ts +2 -2
- package/node_modules/@smithy/node-http-handler/dist-types/server.mock.d.ts +3 -3
- package/node_modules/@smithy/node-http-handler/dist-types/set-connection-timeout.d.ts +1 -1
- package/node_modules/@smithy/node-http-handler/dist-types/set-request-timeout.d.ts +1 -1
- package/node_modules/@smithy/node-http-handler/dist-types/set-socket-keep-alive.d.ts +1 -1
- package/node_modules/@smithy/node-http-handler/dist-types/set-socket-timeout.d.ts +1 -1
- package/node_modules/@smithy/node-http-handler/dist-types/stream-collector/collector.d.ts +1 -1
- package/node_modules/@smithy/node-http-handler/dist-types/stream-collector/readable.mock.d.ts +2 -2
- package/node_modules/@smithy/node-http-handler/dist-types/ts3.4/build-abort-error.d.ts +4 -3
- package/node_modules/@smithy/node-http-handler/dist-types/ts3.4/get-transformed-headers.d.ts +1 -1
- package/node_modules/@smithy/node-http-handler/dist-types/ts3.4/node-http-handler.d.ts +4 -4
- package/node_modules/@smithy/node-http-handler/dist-types/ts3.4/node-http2-connection-manager.d.ts +1 -1
- package/node_modules/@smithy/node-http-handler/dist-types/ts3.4/node-http2-connection-pool.d.ts +1 -1
- package/node_modules/@smithy/node-http-handler/dist-types/ts3.4/readable.mock.d.ts +2 -2
- package/node_modules/@smithy/node-http-handler/dist-types/ts3.4/server.mock.d.ts +3 -3
- package/node_modules/@smithy/node-http-handler/dist-types/ts3.4/set-connection-timeout.d.ts +1 -1
- package/node_modules/@smithy/node-http-handler/dist-types/ts3.4/set-request-timeout.d.ts +1 -1
- package/node_modules/@smithy/node-http-handler/dist-types/ts3.4/set-socket-keep-alive.d.ts +1 -1
- package/node_modules/@smithy/node-http-handler/dist-types/ts3.4/set-socket-timeout.d.ts +1 -1
- package/node_modules/@smithy/node-http-handler/dist-types/ts3.4/stream-collector/collector.d.ts +1 -1
- package/node_modules/@smithy/node-http-handler/dist-types/ts3.4/stream-collector/readable.mock.d.ts +2 -2
- package/node_modules/@smithy/node-http-handler/dist-types/ts3.4/write-request-body.d.ts +2 -2
- package/node_modules/@smithy/node-http-handler/dist-types/write-request-body.d.ts +2 -2
- package/node_modules/@smithy/node-http-handler/package.json +5 -5
- package/node_modules/@smithy/property-provider/package.json +2 -2
- package/node_modules/@smithy/protocol-http/package.json +2 -2
- package/node_modules/@smithy/querystring-builder/package.json +2 -2
- package/node_modules/@smithy/querystring-parser/package.json +2 -2
- package/node_modules/@smithy/service-error-classification/package.json +2 -2
- package/node_modules/@smithy/shared-ini-file-loader/package.json +2 -2
- package/node_modules/@smithy/signature-v4/package.json +4 -4
- package/node_modules/@smithy/smithy-client/package.json +7 -7
- package/node_modules/@smithy/types/dist-types/http.d.ts +1 -0
- package/node_modules/@smithy/types/dist-types/ts3.4/http.d.ts +1 -0
- package/node_modules/@smithy/types/package.json +1 -1
- package/node_modules/@smithy/url-parser/package.json +3 -3
- package/node_modules/@smithy/util-defaults-mode-browser/package.json +4 -4
- package/node_modules/@smithy/util-defaults-mode-node/package.json +7 -7
- package/node_modules/@smithy/util-endpoints/package.json +3 -3
- package/node_modules/@smithy/util-middleware/package.json +2 -2
- package/node_modules/@smithy/util-stream/package.json +4 -4
- package/node_modules/@smithy/util-waiter/dist-cjs/index.js +1 -1
- package/node_modules/@smithy/util-waiter/dist-es/poller.js +1 -1
- package/node_modules/@smithy/util-waiter/package.json +3 -3
- package/node_modules/fast-xml-builder/CHANGELOG.md +16 -0
- package/node_modules/fast-xml-builder/README.md +1 -1
- package/node_modules/fast-xml-builder/lib/fxb.cjs +1 -0
- package/node_modules/fast-xml-builder/lib/fxb.d.cts +22 -9
- package/node_modules/fast-xml-builder/lib/fxb.min.js +2 -0
- package/node_modules/fast-xml-builder/lib/fxb.min.js.map +1 -0
- package/node_modules/fast-xml-builder/package.json +7 -5
- package/node_modules/fast-xml-builder/src/fxb.d.ts +27 -3
- package/node_modules/fast-xml-builder/src/fxb.js +265 -21
- package/node_modules/fast-xml-builder/src/orderedJs2Xml.js +165 -18
- package/node_modules/fast-xml-parser/CHANGELOG.md +33 -4
- package/node_modules/fast-xml-parser/README.md +8 -7
- package/node_modules/fast-xml-parser/lib/fxbuilder.min.js +1 -1
- package/node_modules/fast-xml-parser/lib/fxbuilder.min.js.map +1 -1
- package/node_modules/fast-xml-parser/lib/fxp.cjs +1 -1
- package/node_modules/fast-xml-parser/lib/fxp.d.cts +73 -19
- 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/lib/fxvalidator.min.js.map +1 -1
- package/node_modules/fast-xml-parser/package.json +3 -2
- package/node_modules/fast-xml-parser/src/fxp.d.ts +73 -19
- package/node_modules/fast-xml-parser/src/util.js +18 -0
- package/node_modules/fast-xml-parser/src/xmlparser/DocTypeReader.js +12 -2
- package/node_modules/fast-xml-parser/src/xmlparser/OptionsBuilder.js +71 -0
- package/node_modules/fast-xml-parser/src/xmlparser/OrderedObjParser.js +291 -115
- package/node_modules/fast-xml-parser/src/xmlparser/XMLParser.js +1 -1
- package/node_modules/fast-xml-parser/src/xmlparser/node2json.js +65 -14
- package/node_modules/path-expression-matcher/LICENSE +21 -0
- package/node_modules/path-expression-matcher/README.md +635 -0
- package/node_modules/path-expression-matcher/lib/pem.cjs +1 -0
- package/node_modules/path-expression-matcher/lib/pem.d.cts +335 -0
- package/node_modules/path-expression-matcher/lib/pem.min.js +2 -0
- package/node_modules/path-expression-matcher/lib/pem.min.js.map +1 -0
- package/node_modules/path-expression-matcher/package.json +78 -0
- package/node_modules/path-expression-matcher/src/Expression.js +232 -0
- package/node_modules/path-expression-matcher/src/Matcher.js +414 -0
- package/node_modules/path-expression-matcher/src/index.d.ts +366 -0
- package/node_modules/path-expression-matcher/src/index.js +28 -0
- package/package.json +7 -7
- package/version.json +1 -1
- package/node_modules/@aws-sdk/util-user-agent-node/dist-es/getTypeScriptPackageJsonPaths.js +0 -17
- package/node_modules/@aws-sdk/util-user-agent-node/dist-types/ts3.4/getTypeScriptPackageJsonPaths.d.ts +0 -3
- package/node_modules/fast-xml-builder/lib/builder.cjs +0 -1
- package/node_modules/fast-xml-builder/lib/builder.min.js +0 -2
- package/node_modules/fast-xml-builder/lib/builder.min.js.map +0 -1
|
@@ -1,3 +1,8 @@
|
|
|
1
|
+
// import { Expression } from 'path-expression-matcher';
|
|
2
|
+
|
|
3
|
+
type Matcher = unknown;
|
|
4
|
+
type Expression = unknown;
|
|
5
|
+
|
|
1
6
|
export type XmlBuilderOptions = {
|
|
2
7
|
/**
|
|
3
8
|
* Give a prefix to the attribute name in the resulting JS object
|
|
@@ -109,9 +114,13 @@ export type XmlBuilderOptions = {
|
|
|
109
114
|
/**
|
|
110
115
|
* Nodes to stop parsing at
|
|
111
116
|
*
|
|
117
|
+
* Accepts string patterns or Expression objects from path-expression-matcher
|
|
118
|
+
*
|
|
119
|
+
* String patterns starting with "*." are automatically converted to ".." for backward compatibility
|
|
120
|
+
*
|
|
112
121
|
* Defaults to `[]`
|
|
113
122
|
*/
|
|
114
|
-
stopNodes?: string[];
|
|
123
|
+
stopNodes?: (string | Expression)[];
|
|
115
124
|
|
|
116
125
|
/**
|
|
117
126
|
* Control how tag value should be parsed. Called only if tag value is not empty
|
|
@@ -148,9 +157,24 @@ export type XmlBuilderOptions = {
|
|
|
148
157
|
|
|
149
158
|
|
|
150
159
|
oneListGroup?: boolean;
|
|
160
|
+
|
|
161
|
+
/**
|
|
162
|
+
* Maximum number of nested tags
|
|
163
|
+
*
|
|
164
|
+
* Defaults to `100`
|
|
165
|
+
*/
|
|
166
|
+
maxNestedTags?: number;
|
|
151
167
|
};
|
|
152
168
|
|
|
153
|
-
export
|
|
154
|
-
constructor(options?: XmlBuilderOptions);
|
|
169
|
+
export interface XMLBuilder {
|
|
155
170
|
build(jObj: any): string;
|
|
156
171
|
}
|
|
172
|
+
|
|
173
|
+
export interface XMLBuilderConstructor {
|
|
174
|
+
new(options?: XmlBuilderOptions): XMLBuilder;
|
|
175
|
+
(options?: XmlBuilderOptions): XMLBuilder;
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
declare const Builder: XMLBuilderConstructor;
|
|
179
|
+
|
|
180
|
+
export default Builder;
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
//parse Empty Node as self closing node
|
|
3
3
|
import buildFromOrderedJs from './orderedJs2Xml.js';
|
|
4
4
|
import getIgnoreAttributesFn from "./ignoreAttributes.js";
|
|
5
|
+
import { Expression, Matcher } from 'path-expression-matcher';
|
|
5
6
|
|
|
6
7
|
const defaultOptions = {
|
|
7
8
|
attributeNamePrefix: '@_',
|
|
@@ -34,11 +35,40 @@ const defaultOptions = {
|
|
|
34
35
|
stopNodes: [],
|
|
35
36
|
// transformTagName: false,
|
|
36
37
|
// transformAttributeName: false,
|
|
37
|
-
oneListGroup: false
|
|
38
|
+
oneListGroup: false,
|
|
39
|
+
maxNestedTags: 100,
|
|
40
|
+
jPath: true // When true, callbacks receive string jPath; when false, receive Matcher instance
|
|
38
41
|
};
|
|
39
42
|
|
|
40
43
|
export default function Builder(options) {
|
|
41
44
|
this.options = Object.assign({}, defaultOptions, options);
|
|
45
|
+
|
|
46
|
+
// Convert old-style stopNodes for backward compatibility
|
|
47
|
+
// Old syntax: "*.tag" meant "tag anywhere in tree"
|
|
48
|
+
// New syntax: "..tag" means "tag anywhere in tree"
|
|
49
|
+
if (this.options.stopNodes && Array.isArray(this.options.stopNodes)) {
|
|
50
|
+
this.options.stopNodes = this.options.stopNodes.map(node => {
|
|
51
|
+
if (typeof node === 'string' && node.startsWith('*.')) {
|
|
52
|
+
// Convert old wildcard syntax to deep wildcard
|
|
53
|
+
return '..' + node.substring(2);
|
|
54
|
+
}
|
|
55
|
+
return node;
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
// Pre-compile stopNode expressions for pattern matching
|
|
60
|
+
this.stopNodeExpressions = [];
|
|
61
|
+
if (this.options.stopNodes && Array.isArray(this.options.stopNodes)) {
|
|
62
|
+
for (let i = 0; i < this.options.stopNodes.length; i++) {
|
|
63
|
+
const node = this.options.stopNodes[i];
|
|
64
|
+
if (typeof node === 'string') {
|
|
65
|
+
this.stopNodeExpressions.push(new Expression(node));
|
|
66
|
+
} else if (node instanceof Expression) {
|
|
67
|
+
this.stopNodeExpressions.push(node);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
|
|
42
72
|
if (this.options.ignoreAttributes === true || this.options.attributesGroupName) {
|
|
43
73
|
this.isAttribute = function (/*a*/) {
|
|
44
74
|
return false;
|
|
@@ -73,14 +103,24 @@ Builder.prototype.build = function (jObj) {
|
|
|
73
103
|
[this.options.arrayNodeName]: jObj
|
|
74
104
|
}
|
|
75
105
|
}
|
|
76
|
-
|
|
106
|
+
// Initialize matcher for path tracking
|
|
107
|
+
const matcher = new Matcher();
|
|
108
|
+
return this.j2x(jObj, 0, matcher).val;
|
|
77
109
|
}
|
|
78
110
|
};
|
|
79
111
|
|
|
80
|
-
Builder.prototype.j2x = function (jObj, level,
|
|
112
|
+
Builder.prototype.j2x = function (jObj, level, matcher) {
|
|
81
113
|
let attrStr = '';
|
|
82
114
|
let val = '';
|
|
83
|
-
|
|
115
|
+
if (this.options.maxNestedTags && matcher.getDepth() >= this.options.maxNestedTags) {
|
|
116
|
+
throw new Error("Maximum nested tags exceeded");
|
|
117
|
+
}
|
|
118
|
+
// Get jPath based on option: string for backward compatibility, or Matcher for new features
|
|
119
|
+
const jPath = this.options.jPath ? matcher.toString() : matcher;
|
|
120
|
+
|
|
121
|
+
// Check if current node is a stopNode (will be used for attribute encoding)
|
|
122
|
+
const isCurrentStopNode = this.checkStopNode(matcher);
|
|
123
|
+
|
|
84
124
|
for (let key in jObj) {
|
|
85
125
|
if (!Object.prototype.hasOwnProperty.call(jObj, key)) continue;
|
|
86
126
|
if (typeof jObj[key] === 'undefined') {
|
|
@@ -101,19 +141,34 @@ Builder.prototype.j2x = function (jObj, level, ajPath) {
|
|
|
101
141
|
}
|
|
102
142
|
// val += this.indentate(level) + '<' + key + '/' + this.tagEndChar;
|
|
103
143
|
} else if (jObj[key] instanceof Date) {
|
|
104
|
-
val += this.buildTextValNode(jObj[key], key, '', level);
|
|
144
|
+
val += this.buildTextValNode(jObj[key], key, '', level, matcher);
|
|
105
145
|
} else if (typeof jObj[key] !== 'object') {
|
|
106
146
|
//premitive type
|
|
107
147
|
const attr = this.isAttribute(key);
|
|
108
148
|
if (attr && !this.ignoreAttributesFn(attr, jPath)) {
|
|
109
|
-
attrStr += this.buildAttrPairStr(attr, '' + jObj[key]);
|
|
149
|
+
attrStr += this.buildAttrPairStr(attr, '' + jObj[key], isCurrentStopNode);
|
|
110
150
|
} else if (!attr) {
|
|
111
151
|
//tag value
|
|
112
152
|
if (key === this.options.textNodeName) {
|
|
113
153
|
let newval = this.options.tagValueProcessor(key, '' + jObj[key]);
|
|
114
154
|
val += this.replaceEntitiesValue(newval);
|
|
115
155
|
} else {
|
|
116
|
-
|
|
156
|
+
// Check if this is a stopNode before building
|
|
157
|
+
matcher.push(key);
|
|
158
|
+
const isStopNode = this.checkStopNode(matcher);
|
|
159
|
+
matcher.pop();
|
|
160
|
+
|
|
161
|
+
if (isStopNode) {
|
|
162
|
+
// Build as raw content without encoding
|
|
163
|
+
const textValue = '' + jObj[key];
|
|
164
|
+
if (textValue === '') {
|
|
165
|
+
val += this.indentate(level) + '<' + key + this.closeTag(key) + this.tagEndChar;
|
|
166
|
+
} else {
|
|
167
|
+
val += this.indentate(level) + '<' + key + '>' + textValue + '</' + key + this.tagEndChar;
|
|
168
|
+
}
|
|
169
|
+
} else {
|
|
170
|
+
val += this.buildTextValNode(jObj[key], key, '', level, matcher);
|
|
171
|
+
}
|
|
117
172
|
}
|
|
118
173
|
}
|
|
119
174
|
} else if (Array.isArray(jObj[key])) {
|
|
@@ -131,13 +186,18 @@ Builder.prototype.j2x = function (jObj, level, ajPath) {
|
|
|
131
186
|
// val += this.indentate(level) + '<' + key + '/' + this.tagEndChar;
|
|
132
187
|
} else if (typeof item === 'object') {
|
|
133
188
|
if (this.options.oneListGroup) {
|
|
134
|
-
|
|
189
|
+
// Push tag to matcher before recursive call
|
|
190
|
+
matcher.push(key);
|
|
191
|
+
const result = this.j2x(item, level + 1, matcher);
|
|
192
|
+
// Pop tag from matcher after recursive call
|
|
193
|
+
matcher.pop();
|
|
194
|
+
|
|
135
195
|
listTagVal += result.val;
|
|
136
196
|
if (this.options.attributesGroupName && item.hasOwnProperty(this.options.attributesGroupName)) {
|
|
137
197
|
listTagAttr += result.attrStr
|
|
138
198
|
}
|
|
139
199
|
} else {
|
|
140
|
-
listTagVal += this.processTextOrObjNode(item, key, level,
|
|
200
|
+
listTagVal += this.processTextOrObjNode(item, key, level, matcher)
|
|
141
201
|
}
|
|
142
202
|
} else {
|
|
143
203
|
if (this.options.oneListGroup) {
|
|
@@ -145,7 +205,22 @@ Builder.prototype.j2x = function (jObj, level, ajPath) {
|
|
|
145
205
|
textValue = this.replaceEntitiesValue(textValue);
|
|
146
206
|
listTagVal += textValue;
|
|
147
207
|
} else {
|
|
148
|
-
|
|
208
|
+
// Check if this is a stopNode before building
|
|
209
|
+
matcher.push(key);
|
|
210
|
+
const isStopNode = this.checkStopNode(matcher);
|
|
211
|
+
matcher.pop();
|
|
212
|
+
|
|
213
|
+
if (isStopNode) {
|
|
214
|
+
// Build as raw content without encoding
|
|
215
|
+
const textValue = '' + item;
|
|
216
|
+
if (textValue === '') {
|
|
217
|
+
listTagVal += this.indentate(level) + '<' + key + this.closeTag(key) + this.tagEndChar;
|
|
218
|
+
} else {
|
|
219
|
+
listTagVal += this.indentate(level) + '<' + key + '>' + textValue + '</' + key + this.tagEndChar;
|
|
220
|
+
}
|
|
221
|
+
} else {
|
|
222
|
+
listTagVal += this.buildTextValNode(item, key, '', level, matcher);
|
|
223
|
+
}
|
|
149
224
|
}
|
|
150
225
|
}
|
|
151
226
|
}
|
|
@@ -159,33 +234,191 @@ Builder.prototype.j2x = function (jObj, level, ajPath) {
|
|
|
159
234
|
const Ks = Object.keys(jObj[key]);
|
|
160
235
|
const L = Ks.length;
|
|
161
236
|
for (let j = 0; j < L; j++) {
|
|
162
|
-
attrStr += this.buildAttrPairStr(Ks[j], '' + jObj[key][Ks[j]]);
|
|
237
|
+
attrStr += this.buildAttrPairStr(Ks[j], '' + jObj[key][Ks[j]], isCurrentStopNode);
|
|
163
238
|
}
|
|
164
239
|
} else {
|
|
165
|
-
val += this.processTextOrObjNode(jObj[key], key, level,
|
|
240
|
+
val += this.processTextOrObjNode(jObj[key], key, level, matcher)
|
|
166
241
|
}
|
|
167
242
|
}
|
|
168
243
|
}
|
|
169
244
|
return { attrStr: attrStr, val: val };
|
|
170
245
|
};
|
|
171
246
|
|
|
172
|
-
Builder.prototype.buildAttrPairStr = function (attrName, val) {
|
|
173
|
-
|
|
174
|
-
|
|
247
|
+
Builder.prototype.buildAttrPairStr = function (attrName, val, isStopNode) {
|
|
248
|
+
if (!isStopNode) {
|
|
249
|
+
val = this.options.attributeValueProcessor(attrName, '' + val);
|
|
250
|
+
val = this.replaceEntitiesValue(val);
|
|
251
|
+
}
|
|
175
252
|
if (this.options.suppressBooleanAttributes && val === "true") {
|
|
176
253
|
return ' ' + attrName;
|
|
177
254
|
} else return ' ' + attrName + '="' + val + '"';
|
|
178
255
|
}
|
|
179
256
|
|
|
180
|
-
function processTextOrObjNode(object, key, level,
|
|
181
|
-
|
|
257
|
+
function processTextOrObjNode(object, key, level, matcher) {
|
|
258
|
+
// Extract attributes to pass to matcher
|
|
259
|
+
const attrValues = this.extractAttributes(object);
|
|
260
|
+
|
|
261
|
+
// Push tag to matcher before recursion WITH attributes
|
|
262
|
+
matcher.push(key, attrValues);
|
|
263
|
+
|
|
264
|
+
// Check if this entire node is a stopNode
|
|
265
|
+
const isStopNode = this.checkStopNode(matcher);
|
|
266
|
+
|
|
267
|
+
if (isStopNode) {
|
|
268
|
+
// For stopNodes, build raw content without entity encoding
|
|
269
|
+
const rawContent = this.buildRawContent(object);
|
|
270
|
+
const attrStr = this.buildAttributesForStopNode(object);
|
|
271
|
+
matcher.pop();
|
|
272
|
+
return this.buildObjectNode(rawContent, key, attrStr, level);
|
|
273
|
+
}
|
|
274
|
+
|
|
275
|
+
const result = this.j2x(object, level + 1, matcher);
|
|
276
|
+
// Pop tag from matcher after recursion
|
|
277
|
+
matcher.pop();
|
|
278
|
+
|
|
182
279
|
if (object[this.options.textNodeName] !== undefined && Object.keys(object).length === 1) {
|
|
183
|
-
return this.buildTextValNode(object[this.options.textNodeName], key, result.attrStr, level);
|
|
280
|
+
return this.buildTextValNode(object[this.options.textNodeName], key, result.attrStr, level, matcher);
|
|
184
281
|
} else {
|
|
185
282
|
return this.buildObjectNode(result.val, key, result.attrStr, level);
|
|
186
283
|
}
|
|
187
284
|
}
|
|
188
285
|
|
|
286
|
+
// Helper method to extract attributes from an object
|
|
287
|
+
Builder.prototype.extractAttributes = function (obj) {
|
|
288
|
+
if (!obj || typeof obj !== 'object') return null;
|
|
289
|
+
|
|
290
|
+
const attrValues = {};
|
|
291
|
+
let hasAttrs = false;
|
|
292
|
+
|
|
293
|
+
// Check for attributesGroupName (when attributes are grouped)
|
|
294
|
+
if (this.options.attributesGroupName && obj[this.options.attributesGroupName]) {
|
|
295
|
+
const attrGroup = obj[this.options.attributesGroupName];
|
|
296
|
+
for (let attrKey in attrGroup) {
|
|
297
|
+
if (!Object.prototype.hasOwnProperty.call(attrGroup, attrKey)) continue;
|
|
298
|
+
// Remove attribute prefix if present
|
|
299
|
+
const cleanKey = attrKey.startsWith(this.options.attributeNamePrefix)
|
|
300
|
+
? attrKey.substring(this.options.attributeNamePrefix.length)
|
|
301
|
+
: attrKey;
|
|
302
|
+
attrValues[cleanKey] = attrGroup[attrKey];
|
|
303
|
+
hasAttrs = true;
|
|
304
|
+
}
|
|
305
|
+
} else {
|
|
306
|
+
// Look for individual attributes (prefixed with attributeNamePrefix)
|
|
307
|
+
for (let key in obj) {
|
|
308
|
+
if (!Object.prototype.hasOwnProperty.call(obj, key)) continue;
|
|
309
|
+
const attr = this.isAttribute(key);
|
|
310
|
+
if (attr) {
|
|
311
|
+
attrValues[attr] = obj[key];
|
|
312
|
+
hasAttrs = true;
|
|
313
|
+
}
|
|
314
|
+
}
|
|
315
|
+
}
|
|
316
|
+
|
|
317
|
+
return hasAttrs ? attrValues : null;
|
|
318
|
+
};
|
|
319
|
+
|
|
320
|
+
// Build raw content for stopNode without entity encoding
|
|
321
|
+
Builder.prototype.buildRawContent = function (obj) {
|
|
322
|
+
if (typeof obj === 'string') {
|
|
323
|
+
return obj; // Already a string, return as-is
|
|
324
|
+
}
|
|
325
|
+
|
|
326
|
+
if (typeof obj !== 'object' || obj === null) {
|
|
327
|
+
return String(obj);
|
|
328
|
+
}
|
|
329
|
+
|
|
330
|
+
// Check if this is a stopNode data from parser: { "#text": "raw xml", "@_attr": "val" }
|
|
331
|
+
if (obj[this.options.textNodeName] !== undefined) {
|
|
332
|
+
return obj[this.options.textNodeName]; // Return raw text without encoding
|
|
333
|
+
}
|
|
334
|
+
|
|
335
|
+
// Build raw XML from nested structure
|
|
336
|
+
let content = '';
|
|
337
|
+
|
|
338
|
+
for (let key in obj) {
|
|
339
|
+
if (!Object.prototype.hasOwnProperty.call(obj, key)) continue;
|
|
340
|
+
|
|
341
|
+
// Skip attributes
|
|
342
|
+
if (this.isAttribute(key)) continue;
|
|
343
|
+
if (this.options.attributesGroupName && key === this.options.attributesGroupName) continue;
|
|
344
|
+
|
|
345
|
+
const value = obj[key];
|
|
346
|
+
|
|
347
|
+
if (key === this.options.textNodeName) {
|
|
348
|
+
content += value; // Raw text
|
|
349
|
+
} else if (Array.isArray(value)) {
|
|
350
|
+
// Array of same tag
|
|
351
|
+
for (let item of value) {
|
|
352
|
+
if (typeof item === 'string' || typeof item === 'number') {
|
|
353
|
+
content += `<${key}>${item}</${key}>`;
|
|
354
|
+
} else if (typeof item === 'object' && item !== null) {
|
|
355
|
+
const nestedContent = this.buildRawContent(item);
|
|
356
|
+
const nestedAttrs = this.buildAttributesForStopNode(item);
|
|
357
|
+
if (nestedContent === '') {
|
|
358
|
+
content += `<${key}${nestedAttrs}/>`;
|
|
359
|
+
} else {
|
|
360
|
+
content += `<${key}${nestedAttrs}>${nestedContent}</${key}>`;
|
|
361
|
+
}
|
|
362
|
+
}
|
|
363
|
+
}
|
|
364
|
+
} else if (typeof value === 'object' && value !== null) {
|
|
365
|
+
// Nested object
|
|
366
|
+
const nestedContent = this.buildRawContent(value);
|
|
367
|
+
const nestedAttrs = this.buildAttributesForStopNode(value);
|
|
368
|
+
if (nestedContent === '') {
|
|
369
|
+
content += `<${key}${nestedAttrs}/>`;
|
|
370
|
+
} else {
|
|
371
|
+
content += `<${key}${nestedAttrs}>${nestedContent}</${key}>`;
|
|
372
|
+
}
|
|
373
|
+
} else {
|
|
374
|
+
// Primitive value
|
|
375
|
+
content += `<${key}>${value}</${key}>`;
|
|
376
|
+
}
|
|
377
|
+
}
|
|
378
|
+
|
|
379
|
+
return content;
|
|
380
|
+
};
|
|
381
|
+
|
|
382
|
+
// Build attribute string for stopNode (no entity encoding)
|
|
383
|
+
Builder.prototype.buildAttributesForStopNode = function (obj) {
|
|
384
|
+
if (!obj || typeof obj !== 'object') return '';
|
|
385
|
+
|
|
386
|
+
let attrStr = '';
|
|
387
|
+
|
|
388
|
+
// Check for attributesGroupName (when attributes are grouped)
|
|
389
|
+
if (this.options.attributesGroupName && obj[this.options.attributesGroupName]) {
|
|
390
|
+
const attrGroup = obj[this.options.attributesGroupName];
|
|
391
|
+
for (let attrKey in attrGroup) {
|
|
392
|
+
if (!Object.prototype.hasOwnProperty.call(attrGroup, attrKey)) continue;
|
|
393
|
+
const cleanKey = attrKey.startsWith(this.options.attributeNamePrefix)
|
|
394
|
+
? attrKey.substring(this.options.attributeNamePrefix.length)
|
|
395
|
+
: attrKey;
|
|
396
|
+
const val = attrGroup[attrKey];
|
|
397
|
+
if (val === true && this.options.suppressBooleanAttributes) {
|
|
398
|
+
attrStr += ' ' + cleanKey;
|
|
399
|
+
} else {
|
|
400
|
+
attrStr += ' ' + cleanKey + '="' + val + '"'; // No encoding for stopNode
|
|
401
|
+
}
|
|
402
|
+
}
|
|
403
|
+
} else {
|
|
404
|
+
// Look for individual attributes
|
|
405
|
+
for (let key in obj) {
|
|
406
|
+
if (!Object.prototype.hasOwnProperty.call(obj, key)) continue;
|
|
407
|
+
const attr = this.isAttribute(key);
|
|
408
|
+
if (attr) {
|
|
409
|
+
const val = obj[key];
|
|
410
|
+
if (val === true && this.options.suppressBooleanAttributes) {
|
|
411
|
+
attrStr += ' ' + attr;
|
|
412
|
+
} else {
|
|
413
|
+
attrStr += ' ' + attr + '="' + val + '"'; // No encoding for stopNode
|
|
414
|
+
}
|
|
415
|
+
}
|
|
416
|
+
}
|
|
417
|
+
}
|
|
418
|
+
|
|
419
|
+
return attrStr;
|
|
420
|
+
};
|
|
421
|
+
|
|
189
422
|
Builder.prototype.buildObjectNode = function (val, key, attrStr, level) {
|
|
190
423
|
if (val === "") {
|
|
191
424
|
if (key[0] === "?") return this.indentate(level) + '<' + key + attrStr + '?' + this.tagEndChar;
|
|
@@ -228,6 +461,17 @@ Builder.prototype.closeTag = function (key) {
|
|
|
228
461
|
return closeTag;
|
|
229
462
|
}
|
|
230
463
|
|
|
464
|
+
Builder.prototype.checkStopNode = function (matcher) {
|
|
465
|
+
if (!this.stopNodeExpressions || this.stopNodeExpressions.length === 0) return false;
|
|
466
|
+
|
|
467
|
+
for (let i = 0; i < this.stopNodeExpressions.length; i++) {
|
|
468
|
+
if (matcher.matches(this.stopNodeExpressions[i])) {
|
|
469
|
+
return true;
|
|
470
|
+
}
|
|
471
|
+
}
|
|
472
|
+
return false;
|
|
473
|
+
}
|
|
474
|
+
|
|
231
475
|
function buildEmptyObjNode(val, key, attrStr, level) {
|
|
232
476
|
if (val !== '') {
|
|
233
477
|
return this.buildObjectNode(val, key, attrStr, level);
|
|
@@ -240,7 +484,7 @@ function buildEmptyObjNode(val, key, attrStr, level) {
|
|
|
240
484
|
}
|
|
241
485
|
}
|
|
242
486
|
|
|
243
|
-
Builder.prototype.buildTextValNode = function (val, key, attrStr, level) {
|
|
487
|
+
Builder.prototype.buildTextValNode = function (val, key, attrStr, level, matcher) {
|
|
244
488
|
if (this.options.cdataPropName !== false && key === this.options.cdataPropName) {
|
|
245
489
|
return this.indentate(level) + `<![CDATA[${val}]]>` + this.newLine;
|
|
246
490
|
} else if (this.options.commentPropName !== false && key === this.options.commentPropName) {
|
|
@@ -248,6 +492,7 @@ Builder.prototype.buildTextValNode = function (val, key, attrStr, level) {
|
|
|
248
492
|
} else if (key[0] === "?") {//PI tag
|
|
249
493
|
return this.indentate(level) + '<' + key + attrStr + '?' + this.tagEndChar;
|
|
250
494
|
} else {
|
|
495
|
+
// Normal processing: apply tagValueProcessor and entity replacement
|
|
251
496
|
let textValue = this.options.tagValueProcessor(key, val);
|
|
252
497
|
textValue = this.replaceEntitiesValue(textValue);
|
|
253
498
|
|
|
@@ -281,5 +526,4 @@ function isAttribute(name /*, options*/) {
|
|
|
281
526
|
} else {
|
|
282
527
|
return false;
|
|
283
528
|
}
|
|
284
|
-
}
|
|
285
|
-
|
|
529
|
+
}
|