@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,5 @@
|
|
|
1
|
+
import { Expression, Matcher } from 'path-expression-matcher';
|
|
2
|
+
|
|
1
3
|
const EOL = "\n";
|
|
2
4
|
|
|
3
5
|
/**
|
|
@@ -11,13 +13,33 @@ export default function toXml(jArray, options) {
|
|
|
11
13
|
if (options.format && options.indentBy.length > 0) {
|
|
12
14
|
indentation = EOL;
|
|
13
15
|
}
|
|
14
|
-
|
|
16
|
+
|
|
17
|
+
// Pre-compile stopNode expressions for pattern matching
|
|
18
|
+
const stopNodeExpressions = [];
|
|
19
|
+
if (options.stopNodes && Array.isArray(options.stopNodes)) {
|
|
20
|
+
for (let i = 0; i < options.stopNodes.length; i++) {
|
|
21
|
+
const node = options.stopNodes[i];
|
|
22
|
+
if (typeof node === 'string') {
|
|
23
|
+
stopNodeExpressions.push(new Expression(node));
|
|
24
|
+
} else if (node instanceof Expression) {
|
|
25
|
+
stopNodeExpressions.push(node);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
// Initialize matcher for path tracking
|
|
31
|
+
const matcher = new Matcher();
|
|
32
|
+
|
|
33
|
+
return arrToStr(jArray, options, indentation, matcher, stopNodeExpressions);
|
|
15
34
|
}
|
|
16
35
|
|
|
17
|
-
function arrToStr(arr, options,
|
|
36
|
+
function arrToStr(arr, options, indentation, matcher, stopNodeExpressions) {
|
|
18
37
|
let xmlStr = "";
|
|
19
38
|
let isPreviousElementTag = false;
|
|
20
39
|
|
|
40
|
+
if (options.maxNestedTags && matcher.getDepth() > options.maxNestedTags) {
|
|
41
|
+
throw new Error("Maximum nested tags exceeded");
|
|
42
|
+
}
|
|
21
43
|
|
|
22
44
|
if (!Array.isArray(arr)) {
|
|
23
45
|
// Non-array values (e.g. string tag values) should be treated as text content
|
|
@@ -34,13 +56,18 @@ function arrToStr(arr, options, jPath, indentation) {
|
|
|
34
56
|
const tagName = propName(tagObj);
|
|
35
57
|
if (tagName === undefined) continue;
|
|
36
58
|
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
59
|
+
// Extract attributes from ":@" property
|
|
60
|
+
const attrValues = extractAttributeValues(tagObj[":@"], options);
|
|
61
|
+
|
|
62
|
+
// Push tag to matcher WITH attributes
|
|
63
|
+
matcher.push(tagName, attrValues);
|
|
64
|
+
|
|
65
|
+
// Check if this is a stop node using Expression matching
|
|
66
|
+
const isStopNode = checkStopNode(matcher, stopNodeExpressions);
|
|
40
67
|
|
|
41
68
|
if (tagName === options.textNodeName) {
|
|
42
69
|
let tagText = tagObj[tagName];
|
|
43
|
-
if (!isStopNode
|
|
70
|
+
if (!isStopNode) {
|
|
44
71
|
tagText = options.tagValueProcessor(tagName, tagText);
|
|
45
72
|
tagText = replaceEntitiesValue(tagText, options);
|
|
46
73
|
}
|
|
@@ -49,6 +76,7 @@ function arrToStr(arr, options, jPath, indentation) {
|
|
|
49
76
|
}
|
|
50
77
|
xmlStr += tagText;
|
|
51
78
|
isPreviousElementTag = false;
|
|
79
|
+
matcher.pop();
|
|
52
80
|
continue;
|
|
53
81
|
} else if (tagName === options.cdataPropName) {
|
|
54
82
|
if (isPreviousElementTag) {
|
|
@@ -56,27 +84,42 @@ function arrToStr(arr, options, jPath, indentation) {
|
|
|
56
84
|
}
|
|
57
85
|
xmlStr += `<![CDATA[${tagObj[tagName][0][options.textNodeName]}]]>`;
|
|
58
86
|
isPreviousElementTag = false;
|
|
87
|
+
matcher.pop();
|
|
59
88
|
continue;
|
|
60
89
|
} else if (tagName === options.commentPropName) {
|
|
61
90
|
xmlStr += indentation + `<!--${tagObj[tagName][0][options.textNodeName]}-->`;
|
|
62
91
|
isPreviousElementTag = true;
|
|
92
|
+
matcher.pop();
|
|
63
93
|
continue;
|
|
64
94
|
} else if (tagName[0] === "?") {
|
|
65
|
-
const attStr = attr_to_str(tagObj[":@"], options);
|
|
95
|
+
const attStr = attr_to_str(tagObj[":@"], options, isStopNode);
|
|
66
96
|
const tempInd = tagName === "?xml" ? "" : indentation;
|
|
67
97
|
let piTextNodeName = tagObj[tagName][0][options.textNodeName];
|
|
68
98
|
piTextNodeName = piTextNodeName.length !== 0 ? " " + piTextNodeName : ""; //remove extra spacing
|
|
69
99
|
xmlStr += tempInd + `<${tagName}${piTextNodeName}${attStr}?>`;
|
|
70
100
|
isPreviousElementTag = true;
|
|
101
|
+
matcher.pop();
|
|
71
102
|
continue;
|
|
72
103
|
}
|
|
104
|
+
|
|
73
105
|
let newIdentation = indentation;
|
|
74
106
|
if (newIdentation !== "") {
|
|
75
107
|
newIdentation += options.indentBy;
|
|
76
108
|
}
|
|
77
|
-
|
|
109
|
+
|
|
110
|
+
// Pass isStopNode to attr_to_str so attributes are also not processed for stopNodes
|
|
111
|
+
const attStr = attr_to_str(tagObj[":@"], options, isStopNode);
|
|
78
112
|
const tagStart = indentation + `<${tagName}${attStr}`;
|
|
79
|
-
|
|
113
|
+
|
|
114
|
+
// If this is a stopNode, get raw content without processing
|
|
115
|
+
let tagValue;
|
|
116
|
+
if (isStopNode) {
|
|
117
|
+
tagValue = getRawContent(tagObj[tagName], options);
|
|
118
|
+
} else {
|
|
119
|
+
|
|
120
|
+
tagValue = arrToStr(tagObj[tagName], options, newIdentation, matcher, stopNodeExpressions);
|
|
121
|
+
}
|
|
122
|
+
|
|
80
123
|
if (options.unpairedTags.indexOf(tagName) !== -1) {
|
|
81
124
|
if (options.suppressUnpairedNode) xmlStr += tagStart + ">";
|
|
82
125
|
else xmlStr += tagStart + "/>";
|
|
@@ -94,11 +137,104 @@ function arrToStr(arr, options, jPath, indentation) {
|
|
|
94
137
|
xmlStr += `</${tagName}>`;
|
|
95
138
|
}
|
|
96
139
|
isPreviousElementTag = true;
|
|
140
|
+
|
|
141
|
+
// Pop tag from matcher
|
|
142
|
+
matcher.pop();
|
|
97
143
|
}
|
|
98
144
|
|
|
99
145
|
return xmlStr;
|
|
100
146
|
}
|
|
101
147
|
|
|
148
|
+
/**
|
|
149
|
+
* Extract attribute values from the ":@" object and return as plain object
|
|
150
|
+
* for passing to matcher.push()
|
|
151
|
+
*/
|
|
152
|
+
function extractAttributeValues(attrMap, options) {
|
|
153
|
+
if (!attrMap || options.ignoreAttributes) return null;
|
|
154
|
+
|
|
155
|
+
const attrValues = {};
|
|
156
|
+
let hasAttrs = false;
|
|
157
|
+
|
|
158
|
+
for (let attr in attrMap) {
|
|
159
|
+
if (!Object.prototype.hasOwnProperty.call(attrMap, attr)) continue;
|
|
160
|
+
// Remove the attribute prefix to get clean attribute name
|
|
161
|
+
const cleanAttrName = attr.startsWith(options.attributeNamePrefix)
|
|
162
|
+
? attr.substr(options.attributeNamePrefix.length)
|
|
163
|
+
: attr;
|
|
164
|
+
attrValues[cleanAttrName] = attrMap[attr];
|
|
165
|
+
hasAttrs = true;
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
return hasAttrs ? attrValues : null;
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
/**
|
|
172
|
+
* Extract raw content from a stopNode without any processing
|
|
173
|
+
* This preserves the content exactly as-is, including special characters
|
|
174
|
+
*/
|
|
175
|
+
function getRawContent(arr, options) {
|
|
176
|
+
if (!Array.isArray(arr)) {
|
|
177
|
+
// Non-array values return as-is
|
|
178
|
+
if (arr !== undefined && arr !== null) {
|
|
179
|
+
return arr.toString();
|
|
180
|
+
}
|
|
181
|
+
return "";
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
let content = "";
|
|
185
|
+
for (let i = 0; i < arr.length; i++) {
|
|
186
|
+
const item = arr[i];
|
|
187
|
+
const tagName = propName(item);
|
|
188
|
+
|
|
189
|
+
if (tagName === options.textNodeName) {
|
|
190
|
+
// Raw text content - NO processing, NO entity replacement
|
|
191
|
+
content += item[tagName];
|
|
192
|
+
} else if (tagName === options.cdataPropName) {
|
|
193
|
+
// CDATA content
|
|
194
|
+
content += item[tagName][0][options.textNodeName];
|
|
195
|
+
} else if (tagName === options.commentPropName) {
|
|
196
|
+
// Comment content
|
|
197
|
+
content += item[tagName][0][options.textNodeName];
|
|
198
|
+
} else if (tagName && tagName[0] === "?") {
|
|
199
|
+
// Processing instruction - skip for stopNodes
|
|
200
|
+
continue;
|
|
201
|
+
} else if (tagName) {
|
|
202
|
+
// Nested tags within stopNode
|
|
203
|
+
// Recursively get raw content and reconstruct the tag
|
|
204
|
+
// For stopNodes, we don't process attributes either
|
|
205
|
+
const attStr = attr_to_str_raw(item[":@"], options);
|
|
206
|
+
const nestedContent = getRawContent(item[tagName], options);
|
|
207
|
+
|
|
208
|
+
if (!nestedContent || nestedContent.length === 0) {
|
|
209
|
+
content += `<${tagName}${attStr}/>`;
|
|
210
|
+
} else {
|
|
211
|
+
content += `<${tagName}${attStr}>${nestedContent}</${tagName}>`;
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
return content;
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
/**
|
|
219
|
+
* Build attribute string for stopNodes - NO entity replacement
|
|
220
|
+
*/
|
|
221
|
+
function attr_to_str_raw(attrMap, options) {
|
|
222
|
+
let attrStr = "";
|
|
223
|
+
if (attrMap && !options.ignoreAttributes) {
|
|
224
|
+
for (let attr in attrMap) {
|
|
225
|
+
if (!Object.prototype.hasOwnProperty.call(attrMap, attr)) continue;
|
|
226
|
+
// For stopNodes, use raw value without processing
|
|
227
|
+
let attrVal = attrMap[attr];
|
|
228
|
+
if (attrVal === true && options.suppressBooleanAttributes) {
|
|
229
|
+
attrStr += ` ${attr.substr(options.attributeNamePrefix.length)}`;
|
|
230
|
+
} else {
|
|
231
|
+
attrStr += ` ${attr.substr(options.attributeNamePrefix.length)}="${attrVal}"`;
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
return attrStr;
|
|
236
|
+
}
|
|
237
|
+
|
|
102
238
|
function propName(obj) {
|
|
103
239
|
const keys = Object.keys(obj);
|
|
104
240
|
for (let i = 0; i < keys.length; i++) {
|
|
@@ -108,13 +244,22 @@ function propName(obj) {
|
|
|
108
244
|
}
|
|
109
245
|
}
|
|
110
246
|
|
|
111
|
-
function attr_to_str(attrMap, options) {
|
|
247
|
+
function attr_to_str(attrMap, options, isStopNode) {
|
|
112
248
|
let attrStr = "";
|
|
113
249
|
if (attrMap && !options.ignoreAttributes) {
|
|
114
250
|
for (let attr in attrMap) {
|
|
115
251
|
if (!Object.prototype.hasOwnProperty.call(attrMap, attr)) continue;
|
|
116
|
-
let attrVal
|
|
117
|
-
|
|
252
|
+
let attrVal;
|
|
253
|
+
|
|
254
|
+
if (isStopNode) {
|
|
255
|
+
// For stopNodes, use raw value without any processing
|
|
256
|
+
attrVal = attrMap[attr];
|
|
257
|
+
} else {
|
|
258
|
+
// Normal processing: apply attributeValueProcessor and entity replacement
|
|
259
|
+
attrVal = options.attributeValueProcessor(attr, attrMap[attr]);
|
|
260
|
+
attrVal = replaceEntitiesValue(attrVal, options);
|
|
261
|
+
}
|
|
262
|
+
|
|
118
263
|
if (attrVal === true && options.suppressBooleanAttributes) {
|
|
119
264
|
attrStr += ` ${attr.substr(options.attributeNamePrefix.length)}`;
|
|
120
265
|
} else {
|
|
@@ -125,11 +270,13 @@ function attr_to_str(attrMap, options) {
|
|
|
125
270
|
return attrStr;
|
|
126
271
|
}
|
|
127
272
|
|
|
128
|
-
function
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
for (let
|
|
132
|
-
if (
|
|
273
|
+
function checkStopNode(matcher, stopNodeExpressions) {
|
|
274
|
+
if (!stopNodeExpressions || stopNodeExpressions.length === 0) return false;
|
|
275
|
+
|
|
276
|
+
for (let i = 0; i < stopNodeExpressions.length; i++) {
|
|
277
|
+
if (matcher.matches(stopNodeExpressions[i])) {
|
|
278
|
+
return true;
|
|
279
|
+
}
|
|
133
280
|
}
|
|
134
281
|
return false;
|
|
135
282
|
}
|
|
@@ -142,4 +289,4 @@ function replaceEntitiesValue(textValue, options) {
|
|
|
142
289
|
}
|
|
143
290
|
}
|
|
144
291
|
return textValue;
|
|
145
|
-
}
|
|
292
|
+
}
|
|
@@ -1,23 +1,52 @@
|
|
|
1
1
|
<small>Note: If you find missing information about particular minor version, that version must have been changed without any functional change in this library.</small>
|
|
2
2
|
|
|
3
|
+
Note: Due to some last quick changes on v4, detail of v4.5.3 & v4.5.4 are not updated here. v4.5.4x is the last tag of v4 in github repository. I'm extremely sorry for the confusion
|
|
4
|
+
|
|
5
|
+
**5.5.6 / 2026-03-16**
|
|
6
|
+
- update builder dependency
|
|
7
|
+
- fix incorrect regex to replace \. in entity name
|
|
8
|
+
- fix check for entitiy expansion for lastEntities and html entities too
|
|
9
|
+
|
|
10
|
+
**5.5.5 / 2026-03-13**
|
|
11
|
+
- sanitize dangerous tag or attribute name
|
|
12
|
+
- error on critical property name
|
|
13
|
+
- support onDangerousProperty option
|
|
14
|
+
|
|
15
|
+
**5.5.4 / 2026-03-13**
|
|
16
|
+
- declare Matcher & Expression as unknown so user is not forced to install path-expression-matcher
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
**5.5.3 / 2026-03-11**
|
|
20
|
+
- upgrade builder
|
|
21
|
+
|
|
22
|
+
**5.5.2 / 2026-03-11**
|
|
23
|
+
- update dependency to fix typings
|
|
24
|
+
|
|
25
|
+
**5.5.1 / 2026-03-10**
|
|
26
|
+
- fix dependency
|
|
27
|
+
|
|
28
|
+
**5.5.0 / 2026-03-10**
|
|
29
|
+
- support path-expression-matcher
|
|
30
|
+
- fix: stopNode should not be parsed
|
|
31
|
+
- performance improvement for stopNode checking
|
|
32
|
+
|
|
33
|
+
**5.4.2 / 2026-03-03**
|
|
34
|
+
- support maxEntityCount option
|
|
35
|
+
|
|
3
36
|
**5.4.1 / 2026-02-25**
|
|
4
37
|
- fix (#785) unpairedTag node should not have tag content
|
|
5
38
|
|
|
6
|
-
|
|
7
39
|
**5.4.0 / 2026-02-25**
|
|
8
40
|
- migrate to fast-xml-builder
|
|
9
41
|
|
|
10
|
-
5.3.9
|
|
11
42
|
**5.3.9 / 2026-02-25**
|
|
12
43
|
- support strictReservedNames
|
|
13
44
|
|
|
14
|
-
5.3.8
|
|
15
45
|
**5.3.8 / 2026-02-25**
|
|
16
46
|
- support maxNestedTags
|
|
17
47
|
- handle non-array input for XML builder when preserveOrder is true (By [Angelo Coetzee](https://github.com/Angelopvtac))
|
|
18
48
|
- save use of js properies
|
|
19
49
|
|
|
20
|
-
5.3.7
|
|
21
50
|
**5.3.7 / 2026-02-20**
|
|
22
51
|
- fix typings for CJS (By [Corentin Girard](https://github.com/Drarig29))
|
|
23
52
|
|
|
@@ -152,13 +152,14 @@ Bundle size
|
|
|
152
152
|
<a href="./docs/v3/docs.md">documents</a>
|
|
153
153
|
</td>
|
|
154
154
|
<td><ol>
|
|
155
|
-
<li><a href="./docs/v4/1.GettingStarted.md">Getting Started</a></li>
|
|
156
|
-
<li><a href="./docs/v4/2.XMLparseOptions.md">XML Parser</a></li>
|
|
157
|
-
<li><a href="./docs/v4/3.XMLBuilder.md">XML Builder</a></li>
|
|
158
|
-
<li><a href="./docs/v4/4.XMLValidator.md">XML Validator</a></li>
|
|
159
|
-
<li><a href="./docs/v4/5.Entities.md">Entities</a></li>
|
|
160
|
-
<li><a href="./docs/v4/6.HTMLParsing.md">HTML Document Parsing</a></li>
|
|
161
|
-
<li><a href="./docs/v4/7.PITags.md">PI Tag processing</a></li>
|
|
155
|
+
<li><a href="./docs/v4,v5/1.GettingStarted.md">Getting Started</a></li>
|
|
156
|
+
<li><a href="./docs/v4,v5/2.XMLparseOptions.md">XML Parser</a></li>
|
|
157
|
+
<li><a href="./docs/v4,v5/3.XMLBuilder.md">XML Builder</a></li>
|
|
158
|
+
<li><a href="./docs/v4,v5/4.XMLValidator.md">XML Validator</a></li>
|
|
159
|
+
<li><a href="./docs/v4,v5/5.Entities.md">Entities</a></li>
|
|
160
|
+
<li><a href="./docs/v4,v5/6.HTMLParsing.md">HTML Document Parsing</a></li>
|
|
161
|
+
<li><a href="./docs/v4,v5/7.PITags.md">PI Tag processing</a></li>
|
|
162
|
+
<li><a href="./docs/v4,v5/8.PathExpression.md">Path Expression</a></li>
|
|
162
163
|
</ol></td>
|
|
163
164
|
<td><ol>
|
|
164
165
|
<li></li><a href="./docs/v6/1.GettingStarted.md">Getting Started</a></li>
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.XMLBuilder=e():t.XMLBuilder=e()}(this,()=>(()=>{"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={};function i(t,e){let i="";return e.format&&e.indentBy.length>0&&(i="\n"),s(t,e,"",i)}function s(t,e,i,p){let u="",h=!1;if(!Array.isArray(t)){if(null!=t){let i=t.toString();return i=a(i,e),i}return""}for(let l=0;l<t.length;l++){const d=t[l],c=n(d);if(void 0===c)continue;let f="";if(f=0===i.length?c:`${i}.${c}`,c===e.textNodeName){let t=d[c];r(f,e)||(t=e.tagValueProcessor(c,t),t=a(t,e)),h&&(u+=p),u+=t,h=!1;continue}if(c===e.cdataPropName){h&&(u+=p),u+=`<![CDATA[${d[c][0][e.textNodeName]}]]>`,h=!1;continue}if(c===e.commentPropName){u+=p+`\x3c!--${d[c][0][e.textNodeName]}--\x3e`,h=!0;continue}if("?"===c[0]){const t=o(d[":@"],e),i="?xml"===c?"":p;let s=d[c][0][e.textNodeName];s=0!==s.length?" "+s:"",u+=i+`<${c}${s}${t}?>`,h=!0;continue}let g=p;""!==g&&(g+=e.indentBy);const b=p+`<${c}${o(d[":@"],e)}`,N=s(d[c],e,f,g);-1!==e.unpairedTags.indexOf(c)?e.suppressUnpairedNode?u+=b+">":u+=b+"/>":N&&0!==N.length||!e.suppressEmptyNode?N&&N.endsWith(">")?u+=b+`>${N}${p}</${c}>`:(u+=b+">",N&&""!==p&&(N.includes("/>")||N.includes("</"))?u+=p+e.indentBy+N+p:u+=N,u+=`</${c}>`):u+=b+"/>",h=!0}return u}function n(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 o(t,e){let i="";if(t&&!e.ignoreAttributes)for(let s in t){if(!Object.prototype.hasOwnProperty.call(t,s))continue;let n=e.attributeValueProcessor(s,t[s]);n=a(n,e),!0===n&&e.suppressBooleanAttributes?i+=` ${s.substr(e.attributeNamePrefix.length)}`:i+=` ${s.substr(e.attributeNamePrefix.length)}="${n}"`}return i}function r(t,e){let i=(t=t.substr(0,t.length-e.textNodeName.length-1)).substr(t.lastIndexOf(".")+1);for(let s in e.stopNodes)if(e.stopNodes[s]===t||e.stopNodes[s]==="*."+i)return!0;return!1}function a(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}t.r(e),t.d(e,{default:()=>c});const p={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};function u(t){var e;this.options=Object.assign({},p,t),!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=d),this.processTextOrObjNode=h,this.options.format?(this.indentate=l,this.tagEndChar=">\n",this.newLine="\n"):(this.indentate=function(){return""},this.tagEndChar=">",this.newLine="")}function h(t,e,i,s){const n=this.j2x(t,i+1,s.concat(e));return void 0!==t[this.options.textNodeName]&&1===Object.keys(t).length?this.buildTextValNode(t[this.options.textNodeName],e,n.attrStr,i):this.buildObjectNode(n.val,e,n.attrStr,i)}function l(t){return this.options.indentBy.repeat(t)}function d(t){return!(!t.startsWith(this.options.attributeNamePrefix)||t===this.options.textNodeName)&&t.substr(this.attrPrefixLen)}u.prototype.build=function(t){return this.options.preserveOrder?i(t,this.options):(Array.isArray(t)&&this.options.arrayNodeName&&this.options.arrayNodeName.length>1&&(t={[this.options.arrayNodeName]:t}),this.j2x(t,0,[]).val)},u.prototype.j2x=function(t,e,i){let s="",n="";const o=i.join(".");for(let r in t)if(Object.prototype.hasOwnProperty.call(t,r))if(void 0===t[r])this.isAttribute(r)&&(n+="");else if(null===t[r])this.isAttribute(r)||r===this.options.cdataPropName?n+="":"?"===r[0]?n+=this.indentate(e)+"<"+r+"?"+this.tagEndChar:n+=this.indentate(e)+"<"+r+"/"+this.tagEndChar;else if(t[r]instanceof Date)n+=this.buildTextValNode(t[r],r,"",e);else if("object"!=typeof t[r]){const i=this.isAttribute(r);if(i&&!this.ignoreAttributesFn(i,o))s+=this.buildAttrPairStr(i,""+t[r]);else if(!i)if(r===this.options.textNodeName){let e=this.options.tagValueProcessor(r,""+t[r]);n+=this.replaceEntitiesValue(e)}else n+=this.buildTextValNode(t[r],r,"",e)}else if(Array.isArray(t[r])){const s=t[r].length;let o="",a="";for(let p=0;p<s;p++){const s=t[r][p];if(void 0===s);else if(null===s)"?"===r[0]?n+=this.indentate(e)+"<"+r+"?"+this.tagEndChar:n+=this.indentate(e)+"<"+r+"/"+this.tagEndChar;else if("object"==typeof s)if(this.options.oneListGroup){const t=this.j2x(s,e+1,i.concat(r));o+=t.val,this.options.attributesGroupName&&s.hasOwnProperty(this.options.attributesGroupName)&&(a+=t.attrStr)}else o+=this.processTextOrObjNode(s,r,e,i);else if(this.options.oneListGroup){let t=this.options.tagValueProcessor(r,s);t=this.replaceEntitiesValue(t),o+=t}else o+=this.buildTextValNode(s,r,"",e)}this.options.oneListGroup&&(o=this.buildObjectNode(o,r,a,e)),n+=o}else if(this.options.attributesGroupName&&r===this.options.attributesGroupName){const e=Object.keys(t[r]),i=e.length;for(let n=0;n<i;n++)s+=this.buildAttrPairStr(e[n],""+t[r][e[n]])}else n+=this.processTextOrObjNode(t[r],r,e,i);return{attrStr:s,val:n}},u.prototype.buildAttrPairStr=function(t,e){return e=this.options.attributeValueProcessor(t,""+e),e=this.replaceEntitiesValue(e),this.options.suppressBooleanAttributes&&"true"===e?" "+t:" "+t+'="'+e+'"'},u.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}},u.prototype.closeTag=function(t){let e="";return-1!==this.options.unpairedTags.indexOf(t)?this.options.suppressUnpairedNode||(e="/"):e=this.options.suppressEmptyNode?"/":`></${t}`,e},u.prototype.buildTextValNode=function(t,e,i,s){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}},u.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};const c=u;return e})());
|
|
1
|
+
!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.XMLBuilder=e():t.XMLBuilder=e()}(this,()=>(()=>{"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:()=>N});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};const N=f;return e})());
|
|
2
2
|
//# sourceMappingURL=fxbuilder.min.js.map
|