@cdk8s/awscdk-resolver 0.0.537 → 0.0.538

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (30) hide show
  1. package/.jsii +3 -3
  2. package/lib/resolve.js +1 -1
  3. package/node_modules/@aws-sdk/client-cloudformation/package.json +5 -5
  4. package/node_modules/@aws-sdk/core/dist-cjs/index.js +46 -44
  5. package/node_modules/@aws-sdk/core/dist-cjs/submodules/protocols/index.js +46 -44
  6. package/node_modules/@aws-sdk/core/dist-es/submodules/protocols/ProtocolLib.js +11 -10
  7. package/node_modules/@aws-sdk/core/dist-es/submodules/protocols/UnionSerde.js +4 -1
  8. package/node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/AwsJsonRpcProtocol.js +4 -5
  9. package/node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/AwsRestJsonProtocol.js +2 -1
  10. package/node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/JsonShapeSerializer.js +3 -1
  11. package/node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/parseJsonBody.js +17 -17
  12. package/node_modules/@aws-sdk/core/dist-es/submodules/protocols/query/AwsQueryProtocol.js +3 -8
  13. package/node_modules/@aws-sdk/core/dist-es/submodules/protocols/xml/AwsRestXmlProtocol.js +2 -1
  14. package/node_modules/@aws-sdk/core/package.json +1 -1
  15. package/node_modules/@aws-sdk/credential-provider-env/package.json +2 -2
  16. package/node_modules/@aws-sdk/credential-provider-http/package.json +2 -2
  17. package/node_modules/@aws-sdk/credential-provider-ini/package.json +9 -9
  18. package/node_modules/@aws-sdk/credential-provider-login/package.json +3 -3
  19. package/node_modules/@aws-sdk/credential-provider-node/package.json +7 -7
  20. package/node_modules/@aws-sdk/credential-provider-process/package.json +2 -2
  21. package/node_modules/@aws-sdk/credential-provider-sso/package.json +4 -4
  22. package/node_modules/@aws-sdk/credential-provider-web-identity/package.json +3 -3
  23. package/node_modules/@aws-sdk/middleware-user-agent/package.json +2 -2
  24. package/node_modules/@aws-sdk/nested-clients/package.json +4 -4
  25. package/node_modules/@aws-sdk/token-providers/package.json +3 -3
  26. package/node_modules/@aws-sdk/util-user-agent-node/package.json +2 -2
  27. package/node_modules/fast-xml-builder/package.json +1 -1
  28. package/node_modules/fast-xml-builder/src/fxb.js +6 -2
  29. package/node_modules/fast-xml-builder/src/orderedJs2Xml.js +16 -2
  30. package/package.json +3 -3
package/.jsii CHANGED
@@ -7,7 +7,7 @@
7
7
  "url": "https://aws.amazon.com"
8
8
  },
9
9
  "bundled": {
10
- "@aws-sdk/client-cloudformation": "^3.1031.0"
10
+ "@aws-sdk/client-cloudformation": "^3.1032.0"
11
11
  },
12
12
  "dependencies": {
13
13
  "aws-cdk-lib": "^2.195.0",
@@ -4082,6 +4082,6 @@
4082
4082
  "symbolId": "src/resolve:AwsCdkResolver"
4083
4083
  }
4084
4084
  },
4085
- "version": "0.0.537",
4086
- "fingerprint": "nFsdzOupXw+/HDLjvaYdwCmpC4SIHRW9mFVcCwWJaeo="
4085
+ "version": "0.0.538",
4086
+ "fingerprint": "M9qFlp1B5MqncxLo7oUHsmp7ZTrF7ABeiM4IN27yQuk="
4087
4087
  }
package/lib/resolve.js CHANGED
@@ -61,5 +61,5 @@ class AwsCdkResolver {
61
61
  }
62
62
  exports.AwsCdkResolver = AwsCdkResolver;
63
63
  _a = JSII_RTTI_SYMBOL_1;
64
- AwsCdkResolver[_a] = { fqn: "@cdk8s/awscdk-resolver.AwsCdkResolver", version: "0.0.537" };
64
+ AwsCdkResolver[_a] = { fqn: "@cdk8s/awscdk-resolver.AwsCdkResolver", version: "0.0.538" };
65
65
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb2x2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9yZXNvbHZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsaURBQTZDO0FBQzdDLDZCQUE2QjtBQUM3Qiw2Q0FBK0U7QUFJL0UsTUFBYSxjQUFjO0lBRWxCLE9BQU8sQ0FBQyxPQUEwQjtRQUV2QyxJQUFJLENBQUMsbUJBQUssQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDdkMsT0FBTztRQUNULENBQUM7UUFFRCxJQUFJLE9BQU8sT0FBTyxDQUFDLEtBQUssS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUN0QywrREFBK0Q7WUFDL0QsbUJBQW1CO1lBQ25CLE1BQU0sSUFBSSxLQUFLLENBQUMsdUJBQXVCLE9BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLHNCQUFzQixDQUFDLENBQUM7UUFDdEYsQ0FBQztRQUVELE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzlDLElBQUksQ0FBQztZQUNILE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNsRCxPQUFPLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ3BDLENBQUM7UUFBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO1lBQ2IsMkVBQTJFO1lBQzNFLGtFQUFrRTtZQUNsRSwyRUFBMkU7WUFDM0UsK0VBQStFO1lBQy9FLCtDQUErQztZQUMvQyxPQUFPLENBQUMsWUFBWSxDQUFDLG9DQUFvQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZGLENBQUM7SUFFSCxDQUFDO0lBRU8sVUFBVSxDQUFDLEtBQWE7UUFFOUIsTUFBTSxlQUFlLEdBQVksRUFBRSxDQUFDO1FBRXBDLEtBQUssTUFBTSxLQUFLLElBQUksMEJBQVksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDN0QsSUFBSSx1QkFBUyxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO2dCQUNqQyxNQUFNLEtBQUssR0FBRyxtQkFBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQ3JDLGVBQWUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQzVCLE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxZQUFZLHVCQUFTLElBQUksQ0FBQyxDQUFDLEtBQUssS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQWMsQ0FBQztnQkFDN0csa0ZBQWtGO2dCQUNsRix3REFBd0Q7Z0JBQ3hELElBQUksTUFBTTtvQkFBRSxPQUFPLE1BQU0sQ0FBQztZQUM1QixDQUFDO1FBQ0gsQ0FBQztRQUVELDZCQUE2QjtRQUM3Qiw2QkFBNkI7UUFDN0Isb0NBQW9DO1FBQ3BDLG9GQUFvRjtRQUNwRiwrREFBK0Q7UUFDL0QsTUFBTSxJQUFJLEtBQUssQ0FBQyxxQ0FBcUMsS0FBSyx1QkFBdUIsZUFBZSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBRXZJLENBQUM7SUFFTyxnQkFBZ0IsQ0FBQyxNQUFpQjtRQUV4QyxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLHVCQUF1QixDQUFDLENBQUM7UUFDMUUsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUEsNEJBQVksRUFBQyxPQUFPLENBQUMsUUFBUSxFQUFFO1lBQy9DLE1BQU07WUFDTixtQkFBSyxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxTQUFTO1lBQzFCLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRTtTQUNmLEVBQUUsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBRWhFLENBQUM7O0FBOURILHdDQWdFQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGV4ZWNGaWxlU3luYyB9IGZyb20gJ2NoaWxkX3Byb2Nlc3MnO1xuaW1wb3J0ICogYXMgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCB7IFRva2VuLCBTdGFjaywgVG9rZW5pemF0aW9uLCBSZWZlcmVuY2UsIENmbk91dHB1dCB9IGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB7IElSZXNvbHZlciwgUmVzb2x1dGlvbkNvbnRleHQgfSBmcm9tICdjZGs4cyc7XG5cblxuZXhwb3J0IGNsYXNzIEF3c0Nka1Jlc29sdmVyIGltcGxlbWVudHMgSVJlc29sdmVyIHtcblxuICBwdWJsaWMgcmVzb2x2ZShjb250ZXh0OiBSZXNvbHV0aW9uQ29udGV4dCkge1xuXG4gICAgaWYgKCFUb2tlbi5pc1VucmVzb2x2ZWQoY29udGV4dC52YWx1ZSkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIGNvbnRleHQudmFsdWUgIT09ICdzdHJpbmcnKSB7XG4gICAgICAvLyBzaG91bGQgYmUgb2sgYmVjYXVzZSB3ZSBvbmx5IHJlc29sdmUgQ2ZuT3V0cHV0IHZhbHVlcywgd2hpY2hcbiAgICAgIC8vIG11c3QgYmUgc3RyaW5ncy5cbiAgICAgIHRocm93IG5ldyBFcnJvcihgSW52YWxpZCB2YWx1ZSB0eXBlOiAke3R5cGVvZihjb250ZXh0LnZhbHVlKX0gKEV4cGVjdGVkICdzdHJpbmcnKWApO1xuICAgIH1cblxuICAgIGNvbnN0IG91dHB1dCA9IHRoaXMuZmluZE91dHB1dChjb250ZXh0LnZhbHVlKTtcbiAgICB0cnkge1xuICAgICAgY29uc3Qgb3V0cHV0VmFsdWUgPSB0aGlzLmZldGNoT3V0cHV0VmFsdWUob3V0cHV0KTtcbiAgICAgIGNvbnRleHQucmVwbGFjZVZhbHVlKG91dHB1dFZhbHVlKTtcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIC8vIGlmIGJvdGggY2RrOHMgYW5kIEFXUyBDREsgYXBwbGljYXRpb25zIGFyZSBkZWZpbmVkIHdpdGhpbiB0aGUgc2FtZSBmaWxlLFxuICAgICAgLy8gYSBjZGs4cyBzeW50aCBpcyBnb2luZyB0byBoYXBwZW4gYmVmb3JlIHRoZSBBV1MgQ0RLIGRlcGxveW1lbnQuXG4gICAgICAvLyBpbiB0aGlzIGNhc2Ugd2UgbXVzdCBzd2FsbG93IHRoZSBlcnJvciwgb3RoZXJ3aXNlIHRoZSBBV1MgQ0RLIGRlcGxveW1lbnRcbiAgICAgIC8vIHdvbid0IGJlIGFibGUgdG8gZ28gdGhyb3VnaC4gd2UgcmVwbGFjZSB0aGUgdmFsdWUgd2l0aCBzb21ldGhpbmcgdG8gaW5kaWNhdGVcbiAgICAgIC8vIHRoYXQgYSBmZXRjaGluZyBhdHRlbXB0IHdhcyBtYWRlIGFuZCBmYWlsZWQuXG4gICAgICBjb250ZXh0LnJlcGxhY2VWYWx1ZShgRmFpbGVkIGZldGNoaW5nIHZhbHVlIGZvciBvdXRwdXQgJHtvdXRwdXQubm9kZS5wYXRofTogJHtlcnJ9YCk7XG4gICAgfVxuXG4gIH1cblxuICBwcml2YXRlIGZpbmRPdXRwdXQodmFsdWU6IHN0cmluZykge1xuXG4gICAgY29uc3QgaW5zcGVjdGVkU3RhY2tzOiBTdGFja1tdID0gW107XG5cbiAgICBmb3IgKGNvbnN0IHRva2VuIG9mIFRva2VuaXphdGlvbi5yZXZlcnNlU3RyaW5nKHZhbHVlKS50b2tlbnMpIHtcbiAgICAgIGlmIChSZWZlcmVuY2UuaXNSZWZlcmVuY2UodG9rZW4pKSB7XG4gICAgICAgIGNvbnN0IHN0YWNrID0gU3RhY2sub2YodG9rZW4udGFyZ2V0KTtcbiAgICAgICAgaW5zcGVjdGVkU3RhY2tzLnB1c2goc3RhY2spO1xuICAgICAgICBjb25zdCBvdXRwdXQgPSBzdGFjay5ub2RlLmZpbmRBbGwoKS5maWx0ZXIoYyA9PiBjIGluc3RhbmNlb2YgQ2ZuT3V0cHV0ICYmIGMudmFsdWUgPT09IHZhbHVlKVswXSBhcyBDZm5PdXRwdXQ7XG4gICAgICAgIC8vIHdlIGRvbid0IHJlYWxseSBjYXJlIGlmIHRoZXJlIGFyZSBtb3JlIG91dHB1dHMgKHBvc3NpYmx5IGZyb20gZGlmZmVyZW50IHN0YWNrcylcbiAgICAgICAgLy8gdGhhdCBwb2ludCB0byB0aGUgc2FtZSB2YWx1ZS4gdGhlIGZpcnN0IHdpbGwgc3VmZmljZS5cbiAgICAgICAgaWYgKG91dHB1dCkgcmV0dXJuIG91dHB1dDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBUaGlzIGNhbiBoYXBwZW4gaWYgZWl0aGVyOlxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy8gIDEuIFVzZXIgZGlkbid0IGRlZmluZSBhbiBvdXRwdXQuXG4gICAgLy8gIDIuIE91dHB1dCB3YXMgZGVmaW5lZCBpbiBhIGRpZmZlcmVudCBzdGFjayB0aGFuIHRoZSB0b2tlbnMgY29tcHJpc2luZyBpdHMgdmFsdWUuXG4gICAgLy8gIDMuIE5vbmUgb2YgdGhlIHRva2VucyBjb21wcmlzaW5nIHRoZSB2YWx1ZSBhcmUgYSBSZWZlcmVuY2UuXG4gICAgdGhyb3cgbmV3IEVycm9yKGBVbmFibGUgdG8gZmluZCBvdXRwdXQgZGVmaW5lZCBmb3IgJHt2YWx1ZX0gKEluc3BlY3RlZCBzdGFja3M6ICR7aW5zcGVjdGVkU3RhY2tzLm1hcChzID0+IHMuc3RhY2tOYW1lKS5qb2luKCcsJyl9KWApO1xuXG4gIH1cblxuICBwcml2YXRlIGZldGNoT3V0cHV0VmFsdWUob3V0cHV0OiBDZm5PdXRwdXQpIHtcblxuICAgIGNvbnN0IHNjcmlwdCA9IHBhdGguam9pbihfX2Rpcm5hbWUsICcuLicsICdsaWInLCAnZmV0Y2gtb3V0cHV0LXZhbHVlLmpzJyk7XG4gICAgcmV0dXJuIEpTT04ucGFyc2UoZXhlY0ZpbGVTeW5jKHByb2Nlc3MuZXhlY1BhdGgsIFtcbiAgICAgIHNjcmlwdCxcbiAgICAgIFN0YWNrLm9mKG91dHB1dCkuc3RhY2tOYW1lLFxuICAgICAgb3V0cHV0Lm5vZGUuaWQsXG4gICAgXSwgeyBlbmNvZGluZzogJ3V0Zi04Jywgc3RkaW86IFsncGlwZSddIH0pLnRvU3RyaW5nKCkudHJpbSgpKTtcblxuICB9XG5cbn1cbiJdfQ==
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@aws-sdk/client-cloudformation",
3
3
  "description": "AWS SDK for JavaScript Cloudformation Client for Node.js, Browser and React Native",
4
- "version": "3.1031.0",
4
+ "version": "3.1032.0",
5
5
  "scripts": {
6
6
  "build": "concurrently 'yarn:build:types' 'yarn:build:es' && yarn build:cjs",
7
7
  "build:cjs": "node ../../scripts/compilation/inline client-cloudformation",
@@ -23,17 +23,17 @@
23
23
  "dependencies": {
24
24
  "@aws-crypto/sha256-browser": "5.2.0",
25
25
  "@aws-crypto/sha256-js": "5.2.0",
26
- "@aws-sdk/core": "^3.974.0",
27
- "@aws-sdk/credential-provider-node": "^3.972.31",
26
+ "@aws-sdk/core": "^3.974.1",
27
+ "@aws-sdk/credential-provider-node": "^3.972.32",
28
28
  "@aws-sdk/middleware-host-header": "^3.972.10",
29
29
  "@aws-sdk/middleware-logger": "^3.972.10",
30
30
  "@aws-sdk/middleware-recursion-detection": "^3.972.11",
31
- "@aws-sdk/middleware-user-agent": "^3.972.30",
31
+ "@aws-sdk/middleware-user-agent": "^3.972.31",
32
32
  "@aws-sdk/region-config-resolver": "^3.972.12",
33
33
  "@aws-sdk/types": "^3.973.8",
34
34
  "@aws-sdk/util-endpoints": "^3.996.7",
35
35
  "@aws-sdk/util-user-agent-browser": "^3.972.10",
36
- "@aws-sdk/util-user-agent-node": "^3.973.16",
36
+ "@aws-sdk/util-user-agent-node": "^3.973.17",
37
37
  "@smithy/config-resolver": "^4.4.16",
38
38
  "@smithy/core": "^3.23.15",
39
39
  "@smithy/fetch-http-handler": "^5.3.17",
@@ -450,12 +450,11 @@ class ProtocolLib {
450
450
  if (msg) {
451
451
  error.message = msg;
452
452
  }
453
- error.Error = {
454
- ...error.Error,
455
- Type: error.Error?.Type,
456
- Code: error.Error?.Code,
457
- Message: error.Error?.message ?? error.Error?.Message ?? msg,
458
- };
453
+ const errorObj = error.Error ?? {};
454
+ errorObj.Type = error.Error?.Type;
455
+ errorObj.Code = error.Error?.Code;
456
+ errorObj.Message = error.Error?.message ?? error.Error?.Message ?? msg;
457
+ error.Error = errorObj;
459
458
  const reqId = error.$metadata.requestId;
460
459
  if (reqId) {
461
460
  error.RequestId = reqId;
@@ -468,14 +467,16 @@ class ProtocolLib {
468
467
  const queryErrorHeader = response.headers?.["x-amzn-query-error"];
469
468
  if (output !== undefined && queryErrorHeader != null) {
470
469
  const [Code, Type] = queryErrorHeader.split(";");
471
- const entries = Object.entries(output);
470
+ const keys = Object.keys(output);
472
471
  const Error = {
473
472
  Code,
474
473
  Type,
475
474
  };
476
- Object.assign(output, Error);
477
- for (const [k, v] of entries) {
478
- Error[k === "message" ? "Message" : k] = v;
475
+ output.Code = Code;
476
+ output.Type = Type;
477
+ for (let i = 0; i < keys.length; i++) {
478
+ const k = keys[i];
479
+ Error[k === "message" ? "Message" : k] = output[k];
479
480
  }
480
481
  delete Error.__type;
481
482
  output.Error = Error;
@@ -614,7 +615,10 @@ class UnionSerde {
614
615
  constructor(from, to) {
615
616
  this.from = from;
616
617
  this.to = to;
617
- this.keys = new Set(Object.keys(this.from).filter((k) => k !== "__type"));
618
+ const keys = Object.keys(this.from);
619
+ const set = new Set(keys);
620
+ set.delete("__type");
621
+ this.keys = set;
618
622
  }
619
623
  mark(key) {
620
624
  this.keys.delete(key);
@@ -672,24 +676,24 @@ const parseJsonErrorBody = async (errorBody, context) => {
672
676
  value.message = value.message ?? value.Message;
673
677
  return value;
674
678
  };
679
+ const findKey = (object, key) => Object.keys(object).find((k) => k.toLowerCase() === key.toLowerCase());
680
+ const sanitizeErrorCode = (rawValue) => {
681
+ let cleanValue = rawValue;
682
+ if (typeof cleanValue === "number") {
683
+ cleanValue = cleanValue.toString();
684
+ }
685
+ if (cleanValue.indexOf(",") >= 0) {
686
+ cleanValue = cleanValue.split(",")[0];
687
+ }
688
+ if (cleanValue.indexOf(":") >= 0) {
689
+ cleanValue = cleanValue.split(":")[0];
690
+ }
691
+ if (cleanValue.indexOf("#") >= 0) {
692
+ cleanValue = cleanValue.split("#")[1];
693
+ }
694
+ return cleanValue;
695
+ };
675
696
  const loadRestJsonErrorCode = (output, data) => {
676
- const findKey = (object, key) => Object.keys(object).find((k) => k.toLowerCase() === key.toLowerCase());
677
- const sanitizeErrorCode = (rawValue) => {
678
- let cleanValue = rawValue;
679
- if (typeof cleanValue === "number") {
680
- cleanValue = cleanValue.toString();
681
- }
682
- if (cleanValue.indexOf(",") >= 0) {
683
- cleanValue = cleanValue.split(",")[0];
684
- }
685
- if (cleanValue.indexOf(":") >= 0) {
686
- cleanValue = cleanValue.split(":")[0];
687
- }
688
- if (cleanValue.indexOf("#") >= 0) {
689
- cleanValue = cleanValue.split("#")[1];
690
- }
691
- return cleanValue;
692
- };
693
697
  const headerKey = findKey(output.headers, "x-amzn-errortype");
694
698
  if (headerKey !== undefined) {
695
699
  return sanitizeErrorCode(output.headers[headerKey]);
@@ -937,6 +941,7 @@ class JsonShapeSerializer extends SerdeContextConfig {
937
941
  if (jsonName) {
938
942
  nameMap = {};
939
943
  }
944
+ let outCount = 0;
940
945
  for (const [memberName, memberSchema] of ns.structIterator()) {
941
946
  const serializableValue = this._write(memberSchema, record[memberName], ns);
942
947
  if (serializableValue !== undefined) {
@@ -946,9 +951,10 @@ class JsonShapeSerializer extends SerdeContextConfig {
946
951
  nameMap[memberName] = targetKey;
947
952
  }
948
953
  out[targetKey] = serializableValue;
954
+ outCount++;
949
955
  }
950
956
  }
951
- if (ns.isUnionSchema() && Object.keys(out).length === 0) {
957
+ if (ns.isUnionSchema() && outCount === 0) {
952
958
  const { $unknown } = record;
953
959
  if (Array.isArray($unknown)) {
954
960
  const [k, v] = $unknown;
@@ -1114,10 +1120,8 @@ class AwsJsonRpcProtocol extends protocols.RpcProtocol {
1114
1120
  if (!request.path.endsWith("/")) {
1115
1121
  request.path += "/";
1116
1122
  }
1117
- Object.assign(request.headers, {
1118
- "content-type": `application/x-amz-json-${this.getJsonRpcVersion()}`,
1119
- "x-amz-target": `${this.serviceTarget}.${operationSchema.name}`,
1120
- });
1123
+ request.headers["content-type"] = `application/x-amz-json-${this.getJsonRpcVersion()}`;
1124
+ request.headers["x-amz-target"] = `${this.serviceTarget}.${operationSchema.name}`;
1121
1125
  if (this.awsQueryCompatible) {
1122
1126
  request.headers["x-amzn-query-mode"] = "true";
1123
1127
  }
@@ -1141,9 +1145,10 @@ class AwsJsonRpcProtocol extends protocols.RpcProtocol {
1141
1145
  const ErrorCtor = this.compositeErrorRegistry.getErrorCtor(errorSchema) ?? Error;
1142
1146
  const exception = new ErrorCtor(message);
1143
1147
  const output = {};
1148
+ const errorDeserializer = this.codec.createDeserializer();
1144
1149
  for (const [name, member] of ns.structIterator()) {
1145
1150
  if (dataObject[name] != null) {
1146
- output[name] = this.codec.createDeserializer().readObject(member, dataObject[name]);
1151
+ output[name] = errorDeserializer.readObject(member, dataObject[name]);
1147
1152
  }
1148
1153
  }
1149
1154
  if (this.awsQueryCompatible) {
@@ -1264,9 +1269,10 @@ class AwsRestJsonProtocol extends protocols.HttpBindingProtocol {
1264
1269
  const exception = new ErrorCtor(message);
1265
1270
  await this.deserializeHttpMessage(errorSchema, context, response, dataObject);
1266
1271
  const output = {};
1272
+ const errorDeserializer = this.codec.createDeserializer();
1267
1273
  for (const [name, member] of ns.structIterator()) {
1268
1274
  const target = member.getMergedTraits().jsonName ?? name;
1269
- output[name] = this.codec.createDeserializer().readObject(member, dataObject[target]);
1275
+ output[name] = errorDeserializer.readObject(member, dataObject[target]);
1270
1276
  }
1271
1277
  throw this.mixin.decorateServiceException(Object.assign(exception, errorMetadata, {
1272
1278
  $fault: ns.getMergedTraits().error,
@@ -1657,9 +1663,7 @@ class AwsQueryProtocol extends protocols.RpcProtocol {
1657
1663
  if (!request.path.endsWith("/")) {
1658
1664
  request.path += "/";
1659
1665
  }
1660
- Object.assign(request.headers, {
1661
- "content-type": `application/x-www-form-urlencoded`,
1662
- });
1666
+ request.headers["content-type"] = "application/x-www-form-urlencoded";
1663
1667
  if (schema.deref(operationSchema.input) === "unit" || !request.body) {
1664
1668
  request.body = "";
1665
1669
  }
@@ -1692,11 +1696,8 @@ class AwsQueryProtocol extends protocols.RpcProtocol {
1692
1696
  if (bytes.byteLength > 0) {
1693
1697
  Object.assign(dataObject, await deserializer.read(ns, bytes, awsQueryResultKey));
1694
1698
  }
1695
- const output = {
1696
- $metadata: this.deserializeMetadata(response),
1697
- ...dataObject,
1698
- };
1699
- return output;
1699
+ dataObject.$metadata = this.deserializeMetadata(response);
1700
+ return dataObject;
1700
1701
  }
1701
1702
  useNestedResult() {
1702
1703
  return true;
@@ -2196,10 +2197,11 @@ class AwsRestXmlProtocol extends protocols.HttpBindingProtocol {
2196
2197
  const exception = new ErrorCtor(message);
2197
2198
  await this.deserializeHttpMessage(errorSchema, context, response, dataObject);
2198
2199
  const output = {};
2200
+ const errorDeserializer = this.codec.createDeserializer();
2199
2201
  for (const [name, member] of ns.structIterator()) {
2200
2202
  const target = member.getMergedTraits().xmlName ?? name;
2201
2203
  const value = dataObject.Error?.[target] ?? dataObject[target];
2202
- output[name] = this.codec.createDeserializer().readSchema(member, value);
2204
+ output[name] = errorDeserializer.readSchema(member, value);
2203
2205
  }
2204
2206
  throw this.mixin.decorateServiceException(Object.assign(exception, errorMetadata, {
2205
2207
  $fault: ns.getMergedTraits().error,
@@ -96,12 +96,11 @@ class ProtocolLib {
96
96
  if (msg) {
97
97
  error.message = msg;
98
98
  }
99
- error.Error = {
100
- ...error.Error,
101
- Type: error.Error?.Type,
102
- Code: error.Error?.Code,
103
- Message: error.Error?.message ?? error.Error?.Message ?? msg,
104
- };
99
+ const errorObj = error.Error ?? {};
100
+ errorObj.Type = error.Error?.Type;
101
+ errorObj.Code = error.Error?.Code;
102
+ errorObj.Message = error.Error?.message ?? error.Error?.Message ?? msg;
103
+ error.Error = errorObj;
105
104
  const reqId = error.$metadata.requestId;
106
105
  if (reqId) {
107
106
  error.RequestId = reqId;
@@ -114,14 +113,16 @@ class ProtocolLib {
114
113
  const queryErrorHeader = response.headers?.["x-amzn-query-error"];
115
114
  if (output !== undefined && queryErrorHeader != null) {
116
115
  const [Code, Type] = queryErrorHeader.split(";");
117
- const entries = Object.entries(output);
116
+ const keys = Object.keys(output);
118
117
  const Error = {
119
118
  Code,
120
119
  Type,
121
120
  };
122
- Object.assign(output, Error);
123
- for (const [k, v] of entries) {
124
- Error[k === "message" ? "Message" : k] = v;
121
+ output.Code = Code;
122
+ output.Type = Type;
123
+ for (let i = 0; i < keys.length; i++) {
124
+ const k = keys[i];
125
+ Error[k === "message" ? "Message" : k] = output[k];
125
126
  }
126
127
  delete Error.__type;
127
128
  output.Error = Error;
@@ -260,7 +261,10 @@ class UnionSerde {
260
261
  constructor(from, to) {
261
262
  this.from = from;
262
263
  this.to = to;
263
- this.keys = new Set(Object.keys(this.from).filter((k) => k !== "__type"));
264
+ const keys = Object.keys(this.from);
265
+ const set = new Set(keys);
266
+ set.delete("__type");
267
+ this.keys = set;
264
268
  }
265
269
  mark(key) {
266
270
  this.keys.delete(key);
@@ -318,24 +322,24 @@ const parseJsonErrorBody = async (errorBody, context) => {
318
322
  value.message = value.message ?? value.Message;
319
323
  return value;
320
324
  };
325
+ const findKey = (object, key) => Object.keys(object).find((k) => k.toLowerCase() === key.toLowerCase());
326
+ const sanitizeErrorCode = (rawValue) => {
327
+ let cleanValue = rawValue;
328
+ if (typeof cleanValue === "number") {
329
+ cleanValue = cleanValue.toString();
330
+ }
331
+ if (cleanValue.indexOf(",") >= 0) {
332
+ cleanValue = cleanValue.split(",")[0];
333
+ }
334
+ if (cleanValue.indexOf(":") >= 0) {
335
+ cleanValue = cleanValue.split(":")[0];
336
+ }
337
+ if (cleanValue.indexOf("#") >= 0) {
338
+ cleanValue = cleanValue.split("#")[1];
339
+ }
340
+ return cleanValue;
341
+ };
321
342
  const loadRestJsonErrorCode = (output, data) => {
322
- const findKey = (object, key) => Object.keys(object).find((k) => k.toLowerCase() === key.toLowerCase());
323
- const sanitizeErrorCode = (rawValue) => {
324
- let cleanValue = rawValue;
325
- if (typeof cleanValue === "number") {
326
- cleanValue = cleanValue.toString();
327
- }
328
- if (cleanValue.indexOf(",") >= 0) {
329
- cleanValue = cleanValue.split(",")[0];
330
- }
331
- if (cleanValue.indexOf(":") >= 0) {
332
- cleanValue = cleanValue.split(":")[0];
333
- }
334
- if (cleanValue.indexOf("#") >= 0) {
335
- cleanValue = cleanValue.split("#")[1];
336
- }
337
- return cleanValue;
338
- };
339
343
  const headerKey = findKey(output.headers, "x-amzn-errortype");
340
344
  if (headerKey !== undefined) {
341
345
  return sanitizeErrorCode(output.headers[headerKey]);
@@ -583,6 +587,7 @@ class JsonShapeSerializer extends SerdeContextConfig {
583
587
  if (jsonName) {
584
588
  nameMap = {};
585
589
  }
590
+ let outCount = 0;
586
591
  for (const [memberName, memberSchema] of ns.structIterator()) {
587
592
  const serializableValue = this._write(memberSchema, record[memberName], ns);
588
593
  if (serializableValue !== undefined) {
@@ -592,9 +597,10 @@ class JsonShapeSerializer extends SerdeContextConfig {
592
597
  nameMap[memberName] = targetKey;
593
598
  }
594
599
  out[targetKey] = serializableValue;
600
+ outCount++;
595
601
  }
596
602
  }
597
- if (ns.isUnionSchema() && Object.keys(out).length === 0) {
603
+ if (ns.isUnionSchema() && outCount === 0) {
598
604
  const { $unknown } = record;
599
605
  if (Array.isArray($unknown)) {
600
606
  const [k, v] = $unknown;
@@ -760,10 +766,8 @@ class AwsJsonRpcProtocol extends protocols.RpcProtocol {
760
766
  if (!request.path.endsWith("/")) {
761
767
  request.path += "/";
762
768
  }
763
- Object.assign(request.headers, {
764
- "content-type": `application/x-amz-json-${this.getJsonRpcVersion()}`,
765
- "x-amz-target": `${this.serviceTarget}.${operationSchema.name}`,
766
- });
769
+ request.headers["content-type"] = `application/x-amz-json-${this.getJsonRpcVersion()}`;
770
+ request.headers["x-amz-target"] = `${this.serviceTarget}.${operationSchema.name}`;
767
771
  if (this.awsQueryCompatible) {
768
772
  request.headers["x-amzn-query-mode"] = "true";
769
773
  }
@@ -787,9 +791,10 @@ class AwsJsonRpcProtocol extends protocols.RpcProtocol {
787
791
  const ErrorCtor = this.compositeErrorRegistry.getErrorCtor(errorSchema) ?? Error;
788
792
  const exception = new ErrorCtor(message);
789
793
  const output = {};
794
+ const errorDeserializer = this.codec.createDeserializer();
790
795
  for (const [name, member] of ns.structIterator()) {
791
796
  if (dataObject[name] != null) {
792
- output[name] = this.codec.createDeserializer().readObject(member, dataObject[name]);
797
+ output[name] = errorDeserializer.readObject(member, dataObject[name]);
793
798
  }
794
799
  }
795
800
  if (this.awsQueryCompatible) {
@@ -910,9 +915,10 @@ class AwsRestJsonProtocol extends protocols.HttpBindingProtocol {
910
915
  const exception = new ErrorCtor(message);
911
916
  await this.deserializeHttpMessage(errorSchema, context, response, dataObject);
912
917
  const output = {};
918
+ const errorDeserializer = this.codec.createDeserializer();
913
919
  for (const [name, member] of ns.structIterator()) {
914
920
  const target = member.getMergedTraits().jsonName ?? name;
915
- output[name] = this.codec.createDeserializer().readObject(member, dataObject[target]);
921
+ output[name] = errorDeserializer.readObject(member, dataObject[target]);
916
922
  }
917
923
  throw this.mixin.decorateServiceException(Object.assign(exception, errorMetadata, {
918
924
  $fault: ns.getMergedTraits().error,
@@ -1303,9 +1309,7 @@ class AwsQueryProtocol extends protocols.RpcProtocol {
1303
1309
  if (!request.path.endsWith("/")) {
1304
1310
  request.path += "/";
1305
1311
  }
1306
- Object.assign(request.headers, {
1307
- "content-type": `application/x-www-form-urlencoded`,
1308
- });
1312
+ request.headers["content-type"] = "application/x-www-form-urlencoded";
1309
1313
  if (schema.deref(operationSchema.input) === "unit" || !request.body) {
1310
1314
  request.body = "";
1311
1315
  }
@@ -1338,11 +1342,8 @@ class AwsQueryProtocol extends protocols.RpcProtocol {
1338
1342
  if (bytes.byteLength > 0) {
1339
1343
  Object.assign(dataObject, await deserializer.read(ns, bytes, awsQueryResultKey));
1340
1344
  }
1341
- const output = {
1342
- $metadata: this.deserializeMetadata(response),
1343
- ...dataObject,
1344
- };
1345
- return output;
1345
+ dataObject.$metadata = this.deserializeMetadata(response);
1346
+ return dataObject;
1346
1347
  }
1347
1348
  useNestedResult() {
1348
1349
  return true;
@@ -1842,10 +1843,11 @@ class AwsRestXmlProtocol extends protocols.HttpBindingProtocol {
1842
1843
  const exception = new ErrorCtor(message);
1843
1844
  await this.deserializeHttpMessage(errorSchema, context, response, dataObject);
1844
1845
  const output = {};
1846
+ const errorDeserializer = this.codec.createDeserializer();
1845
1847
  for (const [name, member] of ns.structIterator()) {
1846
1848
  const target = member.getMergedTraits().xmlName ?? name;
1847
1849
  const value = dataObject.Error?.[target] ?? dataObject[target];
1848
- output[name] = this.codec.createDeserializer().readSchema(member, value);
1850
+ output[name] = errorDeserializer.readSchema(member, value);
1849
1851
  }
1850
1852
  throw this.mixin.decorateServiceException(Object.assign(exception, errorMetadata, {
1851
1853
  $fault: ns.getMergedTraits().error,
@@ -87,12 +87,11 @@ export class ProtocolLib {
87
87
  if (msg) {
88
88
  error.message = msg;
89
89
  }
90
- error.Error = {
91
- ...error.Error,
92
- Type: error.Error?.Type,
93
- Code: error.Error?.Code,
94
- Message: error.Error?.message ?? error.Error?.Message ?? msg,
95
- };
90
+ const errorObj = error.Error ?? {};
91
+ errorObj.Type = error.Error?.Type;
92
+ errorObj.Code = error.Error?.Code;
93
+ errorObj.Message = error.Error?.message ?? error.Error?.Message ?? msg;
94
+ error.Error = errorObj;
96
95
  const reqId = error.$metadata.requestId;
97
96
  if (reqId) {
98
97
  error.RequestId = reqId;
@@ -105,14 +104,16 @@ export class ProtocolLib {
105
104
  const queryErrorHeader = response.headers?.["x-amzn-query-error"];
106
105
  if (output !== undefined && queryErrorHeader != null) {
107
106
  const [Code, Type] = queryErrorHeader.split(";");
108
- const entries = Object.entries(output);
107
+ const keys = Object.keys(output);
109
108
  const Error = {
110
109
  Code,
111
110
  Type,
112
111
  };
113
- Object.assign(output, Error);
114
- for (const [k, v] of entries) {
115
- Error[k === "message" ? "Message" : k] = v;
112
+ output.Code = Code;
113
+ output.Type = Type;
114
+ for (let i = 0; i < keys.length; i++) {
115
+ const k = keys[i];
116
+ Error[k === "message" ? "Message" : k] = output[k];
116
117
  }
117
118
  delete Error.__type;
118
119
  output.Error = Error;
@@ -5,7 +5,10 @@ export class UnionSerde {
5
5
  constructor(from, to) {
6
6
  this.from = from;
7
7
  this.to = to;
8
- this.keys = new Set(Object.keys(this.from).filter((k) => k !== "__type"));
8
+ const keys = Object.keys(this.from);
9
+ const set = new Set(keys);
10
+ set.delete("__type");
11
+ this.keys = set;
9
12
  }
10
13
  mark(key) {
11
14
  this.keys.delete(key);
@@ -35,10 +35,8 @@ export class AwsJsonRpcProtocol extends RpcProtocol {
35
35
  if (!request.path.endsWith("/")) {
36
36
  request.path += "/";
37
37
  }
38
- Object.assign(request.headers, {
39
- "content-type": `application/x-amz-json-${this.getJsonRpcVersion()}`,
40
- "x-amz-target": `${this.serviceTarget}.${operationSchema.name}`,
41
- });
38
+ request.headers["content-type"] = `application/x-amz-json-${this.getJsonRpcVersion()}`;
39
+ request.headers["x-amz-target"] = `${this.serviceTarget}.${operationSchema.name}`;
42
40
  if (this.awsQueryCompatible) {
43
41
  request.headers["x-amzn-query-mode"] = "true";
44
42
  }
@@ -62,9 +60,10 @@ export class AwsJsonRpcProtocol extends RpcProtocol {
62
60
  const ErrorCtor = this.compositeErrorRegistry.getErrorCtor(errorSchema) ?? Error;
63
61
  const exception = new ErrorCtor(message);
64
62
  const output = {};
63
+ const errorDeserializer = this.codec.createDeserializer();
65
64
  for (const [name, member] of ns.structIterator()) {
66
65
  if (dataObject[name] != null) {
67
- output[name] = this.codec.createDeserializer().readObject(member, dataObject[name]);
66
+ output[name] = errorDeserializer.readObject(member, dataObject[name]);
68
67
  }
69
68
  }
70
69
  if (this.awsQueryCompatible) {
@@ -69,9 +69,10 @@ export class AwsRestJsonProtocol extends HttpBindingProtocol {
69
69
  const exception = new ErrorCtor(message);
70
70
  await this.deserializeHttpMessage(errorSchema, context, response, dataObject);
71
71
  const output = {};
72
+ const errorDeserializer = this.codec.createDeserializer();
72
73
  for (const [name, member] of ns.structIterator()) {
73
74
  const target = member.getMergedTraits().jsonName ?? name;
74
- output[name] = this.codec.createDeserializer().readObject(member, dataObject[target]);
75
+ output[name] = errorDeserializer.readObject(member, dataObject[target]);
75
76
  }
76
77
  throw this.mixin.decorateServiceException(Object.assign(exception, errorMetadata, {
77
78
  $fault: ns.getMergedTraits().error,
@@ -48,6 +48,7 @@ export class JsonShapeSerializer extends SerdeContextConfig {
48
48
  if (jsonName) {
49
49
  nameMap = {};
50
50
  }
51
+ let outCount = 0;
51
52
  for (const [memberName, memberSchema] of ns.structIterator()) {
52
53
  const serializableValue = this._write(memberSchema, record[memberName], ns);
53
54
  if (serializableValue !== undefined) {
@@ -57,9 +58,10 @@ export class JsonShapeSerializer extends SerdeContextConfig {
57
58
  nameMap[memberName] = targetKey;
58
59
  }
59
60
  out[targetKey] = serializableValue;
61
+ outCount++;
60
62
  }
61
63
  }
62
- if (ns.isUnionSchema() && Object.keys(out).length === 0) {
64
+ if (ns.isUnionSchema() && outCount === 0) {
63
65
  const { $unknown } = record;
64
66
  if (Array.isArray($unknown)) {
65
67
  const [k, v] = $unknown;
@@ -20,24 +20,24 @@ export const parseJsonErrorBody = async (errorBody, context) => {
20
20
  value.message = value.message ?? value.Message;
21
21
  return value;
22
22
  };
23
+ const findKey = (object, key) => Object.keys(object).find((k) => k.toLowerCase() === key.toLowerCase());
24
+ const sanitizeErrorCode = (rawValue) => {
25
+ let cleanValue = rawValue;
26
+ if (typeof cleanValue === "number") {
27
+ cleanValue = cleanValue.toString();
28
+ }
29
+ if (cleanValue.indexOf(",") >= 0) {
30
+ cleanValue = cleanValue.split(",")[0];
31
+ }
32
+ if (cleanValue.indexOf(":") >= 0) {
33
+ cleanValue = cleanValue.split(":")[0];
34
+ }
35
+ if (cleanValue.indexOf("#") >= 0) {
36
+ cleanValue = cleanValue.split("#")[1];
37
+ }
38
+ return cleanValue;
39
+ };
23
40
  export const loadRestJsonErrorCode = (output, data) => {
24
- const findKey = (object, key) => Object.keys(object).find((k) => k.toLowerCase() === key.toLowerCase());
25
- const sanitizeErrorCode = (rawValue) => {
26
- let cleanValue = rawValue;
27
- if (typeof cleanValue === "number") {
28
- cleanValue = cleanValue.toString();
29
- }
30
- if (cleanValue.indexOf(",") >= 0) {
31
- cleanValue = cleanValue.split(",")[0];
32
- }
33
- if (cleanValue.indexOf(":") >= 0) {
34
- cleanValue = cleanValue.split(":")[0];
35
- }
36
- if (cleanValue.indexOf("#") >= 0) {
37
- cleanValue = cleanValue.split("#")[1];
38
- }
39
- return cleanValue;
40
- };
41
41
  const headerKey = findKey(output.headers, "x-amzn-errortype");
42
42
  if (headerKey !== undefined) {
43
43
  return sanitizeErrorCode(output.headers[headerKey]);
@@ -42,9 +42,7 @@ export class AwsQueryProtocol extends RpcProtocol {
42
42
  if (!request.path.endsWith("/")) {
43
43
  request.path += "/";
44
44
  }
45
- Object.assign(request.headers, {
46
- "content-type": `application/x-www-form-urlencoded`,
47
- });
45
+ request.headers["content-type"] = "application/x-www-form-urlencoded";
48
46
  if (deref(operationSchema.input) === "unit" || !request.body) {
49
47
  request.body = "";
50
48
  }
@@ -77,11 +75,8 @@ export class AwsQueryProtocol extends RpcProtocol {
77
75
  if (bytes.byteLength > 0) {
78
76
  Object.assign(dataObject, await deserializer.read(ns, bytes, awsQueryResultKey));
79
77
  }
80
- const output = {
81
- $metadata: this.deserializeMetadata(response),
82
- ...dataObject,
83
- };
84
- return output;
78
+ dataObject.$metadata = this.deserializeMetadata(response);
79
+ return dataObject;
85
80
  }
86
81
  useNestedResult() {
87
82
  return true;
@@ -75,10 +75,11 @@ export class AwsRestXmlProtocol extends HttpBindingProtocol {
75
75
  const exception = new ErrorCtor(message);
76
76
  await this.deserializeHttpMessage(errorSchema, context, response, dataObject);
77
77
  const output = {};
78
+ const errorDeserializer = this.codec.createDeserializer();
78
79
  for (const [name, member] of ns.structIterator()) {
79
80
  const target = member.getMergedTraits().xmlName ?? name;
80
81
  const value = dataObject.Error?.[target] ?? dataObject[target];
81
- output[name] = this.codec.createDeserializer().readSchema(member, value);
82
+ output[name] = errorDeserializer.readSchema(member, value);
82
83
  }
83
84
  throw this.mixin.decorateServiceException(Object.assign(exception, errorMetadata, {
84
85
  $fault: ns.getMergedTraits().error,
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-sdk/core",
3
- "version": "3.974.0",
3
+ "version": "3.974.1",
4
4
  "description": "Core functions & classes shared by multiple AWS SDK clients.",
5
5
  "scripts": {
6
6
  "build": "yarn lint && concurrently 'yarn:build:types' 'yarn:build:es' && yarn build:cjs",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-sdk/credential-provider-env",
3
- "version": "3.972.26",
3
+ "version": "3.972.27",
4
4
  "description": "AWS credential provider that sources credentials from known environment variables",
5
5
  "main": "./dist-cjs/index.js",
6
6
  "module": "./dist-es/index.js",
@@ -26,7 +26,7 @@
26
26
  },
27
27
  "license": "Apache-2.0",
28
28
  "dependencies": {
29
- "@aws-sdk/core": "^3.974.0",
29
+ "@aws-sdk/core": "^3.974.1",
30
30
  "@aws-sdk/types": "^3.973.8",
31
31
  "@smithy/property-provider": "^4.2.14",
32
32
  "@smithy/types": "^4.14.1",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-sdk/credential-provider-http",
3
- "version": "3.972.28",
3
+ "version": "3.972.29",
4
4
  "description": "AWS credential provider for containers and HTTP sources",
5
5
  "main": "./dist-cjs/index.js",
6
6
  "module": "./dist-es/index.js",
@@ -28,7 +28,7 @@
28
28
  },
29
29
  "license": "Apache-2.0",
30
30
  "dependencies": {
31
- "@aws-sdk/core": "^3.974.0",
31
+ "@aws-sdk/core": "^3.974.1",
32
32
  "@aws-sdk/types": "^3.973.8",
33
33
  "@smithy/fetch-http-handler": "^5.3.17",
34
34
  "@smithy/node-http-handler": "^4.5.3",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-sdk/credential-provider-ini",
3
- "version": "3.972.30",
3
+ "version": "3.972.31",
4
4
  "description": "AWS credential provider that sources credentials from ~/.aws/credentials and ~/.aws/config",
5
5
  "main": "./dist-cjs/index.js",
6
6
  "module": "./dist-es/index.js",
@@ -28,14 +28,14 @@
28
28
  },
29
29
  "license": "Apache-2.0",
30
30
  "dependencies": {
31
- "@aws-sdk/core": "^3.974.0",
32
- "@aws-sdk/credential-provider-env": "^3.972.26",
33
- "@aws-sdk/credential-provider-http": "^3.972.28",
34
- "@aws-sdk/credential-provider-login": "^3.972.30",
35
- "@aws-sdk/credential-provider-process": "^3.972.26",
36
- "@aws-sdk/credential-provider-sso": "^3.972.30",
37
- "@aws-sdk/credential-provider-web-identity": "^3.972.30",
38
- "@aws-sdk/nested-clients": "^3.996.20",
31
+ "@aws-sdk/core": "^3.974.1",
32
+ "@aws-sdk/credential-provider-env": "^3.972.27",
33
+ "@aws-sdk/credential-provider-http": "^3.972.29",
34
+ "@aws-sdk/credential-provider-login": "^3.972.31",
35
+ "@aws-sdk/credential-provider-process": "^3.972.27",
36
+ "@aws-sdk/credential-provider-sso": "^3.972.31",
37
+ "@aws-sdk/credential-provider-web-identity": "^3.972.31",
38
+ "@aws-sdk/nested-clients": "^3.996.21",
39
39
  "@aws-sdk/types": "^3.973.8",
40
40
  "@smithy/credential-provider-imds": "^4.2.14",
41
41
  "@smithy/property-provider": "^4.2.14",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-sdk/credential-provider-login",
3
- "version": "3.972.30",
3
+ "version": "3.972.31",
4
4
  "description": "AWS credential provider that sources credentials from aws login cached tokens",
5
5
  "main": "./dist-cjs/index.js",
6
6
  "module": "./dist-es/index.js",
@@ -28,8 +28,8 @@
28
28
  },
29
29
  "license": "Apache-2.0",
30
30
  "dependencies": {
31
- "@aws-sdk/core": "^3.974.0",
32
- "@aws-sdk/nested-clients": "^3.996.20",
31
+ "@aws-sdk/core": "^3.974.1",
32
+ "@aws-sdk/nested-clients": "^3.996.21",
33
33
  "@aws-sdk/types": "^3.973.8",
34
34
  "@smithy/property-provider": "^4.2.14",
35
35
  "@smithy/protocol-http": "^5.3.14",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-sdk/credential-provider-node",
3
- "version": "3.972.31",
3
+ "version": "3.972.32",
4
4
  "description": "AWS credential provider that sources credentials from a Node.JS environment. ",
5
5
  "engines": {
6
6
  "node": ">=20.0.0"
@@ -31,12 +31,12 @@
31
31
  },
32
32
  "license": "Apache-2.0",
33
33
  "dependencies": {
34
- "@aws-sdk/credential-provider-env": "^3.972.26",
35
- "@aws-sdk/credential-provider-http": "^3.972.28",
36
- "@aws-sdk/credential-provider-ini": "^3.972.30",
37
- "@aws-sdk/credential-provider-process": "^3.972.26",
38
- "@aws-sdk/credential-provider-sso": "^3.972.30",
39
- "@aws-sdk/credential-provider-web-identity": "^3.972.30",
34
+ "@aws-sdk/credential-provider-env": "^3.972.27",
35
+ "@aws-sdk/credential-provider-http": "^3.972.29",
36
+ "@aws-sdk/credential-provider-ini": "^3.972.31",
37
+ "@aws-sdk/credential-provider-process": "^3.972.27",
38
+ "@aws-sdk/credential-provider-sso": "^3.972.31",
39
+ "@aws-sdk/credential-provider-web-identity": "^3.972.31",
40
40
  "@aws-sdk/types": "^3.973.8",
41
41
  "@smithy/credential-provider-imds": "^4.2.14",
42
42
  "@smithy/property-provider": "^4.2.14",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-sdk/credential-provider-process",
3
- "version": "3.972.26",
3
+ "version": "3.972.27",
4
4
  "description": "AWS credential provider that sources credential_process from ~/.aws/credentials and ~/.aws/config",
5
5
  "main": "./dist-cjs/index.js",
6
6
  "module": "./dist-es/index.js",
@@ -26,7 +26,7 @@
26
26
  },
27
27
  "license": "Apache-2.0",
28
28
  "dependencies": {
29
- "@aws-sdk/core": "^3.974.0",
29
+ "@aws-sdk/core": "^3.974.1",
30
30
  "@aws-sdk/types": "^3.973.8",
31
31
  "@smithy/property-provider": "^4.2.14",
32
32
  "@smithy/shared-ini-file-loader": "^4.4.9",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-sdk/credential-provider-sso",
3
- "version": "3.972.30",
3
+ "version": "3.972.31",
4
4
  "description": "AWS credential provider that exchanges a resolved SSO login token file for temporary AWS credentials",
5
5
  "main": "./dist-cjs/index.js",
6
6
  "module": "./dist-es/index.js",
@@ -26,9 +26,9 @@
26
26
  },
27
27
  "license": "Apache-2.0",
28
28
  "dependencies": {
29
- "@aws-sdk/core": "^3.974.0",
30
- "@aws-sdk/nested-clients": "^3.996.20",
31
- "@aws-sdk/token-providers": "3.1031.0",
29
+ "@aws-sdk/core": "^3.974.1",
30
+ "@aws-sdk/nested-clients": "^3.996.21",
31
+ "@aws-sdk/token-providers": "3.1032.0",
32
32
  "@aws-sdk/types": "^3.973.8",
33
33
  "@smithy/property-provider": "^4.2.14",
34
34
  "@smithy/shared-ini-file-loader": "^4.4.9",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-sdk/credential-provider-web-identity",
3
- "version": "3.972.30",
3
+ "version": "3.972.31",
4
4
  "description": "AWS credential provider that calls STS assumeRole for temporary AWS credentials",
5
5
  "main": "./dist-cjs/index.js",
6
6
  "module": "./dist-es/index.js",
@@ -34,8 +34,8 @@
34
34
  },
35
35
  "license": "Apache-2.0",
36
36
  "dependencies": {
37
- "@aws-sdk/core": "^3.974.0",
38
- "@aws-sdk/nested-clients": "^3.996.20",
37
+ "@aws-sdk/core": "^3.974.1",
38
+ "@aws-sdk/nested-clients": "^3.996.21",
39
39
  "@aws-sdk/types": "^3.973.8",
40
40
  "@smithy/property-provider": "^4.2.14",
41
41
  "@smithy/shared-ini-file-loader": "^4.4.9",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-sdk/middleware-user-agent",
3
- "version": "3.972.30",
3
+ "version": "3.972.31",
4
4
  "scripts": {
5
5
  "build": "concurrently 'yarn:build:types' 'yarn:build:es' && yarn build:cjs",
6
6
  "build:cjs": "node ../../scripts/compilation/inline middleware-user-agent",
@@ -25,7 +25,7 @@
25
25
  },
26
26
  "license": "Apache-2.0",
27
27
  "dependencies": {
28
- "@aws-sdk/core": "^3.974.0",
28
+ "@aws-sdk/core": "^3.974.1",
29
29
  "@aws-sdk/types": "^3.973.8",
30
30
  "@aws-sdk/util-endpoints": "^3.996.7",
31
31
  "@smithy/core": "^3.23.15",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-sdk/nested-clients",
3
- "version": "3.996.20",
3
+ "version": "3.996.21",
4
4
  "description": "Nested clients for AWS SDK packages.",
5
5
  "main": "./dist-cjs/index.js",
6
6
  "module": "./dist-es/index.js",
@@ -29,16 +29,16 @@
29
29
  "dependencies": {
30
30
  "@aws-crypto/sha256-browser": "5.2.0",
31
31
  "@aws-crypto/sha256-js": "5.2.0",
32
- "@aws-sdk/core": "^3.974.0",
32
+ "@aws-sdk/core": "^3.974.1",
33
33
  "@aws-sdk/middleware-host-header": "^3.972.10",
34
34
  "@aws-sdk/middleware-logger": "^3.972.10",
35
35
  "@aws-sdk/middleware-recursion-detection": "^3.972.11",
36
- "@aws-sdk/middleware-user-agent": "^3.972.30",
36
+ "@aws-sdk/middleware-user-agent": "^3.972.31",
37
37
  "@aws-sdk/region-config-resolver": "^3.972.12",
38
38
  "@aws-sdk/types": "^3.973.8",
39
39
  "@aws-sdk/util-endpoints": "^3.996.7",
40
40
  "@aws-sdk/util-user-agent-browser": "^3.972.10",
41
- "@aws-sdk/util-user-agent-node": "^3.973.16",
41
+ "@aws-sdk/util-user-agent-node": "^3.973.17",
42
42
  "@smithy/config-resolver": "^4.4.16",
43
43
  "@smithy/core": "^3.23.15",
44
44
  "@smithy/fetch-http-handler": "^5.3.17",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-sdk/token-providers",
3
- "version": "3.1031.0",
3
+ "version": "3.1032.0",
4
4
  "description": "A collection of token providers",
5
5
  "main": "./dist-cjs/index.js",
6
6
  "module": "./dist-es/index.js",
@@ -29,8 +29,8 @@
29
29
  },
30
30
  "license": "Apache-2.0",
31
31
  "dependencies": {
32
- "@aws-sdk/core": "^3.974.0",
33
- "@aws-sdk/nested-clients": "^3.996.20",
32
+ "@aws-sdk/core": "^3.974.1",
33
+ "@aws-sdk/nested-clients": "^3.996.21",
34
34
  "@aws-sdk/types": "^3.973.8",
35
35
  "@smithy/property-provider": "^4.2.14",
36
36
  "@smithy/shared-ini-file-loader": "^4.4.9",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-sdk/util-user-agent-node",
3
- "version": "3.973.16",
3
+ "version": "3.973.17",
4
4
  "scripts": {
5
5
  "build": "concurrently 'yarn:build:types' 'yarn:build:es' && yarn build:cjs",
6
6
  "build:cjs": "node ../../scripts/compilation/inline util-user-agent-node",
@@ -24,7 +24,7 @@
24
24
  },
25
25
  "license": "Apache-2.0",
26
26
  "dependencies": {
27
- "@aws-sdk/middleware-user-agent": "^3.972.30",
27
+ "@aws-sdk/middleware-user-agent": "^3.972.31",
28
28
  "@aws-sdk/types": "^3.973.8",
29
29
  "@smithy/node-config-provider": "^4.3.14",
30
30
  "@smithy/types": "^4.14.1",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fast-xml-builder",
3
- "version": "1.1.4",
3
+ "version": "1.1.5",
4
4
  "description": "Build XML from JSON without C/C++ based libraries",
5
5
  "main": "./lib/fxb.cjs",
6
6
  "type": "module",
@@ -486,9 +486,13 @@ function buildEmptyObjNode(val, key, attrStr, level) {
486
486
 
487
487
  Builder.prototype.buildTextValNode = function (val, key, attrStr, level, matcher) {
488
488
  if (this.options.cdataPropName !== false && key === this.options.cdataPropName) {
489
- return this.indentate(level) + `<![CDATA[${val}]]>` + this.newLine;
489
+ const safeVal = String(val).replace(/\]\]>/g, ']]]]><![CDATA[>');
490
+ return this.indentate(level) + `<![CDATA[${safeVal}]]>` + this.newLine;
490
491
  } else if (this.options.commentPropName !== false && key === this.options.commentPropName) {
491
- return this.indentate(level) + `<!--${val}-->` + this.newLine;
492
+ const safeVal = String(val)
493
+ .replace(/--/g, '- -') // -- is illegal anywhere in comment content
494
+ .replace(/-$/, '- '); // trailing - would form -- with the closing -->
495
+ return this.indentate(level) + `<!--${safeVal}-->` + this.newLine;
492
496
  } else if (key[0] === "?") {//PI tag
493
497
  return this.indentate(level) + '<' + key + attrStr + '?' + this.tagEndChar;
494
498
  } else {
@@ -82,12 +82,18 @@ function arrToStr(arr, options, indentation, matcher, stopNodeExpressions) {
82
82
  if (isPreviousElementTag) {
83
83
  xmlStr += indentation;
84
84
  }
85
- xmlStr += `<![CDATA[${tagObj[tagName][0][options.textNodeName]}]]>`;
85
+ const val = tagObj[tagName][0][options.textNodeName];
86
+ const safeVal = String(val).replace(/\]\]>/g, ']]]]><![CDATA[>');
87
+ xmlStr += `<![CDATA[${safeVal}]]>`;
86
88
  isPreviousElementTag = false;
87
89
  matcher.pop();
88
90
  continue;
89
91
  } else if (tagName === options.commentPropName) {
90
- xmlStr += indentation + `<!--${tagObj[tagName][0][options.textNodeName]}-->`;
92
+ const val = tagObj[tagName][0][options.textNodeName]
93
+ const safeVal = String(val)
94
+ .replace(/--/g, '- -') // -- is illegal anywhere in comment content
95
+ .replace(/-$/, '- '); // trailing - would form -- with the closing -->
96
+ xmlStr += indentation + `<!--${safeVal}-->`;
91
97
  isPreviousElementTag = true;
92
98
  matcher.pop();
93
99
  continue;
@@ -289,4 +295,12 @@ function replaceEntitiesValue(textValue, options) {
289
295
  }
290
296
  }
291
297
  return textValue;
298
+ }
299
+
300
+ function cdataVal(val) {
301
+
302
+ }
303
+
304
+ function commentVal(val) {
305
+
292
306
  }
package/package.json CHANGED
@@ -66,7 +66,7 @@
66
66
  "jsii-docgen": "^10.5.0",
67
67
  "jsii-pacmak": "^1.128.0",
68
68
  "jsii-rosetta": "^5",
69
- "projen": "^0.99.49",
69
+ "projen": "^0.99.51",
70
70
  "ts-jest": "^27",
71
71
  "ts-node": "^10.9.2",
72
72
  "typescript": "^5.9.3"
@@ -77,7 +77,7 @@
77
77
  "constructs": "^10.3.0"
78
78
  },
79
79
  "dependencies": {
80
- "@aws-sdk/client-cloudformation": "^3.1031.0"
80
+ "@aws-sdk/client-cloudformation": "^3.1032.0"
81
81
  },
82
82
  "bundledDependencies": [
83
83
  "@aws-sdk/client-cloudformation"
@@ -93,7 +93,7 @@
93
93
  "publishConfig": {
94
94
  "access": "public"
95
95
  },
96
- "version": "0.0.537",
96
+ "version": "0.0.538",
97
97
  "jest": {
98
98
  "coverageProvider": "v8",
99
99
  "testMatch": [