cdk-import 0.1.16 → 0.2.3
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/lib/cfn-resource-generator.js +9 -18
- package/lib/util.js +26 -3
- package/package.json +9 -6
|
@@ -102,7 +102,6 @@ class CfnResourceGenerator {
|
|
|
102
102
|
code.line();
|
|
103
103
|
}
|
|
104
104
|
emitConstructClass(code) {
|
|
105
|
-
var _a;
|
|
106
105
|
code.line('/**');
|
|
107
106
|
code.line(` * A CloudFormation \`${this.typeName}\``);
|
|
108
107
|
code.line(' *');
|
|
@@ -118,19 +117,12 @@ class CfnResourceGenerator {
|
|
|
118
117
|
code.line('*/');
|
|
119
118
|
code.line(`public static readonly CFN_RESOURCE_TYPE_NAME = "${this.typeName}";`);
|
|
120
119
|
code.line();
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
}
|
|
128
|
-
if (this.typeDef.SourceUrl) {
|
|
129
|
-
code.line(` * @link ${this.typeDef.SourceUrl}`);
|
|
130
|
-
}
|
|
131
|
-
code.line(' */');
|
|
132
|
-
code.line(`public readonly ${(0, case_1.camel)(prop)}: ${this.getTypeOfProperty(prop)}${optionalMarker};`);
|
|
133
|
-
}
|
|
120
|
+
// emit a "props" property which includes the set of props passed to the constructor
|
|
121
|
+
code.line('/**');
|
|
122
|
+
code.line(' * Resource props.');
|
|
123
|
+
code.line(' */');
|
|
124
|
+
code.line(`public readonly props: ${this.propsStructName};`);
|
|
125
|
+
code.line();
|
|
134
126
|
for (const prop of this.resourceAttributes) {
|
|
135
127
|
code.line('/**');
|
|
136
128
|
code.line(` * Attribute \`${this.typeName}.${prop}\``);
|
|
@@ -151,9 +143,8 @@ class CfnResourceGenerator {
|
|
|
151
143
|
code.openBlock(`constructor(scope: cdk.Construct, id: string, props: ${this.propsStructName})`);
|
|
152
144
|
code.line(`super(scope, id, { type: ${this.constructClassName}.CFN_RESOURCE_TYPE_NAME, properties: toJson_${this.propsStructName}(props)! });`);
|
|
153
145
|
code.line('');
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
}
|
|
146
|
+
code.line('this.props = props;');
|
|
147
|
+
code.line();
|
|
157
148
|
for (const prop of this.resourceAttributes) {
|
|
158
149
|
const propertyName = `attr${(0, case_1.pascal)(prop)}`;
|
|
159
150
|
code.line(`this.${propertyName} = ${this.renderGetAtt(prop)};`);
|
|
@@ -201,4 +192,4 @@ class CfnResourceGenerator {
|
|
|
201
192
|
}
|
|
202
193
|
}
|
|
203
194
|
exports.CfnResourceGenerator = CfnResourceGenerator;
|
|
204
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2ZuLXJlc291cmNlLWdlbmVyYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9jZm4tcmVzb3VyY2UtZ2VuZXJhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwrQkFBcUM7QUFDckMsK0NBQWlDO0FBRWpDLGlDQUEwQztBQUUxQzs7R0FFRztBQUNILE1BQWEsb0JBQW9CO0lBUS9COzs7OztPQUtHO0lBQ0gsWUFBNkIsUUFBZ0IsRUFBbUIsT0FBaUIsRUFBbUIsTUFBVzs7UUFBbEYsYUFBUSxHQUFSLFFBQVEsQ0FBUTtRQUFtQixZQUFPLEdBQVAsT0FBTyxDQUFVO1FBQW1CLFdBQU0sR0FBTixNQUFNLENBQUs7UUFDN0csSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUEsdUJBQWdCLEVBQUMsUUFBUSxDQUFDLENBQUM7UUFDcEQsNkpBQTZKO1FBQzdKLDhIQUE4SDtRQUM5SCxJQUFJLENBQUMsa0JBQWtCLEdBQUcsTUFBTSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztRQUN6RCxJQUFJLENBQUMsZUFBZSxHQUFHLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixPQUFPLENBQUM7UUFFekQsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksS0FBSyxFQUFVLENBQUM7UUFDOUMsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksS0FBSyxFQUFVLENBQUM7UUFFOUMsTUFBTSxLQUFLLEdBQUcsTUFBQSxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsbUNBQUksRUFBRSxDQUFDO1FBQzNDLE1BQU0sY0FBYyxHQUFhLElBQUksQ0FBQyxNQUFNLENBQUMsa0JBQWtCO1lBQzdELENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQVksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsRUFBRSxFQUFFLENBQUMsQ0FB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dE1ELG9EQXNNQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNhbWVsLCBwYXNjYWwgfSBmcm9tICdjYXNlJztcbmltcG9ydCAqIGFzIGoyaiBmcm9tICdqc29uMmpzaWknO1xuaW1wb3J0IHsgVHlwZUluZm8gfSBmcm9tICcuL3R5cGUtaW5mbyc7XG5pbXBvcnQgeyBzYW5pdGl6ZVR5cGVOYW1lIH0gZnJvbSAnLi91dGlsJztcblxuLyoqXG4gKiBHZW5lcmF0b3IgdG8gZW1pdCBjbGFzc2VzIGFuZCB0eXBlcyBmb3IgdGhlIEwxIGNvbnN0cnVjdCBvZiB0aGUgZ2l2ZW4gcmVzb3VyY2UgdHlwZVxuICovXG5leHBvcnQgY2xhc3MgQ2ZuUmVzb3VyY2VHZW5lcmF0b3Ige1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgc2FuaXRpemVkVHlwZU5hbWU6IHN0cmluZztcbiAgcHJpdmF0ZSByZWFkb25seSByZXNvdXJjZUF0dHJpYnV0ZXM6IHN0cmluZ1tdO1xuICBwcml2YXRlIHJlYWRvbmx5IHJlc291cmNlUHJvcGVydGllczogc3RyaW5nW107XG4gIHByaXZhdGUgcmVhZG9ubHkgY29uc3RydWN0Q2xhc3NOYW1lOiBzdHJpbmc7XG4gIHByaXZhdGUgcmVhZG9ubHkgcHJvcHNTdHJ1Y3ROYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqXG4gICAqIEBwYXJhbSB0eXBlTmFtZSB0aGUgbmFtZSBvZiB0aGUgQ0ZOIHJlc291cmNlIHR5cGUgKGUuZy4gQVdTUVM6OkVLUzo6Q2x1c3RlcilcbiAgICogQHBhcmFtIHR5cGVEZWYgdGhlIHR5cGUgaW5mbyBjb250YWluaW5nIHRoZSBzb3VyY2UgdXJsXG4gICAqIEBwYXJhbSBzY2hlbWEgdGhlIHNjaGVtYSBvZiB0aGUgcmVzb3VyY2UgdHlwZSBmb3IgaW5wdXQgYW5kIG91dHB1dCBwcm9wZXJ0aWVzXG4gICAqL1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHR5cGVOYW1lOiBzdHJpbmcsIHByaXZhdGUgcmVhZG9ubHkgdHlwZURlZjogVHlwZUluZm8sIHByaXZhdGUgcmVhZG9ubHkgc2NoZW1hOiBhbnkpIHtcbiAgICB0aGlzLnNhbml0aXplZFR5cGVOYW1lID0gc2FuaXRpemVUeXBlTmFtZSh0eXBlTmFtZSk7XG4gICAgLy8gdGhpcy5yZXNvdXJjZUF0dHJpYnV0ZXMgPSB0aGlzLnNjaGVtYS5yZWFkT25seVByb3BlcnRpZXMgPyB0aGlzLnNjaGVtYS5yZWFkT25seVByb3BlcnRpZXMubWFwKChwcm9wOiBzdHJpbmcpID0+IHByb3AucmVwbGFjZSgvXlxcL3Byb3BlcnRpZXNcXC8vLCAnJykpIDogW107XG4gICAgLy8gdGhpcy5yZXNvdXJjZVByb3BlcnRpZXMgPSBPYmplY3Qua2V5cyh0aGlzLnNjaGVtYS5wcm9wZXJ0aWVzKS5maWx0ZXIocHJvcCA9PiB0aGlzLnJlc291cmNlQXR0cmlidXRlcy5pbmRleE9mKHByb3ApID09PSAtMSk7XG4gICAgdGhpcy5jb25zdHJ1Y3RDbGFzc05hbWUgPSBgQ2ZuJHt0aGlzLnNhbml0aXplZFR5cGVOYW1lfWA7XG4gICAgdGhpcy5wcm9wc1N0cnVjdE5hbWUgPSBgJHt0aGlzLmNvbnN0cnVjdENsYXNzTmFtZX1Qcm9wc2A7XG5cbiAgICB0aGlzLnJlc291cmNlQXR0cmlidXRlcyA9IG5ldyBBcnJheTxzdHJpbmc+KCk7XG4gICAgdGhpcy5yZXNvdXJjZVByb3BlcnRpZXMgPSBuZXcgQXJyYXk8c3RyaW5nPigpO1xuXG4gICAgY29uc3QgcHJvcHMgPSB0aGlzLnNjaGVtYS5wcm9wZXJ0aWVzID8/IHt9O1xuICAgIGNvbnN0IGF0dHJpYnV0ZU5hbWVzOiBzdHJpbmdbXSA9IHRoaXMuc2NoZW1hLnJlYWRPbmx5UHJvcGVydGllc1xuICAgICAgPyB0aGlzLnNjaGVtYS5yZWFkT25seVByb3BlcnRpZXMubWFwKChwcm9wOiBzdHJpbmcpID0+IHByb3AucmVwbGFjZSgvXlxcL3Byb3BlcnRpZXNcXC8vLCAnJykpXG4gICAgICA6IFtdO1xuXG4gICAgZm9yIChjb25zdCBhdHRyIG9mIGF0dHJpYnV0ZU5hbWVzKSB7XG4gICAgICBjb25zdCBkZWYgPSBwcm9wc1thdHRyXTtcbiAgICAgIGlmICghZGVmKSB7XG4gICAgICAgIGNvbnNvbGUud2FybihgVW5yZXNvbHZhYmxlIHJlYWQtb25seSBwcm9wZXJ0eSAoYXR0cmlidXRlKSAke3R5cGVOYW1lfS4ke2F0dHJ9YCk7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuXG4gICAgICAvLyB2ZXJpZnkgdGhhdCB0aGUgdHlwZSBvZiB0aGUgYXR0cmlidXRlIGlzIGEgcHJpbWl0aXZlXG4gICAgICBpZiAoZGVmLnR5cGUgIT09ICdzdHJpbmcnICYmIGRlZi50eXBlICE9PSAnbnVtYmVyJykge1xuICAgICAgICBjb25zb2xlLndhcm4oYFVuc3VwcG9ydGVkIHR5cGUgJHtKU09OLnN0cmluZ2lmeShkZWYpfSBmb3IgcmVhZC1vbmx5IHByb3BlcnR5IChhdHRyaWJ1dGUpICR7dHlwZU5hbWV9LiR7YXR0cn1gKTtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG5cbiAgICAgIHRoaXMucmVzb3VyY2VBdHRyaWJ1dGVzLnB1c2goYXR0cik7XG4gICAgfVxuXG4gICAgZm9yIChjb25zdCBwcm9wIG9mIE9iamVjdC5rZXlzKHByb3BzKSkge1xuICAgICAgLy8gaWYgdGhpcyBpcyBhIHJlYWQtb25seSBwcm9wZXJ0eSwgY29uc2lkZXIgaXQgYW4gYXR0cmlidXRlXG4gICAgICBpZiAoYXR0cmlidXRlTmFtZXMuaW5jbHVkZXMocHJvcCkpIHtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG5cbiAgICAgIHRoaXMucmVzb3VyY2VQcm9wZXJ0aWVzLnB1c2gocHJvcCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFJlbmRlciB0aGUgdHlwZSBpbnRvIGEgVHlwZVNjcmlwdCBjbGFzcyBmaWwgZGVmaW5pbmcgdGhlIHByb3BzIGFuZCB0aGUgTDEgY29uc3RydWN0XG4gICAqXG4gICAqIEByZXR1cm5zIHRoZSByZW5kZXJlZCBjbGFzcyBmaWxlIGNvbnRlbnRcbiAgICovXG4gIHB1YmxpYyByZW5kZXIoKTogc3RyaW5nIHtcbiAgICBjb25zdCBjb2RlID0gbmV3IGoyai5Db2RlKCk7XG4gICAgdGhpcy5lbWl0SW1wb3J0cyhjb2RlKTtcbiAgICB0aGlzLmVtaXREZWZpbml0aW9uVHlwZXMoY29kZSk7XG4gICAgdGhpcy5lbWl0Q29uc3RydWN0Q2xhc3MoY29kZSk7XG4gICAgcmV0dXJuIGNvZGUucmVuZGVyKCk7XG4gIH1cblxuICBwcml2YXRlIGVtaXRJbXBvcnRzKGNvZGU6IGoyai5Db2RlKSB7XG4gICAgY29kZS5saW5lKCcvLyBHZW5lcmF0ZWQgYnkgY2RrLWltcG9ydCcpO1xuICAgIGNvZGUubGluZShcImltcG9ydCAqIGFzIGNkayBmcm9tICdAYXdzLWNkay9jb3JlJztcIik7XG4gICAgY29kZS5saW5lKCk7XG4gIH1cblxuICBwcml2YXRlIGVtaXREZWZpbml0aW9uVHlwZXMoY29kZTogajJqLkNvZGUpIHtcbiAgICBjb25zdCBnZW4gPSBuZXcgajJqLlR5cGVHZW5lcmF0b3Ioe1xuICAgICAgZGVmaW5pdGlvbnM6IHRoaXMuc2NoZW1hLmRlZmluaXRpb25zLFxuICAgIH0pO1xuXG4gICAgY29uc3Qgc2NoZW1hID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeSh0aGlzLnNjaGVtYSkpO1xuICAgIGZvciAoY29uc3QgcHJvcCBvZiB0aGlzLnJlc291cmNlQXR0cmlidXRlcykge1xuICAgICAgLy8gUmVtb3ZlIGF0dHJpYnV0ZXMgdGhhdCBjYW5ub3QgYmUgd3JpdHRlbiBidXQgYXJlIHVzZWQgYXMgYXR0cmlidXRlc1xuICAgICAgLy8gVGhlc2Ugc2hvdWxkIG5vdCBiZSBwYXJ0IG9mIHRoZSBQcm9wcyBzdHJ1Y3RcbiAgICAgIGRlbGV0ZSBzY2hlbWEucHJvcGVydGllc1twcm9wXTtcbiAgICB9XG5cbiAgICBnZW4uZW1pdFR5cGUodGhpcy5wcm9wc1N0cnVjdE5hbWUsIHNjaGVtYSk7XG5cbiAgICBnZW4ucmVuZGVyVG9Db2RlKGNvZGUpO1xuICAgIGNvZGUubGluZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBlbWl0Q29uc3RydWN0Q2xhc3MoY29kZTogajJqLkNvZGUpIHtcbiAgICBjb2RlLmxpbmUoJy8qKicpO1xuICAgIGNvZGUubGluZShgICogQSBDbG91ZEZvcm1hdGlvbiBcXGAke3RoaXMudHlwZU5hbWV9XFxgYCk7XG4gICAgY29kZS5saW5lKCcgKicpO1xuICAgIGNvZGUubGluZShgICogQGNsb3VkZm9ybWF0aW9uUmVzb3VyY2UgJHt0aGlzLnR5cGVOYW1lfWApO1xuICAgIGNvZGUubGluZSgnICogQHN0YWJpbGl0eSBleHRlcm5hbCcpO1xuICAgIGlmICh0aGlzLnR5cGVEZWYuU291cmNlVXJsKSB7XG4gICAgICBjb2RlLmxpbmUoYCAqIEBsaW5rICR7dGhpcy50eXBlRGVmLlNvdXJjZVVybH1gKTtcbiAgICB9XG4gICAgY29kZS5saW5lKCcgKi8nKTtcbiAgICBjb2RlLm9wZW5CbG9jayhgZXhwb3J0IGNsYXNzICR7dGhpcy5jb25zdHJ1Y3RDbGFzc05hbWV9IGV4dGVuZHMgY2RrLkNmblJlc291cmNlYCk7XG4gICAgY29kZS5saW5lKCcvKionKTtcbiAgICBjb2RlLmxpbmUoJyogVGhlIENsb3VkRm9ybWF0aW9uIHJlc291cmNlIHR5cGUgbmFtZSBmb3IgdGhpcyByZXNvdXJjZSBjbGFzcy4nKTtcbiAgICBjb2RlLmxpbmUoJyovJyk7XG4gICAgY29kZS5saW5lKGBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IENGTl9SRVNPVVJDRV9UWVBFX05BTUUgPSBcIiR7dGhpcy50eXBlTmFtZX1cIjtgKTtcbiAgICBjb2RlLmxpbmUoKTtcblxuICAgIGZvciAoY29uc3QgcHJvcCBvZiB0aGlzLnJlc291cmNlUHJvcGVydGllcykge1xuICAgICAgY29uc3Qgb3B0aW9uYWxNYXJrZXIgPSB0aGlzLnNjaGVtYS5yZXF1aXJlZD8uaW5kZXhPZihwcm9wKSA9PT0gLTEgPyAnIHwgdW5kZWZpbmVkJyA6ICcnO1xuICAgICAgY29kZS5saW5lKCcvKionKTtcbiAgICAgIGNvZGUubGluZShgICogXFxgJHt0aGlzLnR5cGVOYW1lfS4ke3Byb3B9XFxgYCk7XG4gICAgICBpZiAodGhpcy5zY2hlbWEucHJvcGVydGllc1twcm9wXS5kZXNjcmlwdGlvbikge1xuICAgICAgICBjb2RlLmxpbmUoYCAqICR7dGhpcy5zY2hlbWEucHJvcGVydGllc1twcm9wXS5kZXNjcmlwdGlvbn1gKTtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLnR5cGVEZWYuU291cmNlVXJsKSB7XG4gICAgICAgIGNvZGUubGluZShgICogQGxpbmsgJHt0aGlzLnR5cGVEZWYuU291cmNlVXJsfWApO1xuICAgICAgfVxuICAgICAgY29kZS5saW5lKCcgKi8nKTtcbiAgICAgIGNvZGUubGluZShgcHVibGljIHJlYWRvbmx5ICR7Y2FtZWwocHJvcCl9OiAke3RoaXMuZ2V0VHlwZU9mUHJvcGVydHkocHJvcCl9JHtvcHRpb25hbE1hcmtlcn07YCk7XG4gICAgfVxuXG4gICAgZm9yIChjb25zdCBwcm9wIG9mIHRoaXMucmVzb3VyY2VBdHRyaWJ1dGVzKSB7XG4gICAgICBjb2RlLmxpbmUoJy8qKicpO1xuICAgICAgY29kZS5saW5lKGAgKiBBdHRyaWJ1dGUgXFxgJHt0aGlzLnR5cGVOYW1lfS4ke3Byb3B9XFxgYCk7XG4gICAgICBpZiAodGhpcy50eXBlRGVmLlNvdXJjZVVybCkge1xuICAgICAgICBjb2RlLmxpbmUoYCAqIEBsaW5rICR7dGhpcy50eXBlRGVmLlNvdXJjZVVybH1gKTtcbiAgICAgIH1cbiAgICAgIGNvZGUubGluZSgnICovJyk7XG4gICAgICBjb2RlLmxpbmUoYHB1YmxpYyByZWFkb25seSBhdHRyJHtwYXNjYWwocHJvcCl9OiAke3RoaXMuZ2V0VHlwZU9mUHJvcGVydHkocHJvcCl9O2ApO1xuICAgIH1cblxuICAgIGNvZGUubGluZSgpO1xuXG4gICAgY29kZS5saW5lKCcvKionKTtcbiAgICBjb2RlLmxpbmUoYCAqIENyZWF0ZSBhIG5ldyBcXGAke3RoaXMudHlwZU5hbWV9XFxgLmApO1xuICAgIGNvZGUubGluZSgnIConKTtcbiAgICBjb2RlLmxpbmUoJyAqIEBwYXJhbSBzY29wZSAtIHNjb3BlIGluIHdoaWNoIHRoaXMgcmVzb3VyY2UgaXMgZGVmaW5lZCcpO1xuICAgIGNvZGUubGluZSgnICogQHBhcmFtIGlkICAgIC0gc2NvcGVkIGlkIG9mIHRoZSByZXNvdXJjZScpO1xuICAgIGNvZGUubGluZSgnICogQHBhcmFtIHByb3BzIC0gcmVzb3VyY2UgcHJvcGVydGllcycpO1xuICAgIGNvZGUubGluZSgnICovJyk7XG4gICAgY29kZS5vcGVuQmxvY2soYGNvbnN0cnVjdG9yKHNjb3BlOiBjZGsuQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogJHt0aGlzLnByb3BzU3RydWN0TmFtZX0pYCk7XG4gICAgY29kZS5saW5lKGBzdXBlcihzY29wZSwgaWQsIHsgdHlwZTogJHt0aGlzLmNvbnN0cnVjdENsYXNzTmFtZX0uQ0ZOX1JFU09VUkNFX1RZUEVfTkFNRSwgcHJvcGVydGllczogdG9Kc29uXyR7dGhpcy5wcm9wc1N0cnVjdE5hbWV9KHByb3BzKSEgfSk7YCk7XG4gICAgY29kZS5saW5lKCcnKTtcbiAgICBmb3IgKGNvbnN0IHByb3Agb2YgdGhpcy5yZXNvdXJjZVByb3BlcnRpZXMpIHtcbiAgICAgIGNvZGUubGluZShgdGhpcy4ke2NhbWVsKHByb3ApfSA9IHByb3BzLiR7Y2FtZWwocHJvcCl9O2ApO1xuICAgIH1cbiAgICBmb3IgKGNvbnN0IHByb3Agb2YgdGhpcy5yZXNvdXJjZUF0dHJpYnV0ZXMpIHtcbiAgICAgIGNvbnN0IHByb3BlcnR5TmFtZSA9IGBhdHRyJHtwYXNjYWwocHJvcCl9YDtcbiAgICAgIGNvZGUubGluZShgdGhpcy4ke3Byb3BlcnR5TmFtZX0gPSAke3RoaXMucmVuZGVyR2V0QXR0KHByb3ApfTtgKTtcbiAgICB9XG4gICAgY29kZS5jbG9zZUJsb2NrKCk7XG5cbiAgICAvLyBDbG9zZSBjb25zdHJ1Y3QgY2xhc3NcbiAgICBjb2RlLmNsb3NlQmxvY2soKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVuZGVyR2V0QXR0KHByb3A6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgYXR0cmlidXRlVHlwZSA9IHRoaXMuZ2V0VHlwZU9mUHJvcGVydHkocHJvcCk7XG4gICAgY29uc3QgY29uc3RydWN0b3JBcmd1bWVudHMgPSBgdGhpcy5nZXRBdHQoJyR7cHJvcH0nKWA7XG4gICAgaWYgKGF0dHJpYnV0ZVR5cGUgPT09ICdzdHJpbmcnKSB7XG4gICAgICByZXR1cm4gYGNkay5Ub2tlbi5hc1N0cmluZygke2NvbnN0cnVjdG9yQXJndW1lbnRzfSlgO1xuICAgIH1cbiAgICBpZiAoYXR0cmlidXRlVHlwZSA9PT0gJ3N0cmluZ1tdJykge1xuICAgICAgcmV0dXJuIGBjZGsuVG9rZW4uYXNMaXN0KCR7Y29uc3RydWN0b3JBcmd1bWVudHN9KWA7XG4gICAgfVxuICAgIGlmIChhdHRyaWJ1dGVUeXBlID09PSAnbnVtYmVyJykge1xuICAgICAgcmV0dXJuIGBjZGsuVG9rZW4uYXNOdW1iZXIoJHtjb25zdHJ1Y3RvckFyZ3VtZW50c30pYDtcbiAgICB9XG4gICAgcmV0dXJuIGNvbnN0cnVjdG9yQXJndW1lbnRzO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRUeXBlT2ZQcm9wZXJ0eShwcm9wOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5nZXRUeXBlRnJvbVNjaGVtYSh0aGlzLnNjaGVtYS5wcm9wZXJ0aWVzW3Byb3BdKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0VHlwZUZyb21TY2hlbWEocHJvcDogYW55KTogc3RyaW5nIHtcbiAgICBpZiAocHJvcC50eXBlKSB7XG4gICAgICBzd2l0Y2ggKHByb3AudHlwZSkge1xuICAgICAgICBjYXNlICdzdHJpbmcnOlxuICAgICAgICAgIHJldHVybiAnc3RyaW5nJztcbiAgICAgICAgY2FzZSAnYXJyYXknOlxuICAgICAgICAgIHJldHVybiBgJHt0aGlzLmdldFR5cGVGcm9tU2NoZW1hKHByb3AuaXRlbXMpfVtdYDtcbiAgICAgICAgY2FzZSAnbnVtYmVyJzpcbiAgICAgICAgICByZXR1cm4gJ251bWJlcic7XG4gICAgICAgIGNhc2UgJ2ludGVnZXInOlxuICAgICAgICAgIHJldHVybiAnbnVtYmVyJztcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICByZXR1cm4gJ2FueSc7XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChwcm9wLmhhc093blByb3BlcnR5KCckcmVmJykpIHtcbiAgICAgIHJldHVybiBwcm9wLiRyZWYucmVwbGFjZSgvI1xcL2RlZmluaXRpb25zXFwvLywgJycpO1xuICAgIH1cbiAgICByZXR1cm4gJ2FueSc7XG4gIH1cblxufVxuIl19
|
|
195
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2ZuLXJlc291cmNlLWdlbmVyYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9jZm4tcmVzb3VyY2UtZ2VuZXJhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwrQkFBOEI7QUFDOUIsK0NBQWlDO0FBRWpDLGlDQUEwQztBQUUxQzs7R0FFRztBQUNILE1BQWEsb0JBQW9CO0lBUS9COzs7OztPQUtHO0lBQ0gsWUFBNkIsUUFBZ0IsRUFBbUIsT0FBaUIsRUFBbUIsTUFBVzs7UUFBbEYsYUFBUSxHQUFSLFFBQVEsQ0FBUTtRQUFtQixZQUFPLEdBQVAsT0FBTyxDQUFVO1FBQW1CLFdBQU0sR0FBTixNQUFNLENBQUs7UUFDN0csSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUEsdUJBQWdCLEVBQUMsUUFBUSxDQUFDLENBQUM7UUFDcEQsNkpBQTZKO1FBQzdKLDhIQUE4SDtRQUM5SCxJQUFJLENBQUMsa0JBQWtCLEdBQUcsTUFBTSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztRQUN6RCxJQUFJLENBQUMsZUFBZSxHQUFHLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixPQUFPLENBQUM7UUFFekQsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksS0FBSyxFQUFVLENBQUM7UUFDOUMsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksS0FBSyxFQUFVLENBQUM7UUFFOUMsTUFBTSxLQUFLLEdBQUcsTUFBQSxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsbUNBQUksRUFBRSxDQUFDO1FBQzNDLE1BQU0sY0FBYyxHQUFhLElBQUksQ0FBQyxNQUFNLENBQUMsa0JBQWtCO1lBQzdELENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQVksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsRUFBRSxFQUFFLENBQUMsQ0FB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QUFDLEtBQUssQ0FBQyxJQUFJLENBQUM7Z0JBQ25ELEtBQUssUUFBUTtvQkFDWCxPQUFPLFFBQVEsQ0FBQztnQkFDbEIsS0FBSyxTQUFTO29CQUNaLE9BQU8sUUFBUSxDQUFDO2dCQUNsQjtvQkFDRSxPQUFPLEtBQUssQ0FBQzthQUNoQjtTQUNGO1FBQ0QsSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQy9CLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsa0JBQWtCLEVBQUUsRUFBRSxDQUFDLENBQUM7U0FDbEQ7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7Q0FFRjtBQTlMRCxvREE4TEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBwYXNjYWwgfSBmcm9tICdjYXNlJztcbmltcG9ydCAqIGFzIGoyaiBmcm9tICdqc29uMmpzaWknO1xuaW1wb3J0IHsgVHlwZUluZm8gfSBmcm9tICcuL3R5cGUtaW5mbyc7XG5pbXBvcnQgeyBzYW5pdGl6ZVR5cGVOYW1lIH0gZnJvbSAnLi91dGlsJztcblxuLyoqXG4gKiBHZW5lcmF0b3IgdG8gZW1pdCBjbGFzc2VzIGFuZCB0eXBlcyBmb3IgdGhlIEwxIGNvbnN0cnVjdCBvZiB0aGUgZ2l2ZW4gcmVzb3VyY2UgdHlwZVxuICovXG5leHBvcnQgY2xhc3MgQ2ZuUmVzb3VyY2VHZW5lcmF0b3Ige1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgc2FuaXRpemVkVHlwZU5hbWU6IHN0cmluZztcbiAgcHJpdmF0ZSByZWFkb25seSByZXNvdXJjZUF0dHJpYnV0ZXM6IHN0cmluZ1tdO1xuICBwcml2YXRlIHJlYWRvbmx5IHJlc291cmNlUHJvcGVydGllczogc3RyaW5nW107XG4gIHByaXZhdGUgcmVhZG9ubHkgY29uc3RydWN0Q2xhc3NOYW1lOiBzdHJpbmc7XG4gIHByaXZhdGUgcmVhZG9ubHkgcHJvcHNTdHJ1Y3ROYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqXG4gICAqIEBwYXJhbSB0eXBlTmFtZSB0aGUgbmFtZSBvZiB0aGUgQ0ZOIHJlc291cmNlIHR5cGUgKGUuZy4gQVdTUVM6OkVLUzo6Q2x1c3RlcilcbiAgICogQHBhcmFtIHR5cGVEZWYgdGhlIHR5cGUgaW5mbyBjb250YWluaW5nIHRoZSBzb3VyY2UgdXJsXG4gICAqIEBwYXJhbSBzY2hlbWEgdGhlIHNjaGVtYSBvZiB0aGUgcmVzb3VyY2UgdHlwZSBmb3IgaW5wdXQgYW5kIG91dHB1dCBwcm9wZXJ0aWVzXG4gICAqL1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHR5cGVOYW1lOiBzdHJpbmcsIHByaXZhdGUgcmVhZG9ubHkgdHlwZURlZjogVHlwZUluZm8sIHByaXZhdGUgcmVhZG9ubHkgc2NoZW1hOiBhbnkpIHtcbiAgICB0aGlzLnNhbml0aXplZFR5cGVOYW1lID0gc2FuaXRpemVUeXBlTmFtZSh0eXBlTmFtZSk7XG4gICAgLy8gdGhpcy5yZXNvdXJjZUF0dHJpYnV0ZXMgPSB0aGlzLnNjaGVtYS5yZWFkT25seVByb3BlcnRpZXMgPyB0aGlzLnNjaGVtYS5yZWFkT25seVByb3BlcnRpZXMubWFwKChwcm9wOiBzdHJpbmcpID0+IHByb3AucmVwbGFjZSgvXlxcL3Byb3BlcnRpZXNcXC8vLCAnJykpIDogW107XG4gICAgLy8gdGhpcy5yZXNvdXJjZVByb3BlcnRpZXMgPSBPYmplY3Qua2V5cyh0aGlzLnNjaGVtYS5wcm9wZXJ0aWVzKS5maWx0ZXIocHJvcCA9PiB0aGlzLnJlc291cmNlQXR0cmlidXRlcy5pbmRleE9mKHByb3ApID09PSAtMSk7XG4gICAgdGhpcy5jb25zdHJ1Y3RDbGFzc05hbWUgPSBgQ2ZuJHt0aGlzLnNhbml0aXplZFR5cGVOYW1lfWA7XG4gICAgdGhpcy5wcm9wc1N0cnVjdE5hbWUgPSBgJHt0aGlzLmNvbnN0cnVjdENsYXNzTmFtZX1Qcm9wc2A7XG5cbiAgICB0aGlzLnJlc291cmNlQXR0cmlidXRlcyA9IG5ldyBBcnJheTxzdHJpbmc+KCk7XG4gICAgdGhpcy5yZXNvdXJjZVByb3BlcnRpZXMgPSBuZXcgQXJyYXk8c3RyaW5nPigpO1xuXG4gICAgY29uc3QgcHJvcHMgPSB0aGlzLnNjaGVtYS5wcm9wZXJ0aWVzID8/IHt9O1xuICAgIGNvbnN0IGF0dHJpYnV0ZU5hbWVzOiBzdHJpbmdbXSA9IHRoaXMuc2NoZW1hLnJlYWRPbmx5UHJvcGVydGllc1xuICAgICAgPyB0aGlzLnNjaGVtYS5yZWFkT25seVByb3BlcnRpZXMubWFwKChwcm9wOiBzdHJpbmcpID0+IHByb3AucmVwbGFjZSgvXlxcL3Byb3BlcnRpZXNcXC8vLCAnJykpXG4gICAgICA6IFtdO1xuXG4gICAgZm9yIChjb25zdCBhdHRyIG9mIGF0dHJpYnV0ZU5hbWVzKSB7XG4gICAgICBjb25zdCBkZWYgPSBwcm9wc1thdHRyXTtcbiAgICAgIGlmICghZGVmKSB7XG4gICAgICAgIGNvbnNvbGUud2FybihgVW5yZXNvbHZhYmxlIHJlYWQtb25seSBwcm9wZXJ0eSAoYXR0cmlidXRlKSAke3R5cGVOYW1lfS4ke2F0dHJ9YCk7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuXG4gICAgICAvLyB2ZXJpZnkgdGhhdCB0aGUgdHlwZSBvZiB0aGUgYXR0cmlidXRlIGlzIGEgcHJpbWl0aXZlXG4gICAgICBpZiAoZGVmLnR5cGUgIT09ICdzdHJpbmcnICYmIGRlZi50eXBlICE9PSAnbnVtYmVyJykge1xuICAgICAgICBjb25zb2xlLndhcm4oYFVuc3VwcG9ydGVkIHR5cGUgJHtKU09OLnN0cmluZ2lmeShkZWYpfSBmb3IgcmVhZC1vbmx5IHByb3BlcnR5IChhdHRyaWJ1dGUpICR7dHlwZU5hbWV9LiR7YXR0cn1gKTtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG5cbiAgICAgIHRoaXMucmVzb3VyY2VBdHRyaWJ1dGVzLnB1c2goYXR0cik7XG4gICAgfVxuXG4gICAgZm9yIChjb25zdCBwcm9wIG9mIE9iamVjdC5rZXlzKHByb3BzKSkge1xuICAgICAgLy8gaWYgdGhpcyBpcyBhIHJlYWQtb25seSBwcm9wZXJ0eSwgY29uc2lkZXIgaXQgYW4gYXR0cmlidXRlXG4gICAgICBpZiAoYXR0cmlidXRlTmFtZXMuaW5jbHVkZXMocHJvcCkpIHtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG5cbiAgICAgIHRoaXMucmVzb3VyY2VQcm9wZXJ0aWVzLnB1c2gocHJvcCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFJlbmRlciB0aGUgdHlwZSBpbnRvIGEgVHlwZVNjcmlwdCBjbGFzcyBmaWwgZGVmaW5pbmcgdGhlIHByb3BzIGFuZCB0aGUgTDEgY29uc3RydWN0XG4gICAqXG4gICAqIEByZXR1cm5zIHRoZSByZW5kZXJlZCBjbGFzcyBmaWxlIGNvbnRlbnRcbiAgICovXG4gIHB1YmxpYyByZW5kZXIoKTogc3RyaW5nIHtcbiAgICBjb25zdCBjb2RlID0gbmV3IGoyai5Db2RlKCk7XG4gICAgdGhpcy5lbWl0SW1wb3J0cyhjb2RlKTtcbiAgICB0aGlzLmVtaXREZWZpbml0aW9uVHlwZXMoY29kZSk7XG4gICAgdGhpcy5lbWl0Q29uc3RydWN0Q2xhc3MoY29kZSk7XG4gICAgcmV0dXJuIGNvZGUucmVuZGVyKCk7XG4gIH1cblxuICBwcml2YXRlIGVtaXRJbXBvcnRzKGNvZGU6IGoyai5Db2RlKSB7XG4gICAgY29kZS5saW5lKCcvLyBHZW5lcmF0ZWQgYnkgY2RrLWltcG9ydCcpO1xuICAgIGNvZGUubGluZShcImltcG9ydCAqIGFzIGNkayBmcm9tICdAYXdzLWNkay9jb3JlJztcIik7XG4gICAgY29kZS5saW5lKCk7XG4gIH1cblxuICBwcml2YXRlIGVtaXREZWZpbml0aW9uVHlwZXMoY29kZTogajJqLkNvZGUpIHtcbiAgICBjb25zdCBnZW4gPSBuZXcgajJqLlR5cGVHZW5lcmF0b3Ioe1xuICAgICAgZGVmaW5pdGlvbnM6IHRoaXMuc2NoZW1hLmRlZmluaXRpb25zLFxuICAgIH0pO1xuXG4gICAgY29uc3Qgc2NoZW1hID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeSh0aGlzLnNjaGVtYSkpO1xuICAgIGZvciAoY29uc3QgcHJvcCBvZiB0aGlzLnJlc291cmNlQXR0cmlidXRlcykge1xuICAgICAgLy8gUmVtb3ZlIGF0dHJpYnV0ZXMgdGhhdCBjYW5ub3QgYmUgd3JpdHRlbiBidXQgYXJlIHVzZWQgYXMgYXR0cmlidXRlc1xuICAgICAgLy8gVGhlc2Ugc2hvdWxkIG5vdCBiZSBwYXJ0IG9mIHRoZSBQcm9wcyBzdHJ1Y3RcbiAgICAgIGRlbGV0ZSBzY2hlbWEucHJvcGVydGllc1twcm9wXTtcbiAgICB9XG5cbiAgICBnZW4uZW1pdFR5cGUodGhpcy5wcm9wc1N0cnVjdE5hbWUsIHNjaGVtYSk7XG5cbiAgICBnZW4ucmVuZGVyVG9Db2RlKGNvZGUpO1xuICAgIGNvZGUubGluZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBlbWl0Q29uc3RydWN0Q2xhc3MoY29kZTogajJqLkNvZGUpIHtcbiAgICBjb2RlLmxpbmUoJy8qKicpO1xuICAgIGNvZGUubGluZShgICogQSBDbG91ZEZvcm1hdGlvbiBcXGAke3RoaXMudHlwZU5hbWV9XFxgYCk7XG4gICAgY29kZS5saW5lKCcgKicpO1xuICAgIGNvZGUubGluZShgICogQGNsb3VkZm9ybWF0aW9uUmVzb3VyY2UgJHt0aGlzLnR5cGVOYW1lfWApO1xuICAgIGNvZGUubGluZSgnICogQHN0YWJpbGl0eSBleHRlcm5hbCcpO1xuICAgIGlmICh0aGlzLnR5cGVEZWYuU291cmNlVXJsKSB7XG4gICAgICBjb2RlLmxpbmUoYCAqIEBsaW5rICR7dGhpcy50eXBlRGVmLlNvdXJjZVVybH1gKTtcbiAgICB9XG4gICAgY29kZS5saW5lKCcgKi8nKTtcbiAgICBjb2RlLm9wZW5CbG9jayhgZXhwb3J0IGNsYXNzICR7dGhpcy5jb25zdHJ1Y3RDbGFzc05hbWV9IGV4dGVuZHMgY2RrLkNmblJlc291cmNlYCk7XG4gICAgY29kZS5saW5lKCcvKionKTtcbiAgICBjb2RlLmxpbmUoJyogVGhlIENsb3VkRm9ybWF0aW9uIHJlc291cmNlIHR5cGUgbmFtZSBmb3IgdGhpcyByZXNvdXJjZSBjbGFzcy4nKTtcbiAgICBjb2RlLmxpbmUoJyovJyk7XG4gICAgY29kZS5saW5lKGBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IENGTl9SRVNPVVJDRV9UWVBFX05BTUUgPSBcIiR7dGhpcy50eXBlTmFtZX1cIjtgKTtcbiAgICBjb2RlLmxpbmUoKTtcblxuICAgIC8vIGVtaXQgYSBcInByb3BzXCIgcHJvcGVydHkgd2hpY2ggaW5jbHVkZXMgdGhlIHNldCBvZiBwcm9wcyBwYXNzZWQgdG8gdGhlIGNvbnN0cnVjdG9yXG4gICAgY29kZS5saW5lKCcvKionKTtcbiAgICBjb2RlLmxpbmUoJyAqIFJlc291cmNlIHByb3BzLicpO1xuICAgIGNvZGUubGluZSgnICovJyk7XG4gICAgY29kZS5saW5lKGBwdWJsaWMgcmVhZG9ubHkgcHJvcHM6ICR7dGhpcy5wcm9wc1N0cnVjdE5hbWV9O2ApO1xuICAgIGNvZGUubGluZSgpO1xuXG4gICAgZm9yIChjb25zdCBwcm9wIG9mIHRoaXMucmVzb3VyY2VBdHRyaWJ1dGVzKSB7XG4gICAgICBjb2RlLmxpbmUoJy8qKicpO1xuICAgICAgY29kZS5saW5lKGAgKiBBdHRyaWJ1dGUgXFxgJHt0aGlzLnR5cGVOYW1lfS4ke3Byb3B9XFxgYCk7XG4gICAgICBpZiAodGhpcy50eXBlRGVmLlNvdXJjZVVybCkge1xuICAgICAgICBjb2RlLmxpbmUoYCAqIEBsaW5rICR7dGhpcy50eXBlRGVmLlNvdXJjZVVybH1gKTtcbiAgICAgIH1cbiAgICAgIGNvZGUubGluZSgnICovJyk7XG4gICAgICBjb2RlLmxpbmUoYHB1YmxpYyByZWFkb25seSBhdHRyJHtwYXNjYWwocHJvcCl9OiAke3RoaXMuZ2V0VHlwZU9mUHJvcGVydHkocHJvcCl9O2ApO1xuICAgIH1cblxuICAgIGNvZGUubGluZSgpO1xuXG4gICAgY29kZS5saW5lKCcvKionKTtcbiAgICBjb2RlLmxpbmUoYCAqIENyZWF0ZSBhIG5ldyBcXGAke3RoaXMudHlwZU5hbWV9XFxgLmApO1xuICAgIGNvZGUubGluZSgnIConKTtcbiAgICBjb2RlLmxpbmUoJyAqIEBwYXJhbSBzY29wZSAtIHNjb3BlIGluIHdoaWNoIHRoaXMgcmVzb3VyY2UgaXMgZGVmaW5lZCcpO1xuICAgIGNvZGUubGluZSgnICogQHBhcmFtIGlkICAgIC0gc2NvcGVkIGlkIG9mIHRoZSByZXNvdXJjZScpO1xuICAgIGNvZGUubGluZSgnICogQHBhcmFtIHByb3BzIC0gcmVzb3VyY2UgcHJvcGVydGllcycpO1xuICAgIGNvZGUubGluZSgnICovJyk7XG4gICAgY29kZS5vcGVuQmxvY2soYGNvbnN0cnVjdG9yKHNjb3BlOiBjZGsuQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogJHt0aGlzLnByb3BzU3RydWN0TmFtZX0pYCk7XG4gICAgY29kZS5saW5lKGBzdXBlcihzY29wZSwgaWQsIHsgdHlwZTogJHt0aGlzLmNvbnN0cnVjdENsYXNzTmFtZX0uQ0ZOX1JFU09VUkNFX1RZUEVfTkFNRSwgcHJvcGVydGllczogdG9Kc29uXyR7dGhpcy5wcm9wc1N0cnVjdE5hbWV9KHByb3BzKSEgfSk7YCk7XG4gICAgY29kZS5saW5lKCcnKTtcbiAgICBjb2RlLmxpbmUoJ3RoaXMucHJvcHMgPSBwcm9wczsnKTtcbiAgICBjb2RlLmxpbmUoKTtcbiAgICBmb3IgKGNvbnN0IHByb3Agb2YgdGhpcy5yZXNvdXJjZUF0dHJpYnV0ZXMpIHtcbiAgICAgIGNvbnN0IHByb3BlcnR5TmFtZSA9IGBhdHRyJHtwYXNjYWwocHJvcCl9YDtcbiAgICAgIGNvZGUubGluZShgdGhpcy4ke3Byb3BlcnR5TmFtZX0gPSAke3RoaXMucmVuZGVyR2V0QXR0KHByb3ApfTtgKTtcbiAgICB9XG4gICAgY29kZS5jbG9zZUJsb2NrKCk7XG5cbiAgICAvLyBDbG9zZSBjb25zdHJ1Y3QgY2xhc3NcbiAgICBjb2RlLmNsb3NlQmxvY2soKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVuZGVyR2V0QXR0KHByb3A6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgYXR0cmlidXRlVHlwZSA9IHRoaXMuZ2V0VHlwZU9mUHJvcGVydHkocHJvcCk7XG4gICAgY29uc3QgY29uc3RydWN0b3JBcmd1bWVudHMgPSBgdGhpcy5nZXRBdHQoJyR7cHJvcH0nKWA7XG4gICAgaWYgKGF0dHJpYnV0ZVR5cGUgPT09ICdzdHJpbmcnKSB7XG4gICAgICByZXR1cm4gYGNkay5Ub2tlbi5hc1N0cmluZygke2NvbnN0cnVjdG9yQXJndW1lbnRzfSlgO1xuICAgIH1cbiAgICBpZiAoYXR0cmlidXRlVHlwZSA9PT0gJ3N0cmluZ1tdJykge1xuICAgICAgcmV0dXJuIGBjZGsuVG9rZW4uYXNMaXN0KCR7Y29uc3RydWN0b3JBcmd1bWVudHN9KWA7XG4gICAgfVxuICAgIGlmIChhdHRyaWJ1dGVUeXBlID09PSAnbnVtYmVyJykge1xuICAgICAgcmV0dXJuIGBjZGsuVG9rZW4uYXNOdW1iZXIoJHtjb25zdHJ1Y3RvckFyZ3VtZW50c30pYDtcbiAgICB9XG4gICAgcmV0dXJuIGNvbnN0cnVjdG9yQXJndW1lbnRzO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRUeXBlT2ZQcm9wZXJ0eShwcm9wOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5nZXRUeXBlRnJvbVNjaGVtYSh0aGlzLnNjaGVtYS5wcm9wZXJ0aWVzW3Byb3BdKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0VHlwZUZyb21TY2hlbWEocHJvcDogYW55KTogc3RyaW5nIHtcbiAgICBpZiAocHJvcC50eXBlKSB7XG4gICAgICBzd2l0Y2ggKHByb3AudHlwZSkge1xuICAgICAgICBjYXNlICdzdHJpbmcnOlxuICAgICAgICAgIHJldHVybiAnc3RyaW5nJztcbiAgICAgICAgY2FzZSAnYXJyYXknOlxuICAgICAgICAgIHJldHVybiBgJHt0aGlzLmdldFR5cGVGcm9tU2NoZW1hKHByb3AuaXRlbXMpfVtdYDtcbiAgICAgICAgY2FzZSAnbnVtYmVyJzpcbiAgICAgICAgICByZXR1cm4gJ251bWJlcic7XG4gICAgICAgIGNhc2UgJ2ludGVnZXInOlxuICAgICAgICAgIHJldHVybiAnbnVtYmVyJztcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICByZXR1cm4gJ2FueSc7XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChwcm9wLmhhc093blByb3BlcnR5KCckcmVmJykpIHtcbiAgICAgIHJldHVybiBwcm9wLiRyZWYucmVwbGFjZSgvI1xcL2RlZmluaXRpb25zXFwvLywgJycpO1xuICAgIH1cbiAgICByZXR1cm4gJ2FueSc7XG4gIH1cblxufVxuIl19
|
package/lib/util.js
CHANGED
|
@@ -1,6 +1,26 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
+
}) : (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
o[k2] = m[k];
|
|
8
|
+
}));
|
|
9
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
10
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
11
|
+
}) : function(o, v) {
|
|
12
|
+
o["default"] = v;
|
|
13
|
+
});
|
|
14
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
15
|
+
if (mod && mod.__esModule) return mod;
|
|
16
|
+
var result = {};
|
|
17
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
|
+
__setModuleDefault(result, mod);
|
|
19
|
+
return result;
|
|
20
|
+
};
|
|
2
21
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
22
|
exports.sanitizeTypeName = void 0;
|
|
23
|
+
const Case = __importStar(require("case"));
|
|
4
24
|
/**
|
|
5
25
|
* convert the type name to a TypeScript class name by camel-casing and removing `::`
|
|
6
26
|
*
|
|
@@ -9,8 +29,11 @@ exports.sanitizeTypeName = void 0;
|
|
|
9
29
|
*/
|
|
10
30
|
function sanitizeTypeName(typeName) {
|
|
11
31
|
const parts = typeName.split('::');
|
|
12
|
-
const
|
|
13
|
-
|
|
32
|
+
const lastParts = [parts[parts.length - 1]];
|
|
33
|
+
if (lastParts[0].toUpperCase() === 'MODULE') {
|
|
34
|
+
lastParts.unshift(parts[parts.length - 2]);
|
|
35
|
+
}
|
|
36
|
+
return lastParts.map(p => Case.pascal(p)).join('');
|
|
14
37
|
}
|
|
15
38
|
exports.sanitizeTypeName = sanitizeTypeName;
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy91dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwyQ0FBNkI7QUFFN0I7Ozs7O0dBS0c7QUFDSCxTQUFnQixnQkFBZ0IsQ0FBQyxRQUFnQjtJQUMvQyxNQUFNLEtBQUssR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ25DLE1BQU0sU0FBUyxHQUFHLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM1QyxJQUFJLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsS0FBSyxRQUFRLEVBQUU7UUFDM0MsU0FBUyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO0tBQzVDO0lBRUQsT0FBTyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUNyRCxDQUFDO0FBUkQsNENBUUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBDYXNlIGZyb20gJ2Nhc2UnO1xuXG4vKipcbiAqIGNvbnZlcnQgdGhlIHR5cGUgbmFtZSB0byBhIFR5cGVTY3JpcHQgY2xhc3MgbmFtZSBieSBjYW1lbC1jYXNpbmcgYW5kIHJlbW92aW5nIGA6OmBcbiAqXG4gKiBAcGFyYW0gdHlwZU5hbWUgdGhlIG5hbWUgb2YgdGhlIHJlc291cmNlIHR5cGVcbiAqIEByZXR1cm5zIHRoZSBuYW1lIHRvIHVzZSBhcyBjbGFzcyBuYW1lXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzYW5pdGl6ZVR5cGVOYW1lKHR5cGVOYW1lOiBzdHJpbmcpIHtcbiAgY29uc3QgcGFydHMgPSB0eXBlTmFtZS5zcGxpdCgnOjonKTtcbiAgY29uc3QgbGFzdFBhcnRzID0gW3BhcnRzW3BhcnRzLmxlbmd0aCAtIDFdXTtcbiAgaWYgKGxhc3RQYXJ0c1swXS50b1VwcGVyQ2FzZSgpID09PSAnTU9EVUxFJykge1xuICAgIGxhc3RQYXJ0cy51bnNoaWZ0KHBhcnRzW3BhcnRzLmxlbmd0aCAtIDJdKTtcbiAgfVxuXG4gIHJldHVybiBsYXN0UGFydHMubWFwKHAgPT4gQ2FzZS5wYXNjYWwocCkpLmpvaW4oJycpO1xufVxuIl19
|
package/package.json
CHANGED
|
@@ -12,6 +12,8 @@
|
|
|
12
12
|
"default": "npx projen default",
|
|
13
13
|
"eslint": "npx projen eslint",
|
|
14
14
|
"package": "npx projen package",
|
|
15
|
+
"post-compile": "npx projen post-compile",
|
|
16
|
+
"pre-compile": "npx projen pre-compile",
|
|
15
17
|
"publish:github": "npx projen publish:github",
|
|
16
18
|
"publish:npm": "npx projen publish:npm",
|
|
17
19
|
"release": "npx projen release",
|
|
@@ -24,10 +26,12 @@
|
|
|
24
26
|
"projen": "npx projen"
|
|
25
27
|
},
|
|
26
28
|
"devDependencies": {
|
|
29
|
+
"@aws-cdk/core": "^1.131.0",
|
|
27
30
|
"@types/jest": "^26.0.24",
|
|
28
31
|
"@types/node": "^14.17.0",
|
|
29
32
|
"@typescript-eslint/eslint-plugin": "^4.33.0",
|
|
30
33
|
"@typescript-eslint/parser": "^4.33.0",
|
|
34
|
+
"constructs": "^3",
|
|
31
35
|
"eslint": "^7.32.0",
|
|
32
36
|
"eslint-import-resolver-node": "^0.3.6",
|
|
33
37
|
"eslint-import-resolver-typescript": "^2.5.0",
|
|
@@ -36,25 +40,24 @@
|
|
|
36
40
|
"jest-junit": "^12",
|
|
37
41
|
"json-schema": "^0.3.0",
|
|
38
42
|
"npm-check-updates": "^11",
|
|
39
|
-
"projen": "^0.
|
|
43
|
+
"projen": "^0.33.1",
|
|
40
44
|
"standard-version": "^9",
|
|
41
45
|
"ts-jest": "^27.0.7",
|
|
42
46
|
"ts-node": "^10.4.0",
|
|
43
47
|
"typescript": "^4.4.4"
|
|
44
48
|
},
|
|
45
49
|
"dependencies": {
|
|
46
|
-
"
|
|
47
|
-
"aws-sdk": "^2.1023.0",
|
|
50
|
+
"aws-sdk": "^2.1024.0",
|
|
48
51
|
"case": "^1.6.3",
|
|
49
|
-
"jsii-srcmak": "^0.1.
|
|
50
|
-
"json2jsii": "^0.2.
|
|
52
|
+
"jsii-srcmak": "^0.1.392",
|
|
53
|
+
"json2jsii": "^0.2.45",
|
|
51
54
|
"minimist": "^1.2.5",
|
|
52
55
|
"proxy-agent": "^5.0.0"
|
|
53
56
|
},
|
|
54
57
|
"bundledDependencies": [],
|
|
55
58
|
"main": "lib/index.js",
|
|
56
59
|
"license": "Apache-2.0",
|
|
57
|
-
"version": "0.
|
|
60
|
+
"version": "0.2.3",
|
|
58
61
|
"jest": {
|
|
59
62
|
"testMatch": [
|
|
60
63
|
"**/__tests__/**/*.ts?(x)",
|