@jjrawlins/cdk-iam-policy-builder-helper 0.0.57 → 0.0.58

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 (85) hide show
  1. package/.jsii +3 -3
  2. package/cdk-iam-policy-builder-helper/go.mod +1 -1
  3. package/cdk-iam-policy-builder-helper/jsii/jsii.go +2 -2
  4. package/cdk-iam-policy-builder-helper/version +1 -1
  5. package/node_modules/@aws-sdk/client-iam/package.json +34 -34
  6. package/node_modules/@aws-sdk/client-sso/package.json +32 -32
  7. package/node_modules/@aws-sdk/core/dist-cjs/index.js +5 -5
  8. package/node_modules/@aws-sdk/core/dist-cjs/submodules/protocols/index.js +5 -5
  9. package/node_modules/@aws-sdk/core/dist-es/submodules/protocols/cbor/AwsSmithyRpcV2CborProtocol.js +1 -1
  10. package/node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/AwsJsonRpcProtocol.js +1 -1
  11. package/node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/AwsRestJsonProtocol.js +1 -1
  12. package/node_modules/@aws-sdk/core/dist-es/submodules/protocols/query/AwsQueryProtocol.js +1 -1
  13. package/node_modules/@aws-sdk/core/dist-es/submodules/protocols/xml/AwsRestXmlProtocol.js +1 -1
  14. package/node_modules/@aws-sdk/core/dist-types/submodules/protocols/ProtocolLib.d.ts +4 -4
  15. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/ProtocolLib.d.ts +7 -7
  16. package/node_modules/@aws-sdk/core/package.json +11 -11
  17. package/node_modules/@aws-sdk/credential-provider-env/package.json +5 -5
  18. package/node_modules/@aws-sdk/credential-provider-http/package.json +10 -10
  19. package/node_modules/@aws-sdk/credential-provider-ini/package.json +13 -13
  20. package/node_modules/@aws-sdk/credential-provider-node/package.json +12 -12
  21. package/node_modules/@aws-sdk/credential-provider-process/package.json +6 -6
  22. package/node_modules/@aws-sdk/credential-provider-sso/package.json +8 -8
  23. package/node_modules/@aws-sdk/credential-provider-web-identity/package.json +7 -7
  24. package/node_modules/@aws-sdk/middleware-host-header/dist-cjs/index.js +35 -63
  25. package/node_modules/@aws-sdk/middleware-host-header/package.json +4 -4
  26. package/node_modules/@aws-sdk/middleware-logger/dist-cjs/index.js +44 -75
  27. package/node_modules/@aws-sdk/middleware-logger/package.json +3 -3
  28. package/node_modules/@aws-sdk/middleware-recursion-detection/dist-cjs/index.js +19 -48
  29. package/node_modules/@aws-sdk/middleware-recursion-detection/package.json +4 -4
  30. package/node_modules/@aws-sdk/middleware-user-agent/package.json +7 -7
  31. package/node_modules/@aws-sdk/nested-clients/package.json +32 -32
  32. package/node_modules/@aws-sdk/region-config-resolver/dist-cjs/index.js +59 -95
  33. package/node_modules/@aws-sdk/region-config-resolver/package.json +5 -5
  34. package/node_modules/@aws-sdk/token-providers/package.json +7 -7
  35. package/node_modules/@aws-sdk/types/dist-cjs/index.js +18 -290
  36. package/node_modules/@aws-sdk/types/package.json +2 -2
  37. package/node_modules/@aws-sdk/util-endpoints/dist-cjs/index.js +395 -469
  38. package/node_modules/@aws-sdk/util-endpoints/package.json +5 -5
  39. package/node_modules/@aws-sdk/util-user-agent-browser/package.json +3 -3
  40. package/node_modules/@aws-sdk/util-user-agent-node/package.json +5 -5
  41. package/node_modules/@aws-sdk/xml-builder/dist-cjs/index.js +106 -160
  42. package/node_modules/@aws-sdk/xml-builder/package.json +2 -2
  43. package/node_modules/@smithy/abort-controller/package.json +2 -2
  44. package/node_modules/@smithy/config-resolver/package.json +4 -4
  45. package/node_modules/@smithy/core/dist-cjs/submodules/schema/index.js +74 -61
  46. package/node_modules/@smithy/core/dist-es/submodules/schema/TypeRegistry.js +16 -9
  47. package/node_modules/@smithy/core/dist-es/submodules/schema/schemas/NormalizedSchema.js +2 -2
  48. package/node_modules/@smithy/core/dist-es/submodules/schema/schemas/Schema.js +0 -2
  49. package/node_modules/@smithy/core/dist-es/submodules/schema/schemas/SimpleSchema.js +6 -0
  50. package/node_modules/@smithy/core/dist-types/submodules/schema/TypeRegistry.d.ts +1 -2
  51. package/node_modules/@smithy/core/dist-types/submodules/schema/schemas/SimpleSchema.d.ts +5 -0
  52. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/schema/TypeRegistry.d.ts +1 -2
  53. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/schema/schemas/SimpleSchema.d.ts +5 -0
  54. package/node_modules/@smithy/core/package.json +7 -7
  55. package/node_modules/@smithy/credential-provider-imds/package.json +5 -5
  56. package/node_modules/@smithy/fetch-http-handler/package.json +5 -5
  57. package/node_modules/@smithy/hash-node/package.json +2 -2
  58. package/node_modules/@smithy/invalid-dependency/package.json +2 -2
  59. package/node_modules/@smithy/middleware-content-length/package.json +3 -3
  60. package/node_modules/@smithy/middleware-endpoint/package.json +8 -8
  61. package/node_modules/@smithy/middleware-retry/package.json +8 -8
  62. package/node_modules/@smithy/middleware-serde/package.json +3 -3
  63. package/node_modules/@smithy/middleware-stack/package.json +2 -2
  64. package/node_modules/@smithy/node-config-provider/package.json +4 -4
  65. package/node_modules/@smithy/node-http-handler/package.json +5 -5
  66. package/node_modules/@smithy/property-provider/package.json +2 -2
  67. package/node_modules/@smithy/protocol-http/package.json +2 -2
  68. package/node_modules/@smithy/querystring-builder/package.json +2 -2
  69. package/node_modules/@smithy/querystring-parser/package.json +2 -2
  70. package/node_modules/@smithy/service-error-classification/package.json +2 -2
  71. package/node_modules/@smithy/shared-ini-file-loader/package.json +2 -2
  72. package/node_modules/@smithy/signature-v4/package.json +4 -4
  73. package/node_modules/@smithy/smithy-client/package.json +7 -7
  74. package/node_modules/@smithy/types/dist-types/schema/static-schemas.d.ts +1 -1
  75. package/node_modules/@smithy/types/dist-types/ts3.4/schema/static-schemas.d.ts +2 -2
  76. package/node_modules/@smithy/types/package.json +1 -1
  77. package/node_modules/@smithy/url-parser/package.json +3 -3
  78. package/node_modules/@smithy/util-defaults-mode-browser/package.json +4 -4
  79. package/node_modules/@smithy/util-defaults-mode-node/package.json +7 -7
  80. package/node_modules/@smithy/util-endpoints/package.json +3 -3
  81. package/node_modules/@smithy/util-middleware/package.json +2 -2
  82. package/node_modules/@smithy/util-retry/package.json +3 -3
  83. package/node_modules/@smithy/util-stream/package.json +4 -4
  84. package/node_modules/@smithy/util-waiter/package.json +3 -3
  85. package/package.json +5 -5
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-sdk/util-endpoints",
3
- "version": "3.901.0",
3
+ "version": "3.910.0",
4
4
  "description": "Utilities to help with endpoint resolution",
5
5
  "main": "./dist-cjs/index.js",
6
6
  "module": "./dist-es/index.js",
@@ -25,10 +25,10 @@
25
25
  },
26
26
  "license": "Apache-2.0",
27
27
  "dependencies": {
28
- "@aws-sdk/types": "3.901.0",
29
- "@smithy/types": "^4.6.0",
30
- "@smithy/url-parser": "^4.2.0",
31
- "@smithy/util-endpoints": "^3.2.0",
28
+ "@aws-sdk/types": "3.910.0",
29
+ "@smithy/types": "^4.7.1",
30
+ "@smithy/url-parser": "^4.2.2",
31
+ "@smithy/util-endpoints": "^3.2.2",
32
32
  "tslib": "^2.6.2"
33
33
  },
34
34
  "engines": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-sdk/util-user-agent-browser",
3
- "version": "3.907.0",
3
+ "version": "3.910.0",
4
4
  "scripts": {
5
5
  "build": "concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types'",
6
6
  "build:cjs": "node ../../scripts/compilation/inline util-user-agent-browser",
@@ -24,8 +24,8 @@
24
24
  "license": "Apache-2.0",
25
25
  "react-native": "dist-es/index.native.js",
26
26
  "dependencies": {
27
- "@aws-sdk/types": "3.901.0",
28
- "@smithy/types": "^4.6.0",
27
+ "@aws-sdk/types": "3.910.0",
28
+ "@smithy/types": "^4.7.1",
29
29
  "bowser": "^2.11.0",
30
30
  "tslib": "^2.6.2"
31
31
  },
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-sdk/util-user-agent-node",
3
- "version": "3.908.0",
3
+ "version": "3.910.0",
4
4
  "scripts": {
5
5
  "build": "concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types'",
6
6
  "build:cjs": "node ../../scripts/compilation/inline util-user-agent-node",
@@ -22,10 +22,10 @@
22
22
  },
23
23
  "license": "Apache-2.0",
24
24
  "dependencies": {
25
- "@aws-sdk/middleware-user-agent": "3.908.0",
26
- "@aws-sdk/types": "3.901.0",
27
- "@smithy/node-config-provider": "^4.3.0",
28
- "@smithy/types": "^4.6.0",
25
+ "@aws-sdk/middleware-user-agent": "3.910.0",
26
+ "@aws-sdk/types": "3.910.0",
27
+ "@smithy/node-config-provider": "^4.3.2",
28
+ "@smithy/types": "^4.7.1",
29
29
  "tslib": "^2.6.2"
30
30
  },
31
31
  "devDependencies": {
@@ -1,178 +1,124 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
7
- var __export = (target, all) => {
8
- for (var name in all)
9
- __defProp(target, name, { get: all[name], enumerable: true });
10
- };
11
- var __copyProps = (to, from, except, desc) => {
12
- if (from && typeof from === "object" || typeof from === "function") {
13
- for (let key of __getOwnPropNames(from))
14
- if (!__hasOwnProp.call(to, key) && key !== except)
15
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
- }
17
- return to;
18
- };
19
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
1
+ 'use strict';
20
2
 
21
- // src/index.ts
22
- var index_exports = {};
23
- __export(index_exports, {
24
- XmlNode: () => XmlNode,
25
- XmlText: () => XmlText,
26
- parseXML: () => import_xml_parser.parseXML
27
- });
28
- module.exports = __toCommonJS(index_exports);
3
+ var xmlParser = require('./xml-parser');
29
4
 
30
- // src/escape-attribute.ts
31
5
  function escapeAttribute(value) {
32
- return value.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;");
6
+ return value.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;");
33
7
  }
34
- __name(escapeAttribute, "escapeAttribute");
35
8
 
36
- // src/escape-element.ts
37
9
  function escapeElement(value) {
38
- return value.replace(/&/g, "&amp;").replace(/"/g, "&quot;").replace(/'/g, "&apos;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/\r/g, "&#x0D;").replace(/\n/g, "&#x0A;").replace(/\u0085/g, "&#x85;").replace(/\u2028/, "&#x2028;");
10
+ return value
11
+ .replace(/&/g, "&amp;")
12
+ .replace(/"/g, "&quot;")
13
+ .replace(/'/g, "&apos;")
14
+ .replace(/</g, "&lt;")
15
+ .replace(/>/g, "&gt;")
16
+ .replace(/\r/g, "&#x0D;")
17
+ .replace(/\n/g, "&#x0A;")
18
+ .replace(/\u0085/g, "&#x85;")
19
+ .replace(/\u2028/, "&#x2028;");
39
20
  }
40
- __name(escapeElement, "escapeElement");
41
21
 
42
- // src/XmlText.ts
43
- var XmlText = class {
44
- constructor(value) {
45
- this.value = value;
46
- }
47
- static {
48
- __name(this, "XmlText");
49
- }
50
- toString() {
51
- return escapeElement("" + this.value);
52
- }
53
- };
22
+ class XmlText {
23
+ value;
24
+ constructor(value) {
25
+ this.value = value;
26
+ }
27
+ toString() {
28
+ return escapeElement("" + this.value);
29
+ }
30
+ }
54
31
 
55
- // src/XmlNode.ts
56
- var XmlNode = class _XmlNode {
57
- constructor(name, children = []) {
58
- this.name = name;
59
- this.children = children;
60
- }
61
- static {
62
- __name(this, "XmlNode");
63
- }
64
- attributes = {};
65
- static of(name, childText, withName) {
66
- const node = new _XmlNode(name);
67
- if (childText !== void 0) {
68
- node.addChildNode(new XmlText(childText));
32
+ class XmlNode {
33
+ name;
34
+ children;
35
+ attributes = {};
36
+ static of(name, childText, withName) {
37
+ const node = new XmlNode(name);
38
+ if (childText !== undefined) {
39
+ node.addChildNode(new XmlText(childText));
40
+ }
41
+ if (withName !== undefined) {
42
+ node.withName(withName);
43
+ }
44
+ return node;
69
45
  }
70
- if (withName !== void 0) {
71
- node.withName(withName);
46
+ constructor(name, children = []) {
47
+ this.name = name;
48
+ this.children = children;
72
49
  }
73
- return node;
74
- }
75
- withName(name) {
76
- this.name = name;
77
- return this;
78
- }
79
- addAttribute(name, value) {
80
- this.attributes[name] = value;
81
- return this;
82
- }
83
- addChildNode(child) {
84
- this.children.push(child);
85
- return this;
86
- }
87
- removeAttribute(name) {
88
- delete this.attributes[name];
89
- return this;
90
- }
91
- /**
92
- * @internal
93
- * Alias of {@link XmlNode#withName(string)} for codegen brevity.
94
- */
95
- n(name) {
96
- this.name = name;
97
- return this;
98
- }
99
- /**
100
- * @internal
101
- * Alias of {@link XmlNode#addChildNode(string)} for codegen brevity.
102
- */
103
- c(child) {
104
- this.children.push(child);
105
- return this;
106
- }
107
- /**
108
- * @internal
109
- * Checked version of {@link XmlNode#addAttribute(string)} for codegen brevity.
110
- */
111
- a(name, value) {
112
- if (value != null) {
113
- this.attributes[name] = value;
50
+ withName(name) {
51
+ this.name = name;
52
+ return this;
114
53
  }
115
- return this;
116
- }
117
- /**
118
- * Create a child node.
119
- * Used in serialization of string fields.
120
- * @internal
121
- */
122
- cc(input, field, withName = field) {
123
- if (input[field] != null) {
124
- const node = _XmlNode.of(field, input[field]).withName(withName);
125
- this.c(node);
54
+ addAttribute(name, value) {
55
+ this.attributes[name] = value;
56
+ return this;
126
57
  }
127
- }
128
- /**
129
- * Creates list child nodes.
130
- * @internal
131
- */
132
- l(input, listName, memberName, valueProvider) {
133
- if (input[listName] != null) {
134
- const nodes = valueProvider();
135
- nodes.map((node) => {
136
- node.withName(memberName);
137
- this.c(node);
138
- });
58
+ addChildNode(child) {
59
+ this.children.push(child);
60
+ return this;
139
61
  }
140
- }
141
- /**
142
- * Creates list child nodes with container.
143
- * @internal
144
- */
145
- lc(input, listName, memberName, valueProvider) {
146
- if (input[listName] != null) {
147
- const nodes = valueProvider();
148
- const containerNode = new _XmlNode(memberName);
149
- nodes.map((node) => {
150
- containerNode.c(node);
151
- });
152
- this.c(containerNode);
62
+ removeAttribute(name) {
63
+ delete this.attributes[name];
64
+ return this;
153
65
  }
154
- }
155
- toString() {
156
- const hasChildren = Boolean(this.children.length);
157
- let xmlText = `<${this.name}`;
158
- const attributes = this.attributes;
159
- for (const attributeName of Object.keys(attributes)) {
160
- const attribute = attributes[attributeName];
161
- if (attribute != null) {
162
- xmlText += ` ${attributeName}="${escapeAttribute("" + attribute)}"`;
163
- }
66
+ n(name) {
67
+ this.name = name;
68
+ return this;
164
69
  }
165
- return xmlText += !hasChildren ? "/>" : `>${this.children.map((c) => c.toString()).join("")}</${this.name}>`;
166
- }
167
- };
168
-
169
- // src/index.ts
170
- var import_xml_parser = require("././xml-parser");
171
- // Annotate the CommonJS export names for ESM import in node:
70
+ c(child) {
71
+ this.children.push(child);
72
+ return this;
73
+ }
74
+ a(name, value) {
75
+ if (value != null) {
76
+ this.attributes[name] = value;
77
+ }
78
+ return this;
79
+ }
80
+ cc(input, field, withName = field) {
81
+ if (input[field] != null) {
82
+ const node = XmlNode.of(field, input[field]).withName(withName);
83
+ this.c(node);
84
+ }
85
+ }
86
+ l(input, listName, memberName, valueProvider) {
87
+ if (input[listName] != null) {
88
+ const nodes = valueProvider();
89
+ nodes.map((node) => {
90
+ node.withName(memberName);
91
+ this.c(node);
92
+ });
93
+ }
94
+ }
95
+ lc(input, listName, memberName, valueProvider) {
96
+ if (input[listName] != null) {
97
+ const nodes = valueProvider();
98
+ const containerNode = new XmlNode(memberName);
99
+ nodes.map((node) => {
100
+ containerNode.c(node);
101
+ });
102
+ this.c(containerNode);
103
+ }
104
+ }
105
+ toString() {
106
+ const hasChildren = Boolean(this.children.length);
107
+ let xmlText = `<${this.name}`;
108
+ const attributes = this.attributes;
109
+ for (const attributeName of Object.keys(attributes)) {
110
+ const attribute = attributes[attributeName];
111
+ if (attribute != null) {
112
+ xmlText += ` ${attributeName}="${escapeAttribute("" + attribute)}"`;
113
+ }
114
+ }
115
+ return (xmlText += !hasChildren ? "/>" : `>${this.children.map((c) => c.toString()).join("")}</${this.name}>`);
116
+ }
117
+ }
172
118
 
173
- 0 && (module.exports = {
174
- parseXML,
175
- XmlNode,
176
- XmlText
119
+ Object.defineProperty(exports, "parseXML", {
120
+ enumerable: true,
121
+ get: function () { return xmlParser.parseXML; }
177
122
  });
178
-
123
+ exports.XmlNode = XmlNode;
124
+ exports.XmlText = XmlText;
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "name": "@aws-sdk/xml-builder",
3
- "version": "3.901.0",
3
+ "version": "3.910.0",
4
4
  "description": "XML builder for the AWS SDK",
5
5
  "dependencies": {
6
- "@smithy/types": "^4.6.0",
6
+ "@smithy/types": "^4.7.1",
7
7
  "fast-xml-parser": "5.2.5",
8
8
  "tslib": "^2.6.2"
9
9
  },
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@smithy/abort-controller",
3
- "version": "4.2.1",
3
+ "version": "4.2.2",
4
4
  "description": "A simple abort controller library",
5
5
  "main": "./dist-cjs/index.js",
6
6
  "module": "./dist-es/index.js",
@@ -26,7 +26,7 @@
26
26
  "license": "Apache-2.0",
27
27
  "sideEffects": false,
28
28
  "dependencies": {
29
- "@smithy/types": "^4.7.0",
29
+ "@smithy/types": "^4.7.1",
30
30
  "tslib": "^2.6.2"
31
31
  },
32
32
  "engines": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@smithy/config-resolver",
3
- "version": "4.3.1",
3
+ "version": "4.3.2",
4
4
  "scripts": {
5
5
  "build": "concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types && yarn build:types:downlevel'",
6
6
  "build:cjs": "node ../../scripts/inline config-resolver",
@@ -25,10 +25,10 @@
25
25
  "license": "Apache-2.0",
26
26
  "sideEffects": false,
27
27
  "dependencies": {
28
- "@smithy/node-config-provider": "^4.3.1",
29
- "@smithy/types": "^4.7.0",
28
+ "@smithy/node-config-provider": "^4.3.2",
29
+ "@smithy/types": "^4.7.1",
30
30
  "@smithy/util-config-provider": "^4.2.0",
31
- "@smithy/util-middleware": "^4.2.1",
31
+ "@smithy/util-middleware": "^4.2.2",
32
32
  "tslib": "^2.6.2"
33
33
  },
34
34
  "devDependencies": {
@@ -10,72 +10,12 @@ const deref = (schemaRef) => {
10
10
  return schemaRef;
11
11
  };
12
12
 
13
- class TypeRegistry {
14
- namespace;
15
- schemas;
16
- exceptions;
17
- static registries = new Map();
18
- constructor(namespace, schemas = new Map(), exceptions = new Map()) {
19
- this.namespace = namespace;
20
- this.schemas = schemas;
21
- this.exceptions = exceptions;
22
- }
23
- static for(namespace) {
24
- if (!TypeRegistry.registries.has(namespace)) {
25
- TypeRegistry.registries.set(namespace, new TypeRegistry(namespace));
26
- }
27
- return TypeRegistry.registries.get(namespace);
28
- }
29
- register(shapeId, schema) {
30
- const qualifiedName = this.normalizeShapeId(shapeId);
31
- this.schemas.set(qualifiedName, schema);
32
- }
33
- getSchema(shapeId) {
34
- const id = this.normalizeShapeId(shapeId);
35
- if (!this.schemas.has(id)) {
36
- throw new Error(`@smithy/core/schema - schema not found for ${id}`);
37
- }
38
- return this.schemas.get(id);
39
- }
40
- registerError(es, ctor) {
41
- this.exceptions.set(es, ctor);
42
- }
43
- getErrorCtor(es) {
44
- return this.exceptions.get(es);
45
- }
46
- getBaseException() {
47
- for (const [id, schema] of this.schemas.entries()) {
48
- if (id.startsWith("smithy.ts.sdk.synthetic.") && id.endsWith("ServiceException")) {
49
- return schema;
50
- }
51
- }
52
- return undefined;
53
- }
54
- find(predicate) {
55
- return [...this.schemas.values()].find(predicate);
56
- }
57
- clear() {
58
- this.schemas.clear();
59
- this.exceptions.clear();
60
- }
61
- normalizeShapeId(shapeId) {
62
- if (shapeId.includes("#")) {
63
- return shapeId;
64
- }
65
- return this.namespace + "#" + shapeId;
66
- }
67
- getNamespace(shapeId) {
68
- return this.normalizeShapeId(shapeId).split("#")[0];
69
- }
70
- }
71
-
72
13
  class Schema {
73
14
  name;
74
15
  namespace;
75
16
  traits;
76
17
  static assign(instance, values) {
77
18
  const schema = Object.assign(instance, values);
78
- TypeRegistry.for(schema.namespace).register(schema.name, schema);
79
19
  return schema;
80
20
  }
81
21
  static [Symbol.hasInstance](lhs) {
@@ -180,6 +120,12 @@ const sim = (namespace, name, schemaRef, traits) => Schema.assign(new SimpleSche
180
120
  traits,
181
121
  schemaRef,
182
122
  });
123
+ const simAdapter = (namespace, name, traits, schemaRef) => Schema.assign(new SimpleSchema(), {
124
+ name,
125
+ namespace,
126
+ traits,
127
+ schemaRef,
128
+ });
183
129
 
184
130
  function translateTraits(indicator) {
185
131
  if (typeof indicator === "object") {
@@ -446,7 +392,7 @@ function member(memberSchema, memberName) {
446
392
  function hydrate(ss) {
447
393
  const [id, ...rest] = ss;
448
394
  return {
449
- [0]: sim,
395
+ [0]: simAdapter,
450
396
  [1]: list,
451
397
  [2]: map,
452
398
  [3]: struct,
@@ -577,6 +523,72 @@ const SCHEMA = {
577
523
  MAP_MODIFIER: 0b1000_0000,
578
524
  };
579
525
 
526
+ class TypeRegistry {
527
+ namespace;
528
+ schemas;
529
+ exceptions;
530
+ static registries = new Map();
531
+ constructor(namespace, schemas = new Map(), exceptions = new Map()) {
532
+ this.namespace = namespace;
533
+ this.schemas = schemas;
534
+ this.exceptions = exceptions;
535
+ }
536
+ static for(namespace) {
537
+ if (!TypeRegistry.registries.has(namespace)) {
538
+ TypeRegistry.registries.set(namespace, new TypeRegistry(namespace));
539
+ }
540
+ return TypeRegistry.registries.get(namespace);
541
+ }
542
+ register(shapeId, schema) {
543
+ const qualifiedName = this.normalizeShapeId(shapeId);
544
+ const registry = TypeRegistry.for(qualifiedName.split("#")[0]);
545
+ registry.schemas.set(qualifiedName, schema);
546
+ }
547
+ getSchema(shapeId) {
548
+ const id = this.normalizeShapeId(shapeId);
549
+ if (!this.schemas.has(id)) {
550
+ throw new Error(`@smithy/core/schema - schema not found for ${id}`);
551
+ }
552
+ return this.schemas.get(id);
553
+ }
554
+ registerError(es, ctor) {
555
+ const $error = es;
556
+ const registry = TypeRegistry.for($error[1]);
557
+ registry.schemas.set($error[1] + "#" + $error[2], $error);
558
+ registry.exceptions.set($error, ctor);
559
+ }
560
+ getErrorCtor(es) {
561
+ const $error = es;
562
+ const registry = TypeRegistry.for($error[1]);
563
+ return registry.exceptions.get(es);
564
+ }
565
+ getBaseException() {
566
+ for (const exceptionKey of this.exceptions.keys()) {
567
+ if (Array.isArray(exceptionKey)) {
568
+ const [, ns, name] = exceptionKey;
569
+ const id = ns + "#" + name;
570
+ if (id.startsWith("smithy.ts.sdk.synthetic.") && id.endsWith("ServiceException")) {
571
+ return exceptionKey;
572
+ }
573
+ }
574
+ }
575
+ return undefined;
576
+ }
577
+ find(predicate) {
578
+ return [...this.schemas.values()].find(predicate);
579
+ }
580
+ clear() {
581
+ this.schemas.clear();
582
+ this.exceptions.clear();
583
+ }
584
+ normalizeShapeId(shapeId) {
585
+ if (shapeId.includes("#")) {
586
+ return shapeId;
587
+ }
588
+ return this.namespace + "#" + shapeId;
589
+ }
590
+ }
591
+
580
592
  exports.ErrorSchema = ErrorSchema;
581
593
  exports.ListSchema = ListSchema;
582
594
  exports.MapSchema = MapSchema;
@@ -598,5 +610,6 @@ exports.map = map;
598
610
  exports.op = op;
599
611
  exports.serializerMiddlewareOption = serializerMiddlewareOption;
600
612
  exports.sim = sim;
613
+ exports.simAdapter = simAdapter;
601
614
  exports.struct = struct;
602
615
  exports.translateTraits = translateTraits;
@@ -16,7 +16,8 @@ export class TypeRegistry {
16
16
  }
17
17
  register(shapeId, schema) {
18
18
  const qualifiedName = this.normalizeShapeId(shapeId);
19
- this.schemas.set(qualifiedName, schema);
19
+ const registry = TypeRegistry.for(qualifiedName.split("#")[0]);
20
+ registry.schemas.set(qualifiedName, schema);
20
21
  }
21
22
  getSchema(shapeId) {
22
23
  const id = this.normalizeShapeId(shapeId);
@@ -26,15 +27,24 @@ export class TypeRegistry {
26
27
  return this.schemas.get(id);
27
28
  }
28
29
  registerError(es, ctor) {
29
- this.exceptions.set(es, ctor);
30
+ const $error = es;
31
+ const registry = TypeRegistry.for($error[1]);
32
+ registry.schemas.set($error[1] + "#" + $error[2], $error);
33
+ registry.exceptions.set($error, ctor);
30
34
  }
31
35
  getErrorCtor(es) {
32
- return this.exceptions.get(es);
36
+ const $error = es;
37
+ const registry = TypeRegistry.for($error[1]);
38
+ return registry.exceptions.get(es);
33
39
  }
34
40
  getBaseException() {
35
- for (const [id, schema] of this.schemas.entries()) {
36
- if (id.startsWith("smithy.ts.sdk.synthetic.") && id.endsWith("ServiceException")) {
37
- return schema;
41
+ for (const exceptionKey of this.exceptions.keys()) {
42
+ if (Array.isArray(exceptionKey)) {
43
+ const [, ns, name] = exceptionKey;
44
+ const id = ns + "#" + name;
45
+ if (id.startsWith("smithy.ts.sdk.synthetic.") && id.endsWith("ServiceException")) {
46
+ return exceptionKey;
47
+ }
38
48
  }
39
49
  }
40
50
  return undefined;
@@ -52,7 +62,4 @@ export class TypeRegistry {
52
62
  }
53
63
  return this.namespace + "#" + shapeId;
54
64
  }
55
- getNamespace(shapeId) {
56
- return this.normalizeShapeId(shapeId).split("#")[0];
57
- }
58
65
  }
@@ -4,7 +4,7 @@ import { list, ListSchema } from "./ListSchema";
4
4
  import { map, MapSchema } from "./MapSchema";
5
5
  import { op } from "./OperationSchema";
6
6
  import { Schema } from "./Schema";
7
- import { sim } from "./SimpleSchema";
7
+ import { simAdapter } from "./SimpleSchema";
8
8
  import { struct, StructureSchema } from "./StructureSchema";
9
9
  import { translateTraits } from "./translateTraits";
10
10
  export class NormalizedSchema {
@@ -249,7 +249,7 @@ function member(memberSchema, memberName) {
249
249
  export function hydrate(ss) {
250
250
  const [id, ...rest] = ss;
251
251
  return {
252
- [0]: sim,
252
+ [0]: simAdapter,
253
253
  [1]: list,
254
254
  [2]: map,
255
255
  [3]: struct,
@@ -1,11 +1,9 @@
1
- import { TypeRegistry } from "../TypeRegistry";
2
1
  export class Schema {
3
2
  name;
4
3
  namespace;
5
4
  traits;
6
5
  static assign(instance, values) {
7
6
  const schema = Object.assign(instance, values);
8
- TypeRegistry.for(schema.namespace).register(schema.name, schema);
9
7
  return schema;
10
8
  }
11
9
  static [Symbol.hasInstance](lhs) {
@@ -12,3 +12,9 @@ export const sim = (namespace, name, schemaRef, traits) => Schema.assign(new Sim
12
12
  traits,
13
13
  schemaRef,
14
14
  });
15
+ export const simAdapter = (namespace, name, traits, schemaRef) => Schema.assign(new SimpleSchema(), {
16
+ name,
17
+ namespace,
18
+ traits,
19
+ schemaRef,
20
+ });