cdk-serverless 0.1.50 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.gitattributes +21 -20
- package/README.md +2 -0
- package/lib/constructs/asset-cdn.d.ts +4 -5
- package/lib/constructs/asset-cdn.js +16 -39
- package/lib/constructs/auth.d.ts +4 -4
- package/lib/constructs/auth.js +12 -12
- package/lib/constructs/base-api.d.ts +3 -3
- package/lib/constructs/base-api.js +3 -22
- package/lib/constructs/func.d.ts +6 -9
- package/lib/constructs/func.js +8 -10
- package/lib/constructs/graphql-api.d.ts +3 -3
- package/lib/constructs/graphql-api.js +16 -16
- package/lib/constructs/http-api.d.ts +4 -4
- package/lib/constructs/http-api.js +11 -13
- package/lib/constructs/monitoring.d.ts +4 -4
- package/lib/constructs/monitoring.js +14 -33
- package/lib/constructs/scheduled-func.d.ts +4 -7
- package/lib/constructs/scheduled-func.js +6 -7
- package/lib/constructs/table.d.ts +4 -5
- package/lib/constructs/table.js +13 -14
- package/lib/constructs/webhook.d.ts +4 -4
- package/lib/constructs/webhook.js +13 -16
- package/lib/projen/core.d.ts +2 -13
- package/lib/projen/core.js +7 -30
- package/lib/projen/graphql-api.d.ts +1 -1
- package/lib/projen/graphql-api.js +2 -3
- package/lib/projen/http-api.d.ts +1 -1
- package/lib/projen/http-api.js +2 -3
- package/package.json +42 -70
|
@@ -21,9 +21,9 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
21
21
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
22
|
exports.GraphQlApi = void 0;
|
|
23
23
|
const fs = __importStar(require("fs"));
|
|
24
|
-
const appsync = __importStar(require("@aws-cdk/aws-appsync"));
|
|
25
|
-
const
|
|
26
|
-
const cdk = __importStar(require("
|
|
24
|
+
const appsync = __importStar(require("@aws-cdk/aws-appsync-alpha"));
|
|
25
|
+
const aws_cdk_lib_1 = require("aws-cdk-lib");
|
|
26
|
+
const cdk = __importStar(require("aws-cdk-lib"));
|
|
27
27
|
const base_api_1 = require("./base-api");
|
|
28
28
|
const func_1 = require("./func");
|
|
29
29
|
class GraphQlApi extends base_api_1.BaseApi {
|
|
@@ -51,50 +51,50 @@ class GraphQlApi extends base_api_1.BaseApi {
|
|
|
51
51
|
},
|
|
52
52
|
});
|
|
53
53
|
if (((_a = props.monitoring) !== null && _a !== void 0 ? _a : true) && this.monitoring) {
|
|
54
|
-
this.monitoring.apiErrorsWidget.addLeftMetric(new
|
|
54
|
+
this.monitoring.apiErrorsWidget.addLeftMetric(new aws_cdk_lib_1.aws_cloudwatch.Metric({
|
|
55
55
|
namespace: 'AWS/AppSync',
|
|
56
56
|
metricName: '5XXError',
|
|
57
|
-
|
|
57
|
+
dimensionsMap: {
|
|
58
58
|
GraphQLAPIId: this.api.apiId,
|
|
59
59
|
},
|
|
60
60
|
statistic: 'sum',
|
|
61
61
|
}));
|
|
62
|
-
this.monitoring.apiErrorsWidget.addLeftMetric(new
|
|
62
|
+
this.monitoring.apiErrorsWidget.addLeftMetric(new aws_cdk_lib_1.aws_cloudwatch.Metric({
|
|
63
63
|
namespace: 'AWS/AppSync',
|
|
64
64
|
metricName: '4XXError',
|
|
65
|
-
|
|
65
|
+
dimensionsMap: {
|
|
66
66
|
GraphQLAPIId: this.api.apiId,
|
|
67
67
|
},
|
|
68
68
|
statistic: 'sum',
|
|
69
69
|
}));
|
|
70
|
-
this.monitoring.apiLatencyWidget.addLeftMetric(new
|
|
70
|
+
this.monitoring.apiLatencyWidget.addLeftMetric(new aws_cdk_lib_1.aws_cloudwatch.Metric({
|
|
71
71
|
namespace: 'AWS/AppSync',
|
|
72
72
|
metricName: 'Latency',
|
|
73
|
-
|
|
73
|
+
dimensionsMap: {
|
|
74
74
|
GraphQLAPIId: this.api.apiId,
|
|
75
75
|
},
|
|
76
76
|
statistic: 'Average',
|
|
77
77
|
}));
|
|
78
|
-
this.monitoring.apiLatencyWidget.addLeftMetric(new
|
|
78
|
+
this.monitoring.apiLatencyWidget.addLeftMetric(new aws_cdk_lib_1.aws_cloudwatch.Metric({
|
|
79
79
|
namespace: 'AWS/AppSync',
|
|
80
80
|
metricName: 'Latency',
|
|
81
|
-
|
|
81
|
+
dimensionsMap: {
|
|
82
82
|
GraphQLAPIId: this.api.apiId,
|
|
83
83
|
},
|
|
84
84
|
statistic: 'p90',
|
|
85
85
|
}));
|
|
86
|
-
this.monitoring.apiLatencyTailWidget.addLeftMetric(new
|
|
86
|
+
this.monitoring.apiLatencyTailWidget.addLeftMetric(new aws_cdk_lib_1.aws_cloudwatch.Metric({
|
|
87
87
|
namespace: 'AWS/AppSync',
|
|
88
88
|
metricName: 'Latency',
|
|
89
|
-
|
|
89
|
+
dimensionsMap: {
|
|
90
90
|
GraphQLAPIId: this.api.apiId,
|
|
91
91
|
},
|
|
92
92
|
statistic: 'p95',
|
|
93
93
|
}));
|
|
94
|
-
this.monitoring.apiLatencyTailWidget.addLeftMetric(new
|
|
94
|
+
this.monitoring.apiLatencyTailWidget.addLeftMetric(new aws_cdk_lib_1.aws_cloudwatch.Metric({
|
|
95
95
|
namespace: 'AWS/AppSync',
|
|
96
96
|
metricName: 'Latency',
|
|
97
|
-
|
|
97
|
+
dimensionsMap: {
|
|
98
98
|
GraphQLAPIId: this.api.apiId,
|
|
99
99
|
},
|
|
100
100
|
statistic: 'p99',
|
|
@@ -214,4 +214,4 @@ export const handler = http.createAppSyncHandler<QUERYTYPE, RETURNTYPE>(async (c
|
|
|
214
214
|
}
|
|
215
215
|
}
|
|
216
216
|
exports.GraphQlApi = GraphQlApi;
|
|
217
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JhcGhxbC1hcGkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29uc3RydWN0cy9ncmFwaHFsLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsdUNBQXlCO0FBQ3pCLDhEQUFnRDtBQUNoRCxvRUFBc0Q7QUFDdEQsbURBQXFDO0FBQ3JDLHlDQUFtRDtBQUNuRCxpQ0FBd0M7QUFvQnhDLE1BQWEsVUFBVyxTQUFRLGtCQUFPO0lBT3JDLFlBQVksS0FBb0IsRUFBRSxFQUFVLEVBQVUsS0FBc0I7O1FBQzFFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBRDRCLFVBQUssR0FBTCxLQUFLLENBQWlCO1FBRnBFLGVBQVUsR0FBOEMsRUFBRSxDQUFDO1FBS2pFLElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxPQUFPLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxVQUFVLEVBQUU7WUFDbEQsSUFBSSxFQUFFLEdBQUcsS0FBSyxDQUFDLE9BQU8sS0FBSyxLQUFLLENBQUMsU0FBUyxHQUFHO1lBQzdDLFNBQVMsRUFBRTtnQkFDVCxhQUFhLEVBQUUsT0FBTyxDQUFDLGFBQWEsQ0FBQyxHQUFHO2FBQ3pDO1lBQ0QsTUFBTSxFQUFFLE9BQU8sQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLGdCQUFnQixDQUFDO1lBQ2xELEdBQUcsSUFBSSxDQUFDLGNBQWMsSUFBSTtnQkFDeEIsbUJBQW1CLEVBQUU7b0JBQ25CLDRCQUE0QixFQUFFLENBQUM7NEJBQzdCLGlCQUFpQixFQUFFLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTOzRCQUN0RCxjQUFjLEVBQUU7Z0NBQ2QsUUFBUSxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUTtnQ0FDdEMsYUFBYSxFQUFFLE9BQU8sQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJOzZCQUNsRDt5QkFDRixDQUFDO2lCQUNIO2FBQ0Y7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QUFDLFlBQVksQ0FBQyxjQUFjLENBQUMsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEVBQUUsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ3JKLHVCQUF1QixFQUFFLE9BQU8sQ0FBQyxlQUFlLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FBQyxjQUFjLENBQUMsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEVBQUUsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1NBQ3ZKLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxjQUFjLENBQUMsSUFBWSxFQUFFLE9BQW1DLEVBQUU7UUFDeEUsSUFBSSxHQUFHLEdBQUcsSUFBSSxDQUFDO1FBQ2YsS0FBSyxNQUFNLElBQUksSUFBSSxJQUFJLEVBQUU7WUFDdkIsSUFBSSxNQUFNLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxFQUFFO2dCQUNwRCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ3pCLEdBQUcsR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDLElBQUksTUFBTSxDQUFDLFFBQVEsSUFBSSxJQUFJLEVBQUUsR0FBRyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7YUFDN0Q7U0FDRjtRQUNELE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQUVPLGVBQWUsQ0FBQyxTQUFpQixFQUFFLFFBQWdCLEVBQUUsU0FBaUI7UUFDNUUsRUFBRSxDQUFDLGFBQWEsQ0FBQyxTQUFTLEVBQUU7OzhEQUU4QixRQUFRLElBQUksU0FBUztnRUFDbkIsUUFBUSxJQUFJLFNBQVM7Ozs7O0lBS2pGLEVBQUU7WUFDQSxRQUFRLEVBQUUsT0FBTztTQUNsQixDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0Y7QUE1TUQsZ0NBNE1DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgZnMgZnJvbSAnZnMnO1xuaW1wb3J0ICogYXMgYXBwc3luYyBmcm9tICdAYXdzLWNkay9hd3MtYXBwc3luYyc7XG5pbXBvcnQgKiBhcyBjbG91ZHdhdGNoIGZyb20gJ0Bhd3MtY2RrL2F3cy1jbG91ZHdhdGNoJztcbmltcG9ydCAqIGFzIGNkayBmcm9tICdAYXdzLWNkay9jb3JlJztcbmltcG9ydCB7IEJhc2VBcGksIEJhc2VBcGlQcm9wcyB9IGZyb20gJy4vYmFzZS1hcGknO1xuaW1wb3J0IHsgTGFtYmRhRnVuY3Rpb24gfSBmcm9tICcuL2Z1bmMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEdyYXBoUWxBcGlQcm9wcyBleHRlbmRzIEJhc2VBcGlQcm9wcyB7XG4gIC8vXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVnRsUmVzb2x2ZXJPcHRpb25zIHtcbiAgLyoqXG4gICAqIFRoZSBkYXRhc291cmNlIHRoZSBWVEwgcmVzb2x2ZXIgdGFyZ2V0c1xuICAgKi9cbiAgZGF0YVNvdXJjZTogYXBwc3luYy5CYXNlRGF0YVNvdXJjZTtcblxuICAvKipcbiAgICogc3RyaW5nIHJlcGxhY2VtZW50cyB0byBwcm9jZXNzIG9uIHRoZSBWVExcbiAgICpcbiAgICogQGRlZmF1bHQgbm8gdmFyaWFibGUgZXhwYW5zaW9uc1xuICAgKi9cbiAgdmFyaWFibGVzPzogeyBbbmFtZTogc3RyaW5nXTogc3RyaW5nIH07XG59XG5cbmV4cG9ydCBjbGFzcyBHcmFwaFFsQXBpIGV4dGVuZHMgQmFzZUFwaSB7XG5cbiAgcHVibGljIHJlYWRvbmx5IGFwaTogYXBwc3luYy5HcmFwaHFsQXBpO1xuICBwdWJsaWMgcmVhZG9ubHkgdGFibGVEYXRhU291cmNlPzogYXBwc3luYy5EeW5hbW9EYkRhdGFTb3VyY2U7XG5cbiAgcHJpdmF0ZSBfZnVuY3Rpb25zOiB7IFtvcGVyYXRpb25JZDogc3RyaW5nXTogTGFtYmRhRnVuY3Rpb24gfSA9IHt9O1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBjZGsuQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcml2YXRlIHByb3BzOiBHcmFwaFFsQXBpUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHByb3BzKTtcblxuICAgIHRoaXMuYXBpID0gbmV3IGFwcHN5bmMuR3JhcGhxbEFwaSh0aGlzLCAnUmVzb3VyY2UnLCB7XG4gICAgICBuYW1lOiBgJHtwcm9wcy5hcGlOYW1lfSBbJHtwcm9wcy5zdGFnZU5hbWV9XWAsXG4gICAgICBsb2dDb25maWc6IHtcbiAgICAgICAgZmllbGRMb2dMZXZlbDogYXBwc3luYy5GaWVsZExvZ0xldmVsLkFMTCxcbiAgICAgIH0sXG4gICAgICBzY2hlbWE6IGFwcHN5bmMuU2NoZW1hLmZyb21Bc3NldCgnc2NoZW1hLmdyYXBocWwnKSxcbiAgICAgIC4uLnRoaXMuYXV0aGVudGljYXRpb24gJiYge1xuICAgICAgICBhdXRob3JpemF0aW9uQ29uZmlnOiB7XG4gICAgICAgICAgYWRkaXRpb25hbEF1dGhvcml6YXRpb25Nb2RlczogW3tcbiAgICAgICAgICAgIGF1dGhvcml6YXRpb25UeXBlOiBhcHBzeW5jLkF1dGhvcml6YXRpb25UeXBlLlVTRVJfUE9PTCxcbiAgICAgICAgICAgIHVzZXJQb29sQ29uZmlnOiB7XG4gICAgICAgICAgICAgIHVzZXJQb29sOiB0aGlzLmF1dGhlbnRpY2F0aW9uLnVzZXJwb29sLFxuICAgICAgICAgICAgICBkZWZhdWx0QWN0aW9uOiBhcHBzeW5jLlVzZXJQb29sRGVmYXVsdEFjdGlvbi5ERU5ZLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9XSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICBpZiAoKHByb3BzLm1vbml0b3JpbmcgPz8gdHJ1ZSkgJiYgdGhpcy5tb25pdG9yaW5nKSB7XG4gICAgICB0aGlzLm1vbml0b3JpbmcuYXBpRXJyb3JzV2lkZ2V0LmFkZExlZnRNZXRyaWMobmV3IGNsb3Vkd2F0Y2guTWV0cmljKHtcbiAgICAgICAgbmFtZXNwYWNlOiAnQVdTL0FwcFN5bmMnLFxuICAgICAgICBtZXRyaWNOYW1lOiAnNVhYRXJyb3InLFxuICAgICAgICBkaW1lbnNpb25zOiB7XG4gICAgICAgICAgR3JhcGhRTEFQSUlkOiB0aGlzLmFwaS5hcGlJZCxcbiAgICAgICAgfSxcbiAgICAgICAgc3RhdGlzdGljOiAnc3VtJyxcbiAgICAgIH0pKTtcbiAgICAgIHRoaXMubW9uaXRvcmluZy5hcGlFcnJvcnNXaWRnZXQuYWRkTGVmdE1ldHJpYyhuZXcgY2xvdWR3YXRjaC5NZXRyaWMoe1xuICAgICAgICBuYW1lc3BhY2U6ICdBV1MvQXBwU3luYycsXG4gICAgICAgIG1ldHJpY05hbWU6ICc0WFhFcnJvcicsXG4gICAgICAgIGRpbWVuc2lvbnM6IHtcbiAgICAgICAgICBHcmFwaFFMQVBJSWQ6IHRoaXMuYXBpLmFwaUlkLFxuICAgICAgICB9LFxuICAgICAgICBzdGF0aXN0aWM6ICdzdW0nLFxuICAgICAgfSkpO1xuICAgICAgdGhpcy5tb25pdG9yaW5nLmFwaUxhdGVuY3lXaWRnZXQuYWRkTGVmdE1ldHJpYyhuZXcgY2xvdWR3YXRjaC5NZXRyaWMoe1xuICAgICAgICBuYW1lc3BhY2U6ICdBV1MvQXBwU3luYycsXG4gICAgICAgIG1ldHJpY05hbWU6ICdMYXRlbmN5JyxcbiAgICAgICAgZGltZW5zaW9uczoge1xuICAgICAgICAgIEdyYXBoUUxBUElJZDogdGhpcy5hcGkuYXBpSWQsXG4gICAgICAgIH0sXG4gICAgICAgIHN0YXRpc3RpYzogJ0F2ZXJhZ2UnLFxuICAgICAgfSkpO1xuICAgICAgdGhpcy5tb25pdG9yaW5nLmFwaUxhdGVuY3lXaWRnZXQuYWRkTGVmdE1ldHJpYyhuZXcgY2xvdWR3YXRjaC5NZXRyaWMoe1xuICAgICAgICBuYW1lc3BhY2U6ICdBV1MvQXBwU3luYycsXG4gICAgICAgIG1ldHJpY05hbWU6ICdMYXRlbmN5JyxcbiAgICAgICAgZGltZW5zaW9uczoge1xuICAgICAgICAgIEdyYXBoUUxBUElJZDogdGhpcy5hcGkuYXBpSWQsXG4gICAgICAgIH0sXG4gICAgICAgIHN0YXRpc3RpYzogJ3A5MCcsXG4gICAgICB9KSk7XG4gICAgICB0aGlzLm1vbml0b3JpbmcuYXBpTGF0ZW5jeVRhaWxXaWRnZXQuYWRkTGVmdE1ldHJpYyhuZXcgY2xvdWR3YXRjaC5NZXRyaWMoe1xuICAgICAgICBuYW1lc3BhY2U6ICdBV1MvQXBwU3luYycsXG4gICAgICAgIG1ldHJpY05hbWU6ICdMYXRlbmN5JyxcbiAgICAgICAgZGltZW5zaW9uczoge1xuICAgICAgICAgIEdyYXBoUUxBUElJZDogdGhpcy5hcGkuYXBpSWQsXG4gICAgICAgIH0sXG4gICAgICAgIHN0YXRpc3RpYzogJ3A5NScsXG4gICAgICB9KSk7XG4gICAgICB0aGlzLm1vbml0b3JpbmcuYXBpTGF0ZW5jeVRhaWxXaWRnZXQuYWRkTGVmdE1ldHJpYyhuZXcgY2xvdWR3YXRjaC5NZXRyaWMoe1xuICAgICAgICBuYW1lc3BhY2U6ICdBV1MvQXBwU3luYycsXG4gICAgICAgIG1ldHJpY05hbWU6ICdMYXRlbmN5JyxcbiAgICAgICAgZGltZW5zaW9uczoge1xuICAgICAgICAgIEdyYXBoUUxBUElJZDogdGhpcy5hcGkuYXBpSWQsXG4gICAgICAgIH0sXG4gICAgICAgIHN0YXRpc3RpYzogJ3A5OScsXG4gICAgICB9KSk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuc2luZ2xlVGFibGVEYXRhc3RvcmUpIHtcbiAgICAgIHRoaXMudGFibGVEYXRhU291cmNlID0gbmV3IGFwcHN5bmMuRHluYW1vRGJEYXRhU291cmNlKHRoaXMsICdTaW5nbGVUYWJsZVNvdXJjZScsIHtcbiAgICAgICAgYXBpOiB0aGlzLmFwaSxcbiAgICAgICAgdGFibGU6IHRoaXMuc2luZ2xlVGFibGVEYXRhc3RvcmU/LnRhYmxlLFxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIGdldEZ1bmN0aW9uRm9yT3BlcmF0aW9uXG4gICAqL1xuICBwdWJsaWMgZ2V0RnVuY3Rpb25Gb3JPcGVyYXRpb248VFlQRSBleHRlbmRzIHsgX190eXBlbmFtZT86IGFueSB9Pih0eXBlTmFtZTogVFlQRVsnX190eXBlbmFtZSddLCBmaWVsZE5hbWU6IGtleW9mIE9taXQ8VFlQRSwgJ19fdHlwZW5hbWUnPik6IExhbWJkYUZ1bmN0aW9uIHtcbiAgICByZXR1cm4gdGhpcy5fZnVuY3Rpb25zW2Ake3R5cGVOYW1lfS4ke2ZpZWxkTmFtZX1gXTtcbiAgfVxuXG4gIHB1YmxpYyBhZGRMYW1iZGFSZXNvbHZlcjxUWVBFIGV4dGVuZHMgeyBfX3R5cGVuYW1lPzogYW55IH0+KHR5cGVOYW1lOiBUWVBFWydfX3R5cGVuYW1lJ10sIGZpZWxkTmFtZToga2V5b2YgT21pdDxUWVBFLCAnX190eXBlbmFtZSc+KTogTGFtYmRhRnVuY3Rpb24ge1xuICAgIGNvbnN0IG9wZXJhdGlvbklkID0gYCR7dHlwZU5hbWV9LiR7ZmllbGROYW1lfWA7XG4gICAgY29uc3QgZGVzY3JpcHRpb24gPSBgVHlwZSAke3R5cGVOYW1lfSBGaWVsZCAke2ZpZWxkTmFtZX0gUmVzb2x2ZXJgO1xuXG4gICAgY29uc3QgZW50cnlGaWxlID0gYC4vc3JjL2xhbWJkYS8ke29wZXJhdGlvbklkfS50c2A7XG4gICAgaWYgKCFmcy5leGlzdHNTeW5jKGVudHJ5RmlsZSkpIHtcbiAgICAgIHRoaXMuY3JlYXRlRW50cnlGaWxlKGVudHJ5RmlsZSwgdHlwZU5hbWUsIGZpZWxkTmFtZSBhcyBzdHJpbmcpO1xuICAgIH1cblxuICAgIGNvbnN0IGZuID0gbmV3IExhbWJkYUZ1bmN0aW9uKHRoaXMsIGBGbiR7b3BlcmF0aW9uSWR9YCwge1xuICAgICAgc3RhZ2VOYW1lOiB0aGlzLnByb3BzLnN0YWdlTmFtZSxcbiAgICAgIGFkZGl0aW9uYWxFbnY6IHRoaXMucHJvcHMuYWRkaXRpb25hbEVudixcbiAgICAgIGVudHJ5OiBlbnRyeUZpbGUsXG4gICAgICBkZXNjcmlwdGlvbjogYFske3RoaXMucHJvcHMuc3RhZ2VOYW1lfV0gJHtkZXNjcmlwdGlvbn1gLFxuICAgICAgLi4udGhpcy5hdXRoZW50aWNhdGlvbiAmJiB7XG4gICAgICAgIHVzZXJQb29sOiB0aGlzLmF1dGhlbnRpY2F0aW9uPy51c2VycG9vbCxcbiAgICAgIH0sXG4gICAgICAuLi50aGlzLnNpbmdsZVRhYmxlRGF0YXN0b3JlICYmIHtcbiAgICAgICAgdGFibGU6IHRoaXMuc2luZ2xlVGFibGVEYXRhc3RvcmUudGFibGUsXG4gICAgICAgIHRhYmxlV3JpdGVzOiB0eXBlTmFtZSA9PT0gJ011dGF0aW9uJyxcbiAgICAgIH0sXG4gICAgICAuLi50aGlzLmFzc2V0Q2RuICYmIHtcbiAgICAgICAgYXNzZXREb21haW5OYW1lOiB0aGlzLmFzc2V0Q2RuLmFzc2V0RG9tYWluTmFtZSxcbiAgICAgICAgYXNzZXRCdWNrZXQ6IHRoaXMuYXNzZXRDZG4uYXNzZXRCdWNrZXQsXG4gICAgICB9LFxuICAgICAgbGFtYmRhT3B0aW9uczogdGhpcy5wcm9wcy5sYW1iZGFPcHRpb25zLFxuICAgICAgbGFtYmRhVHJhY2luZzogdGhpcy5wcm9wcy5sYW1iZGFUcmFjaW5nLFxuICAgIH0pO1xuICAgIHRoaXMuX2Z1bmN0aW9uc1tvcGVyYXRpb25JZF0gPSBmbjtcbiAgICBjZGsuVGFncy5vZihmbikuYWRkKCdHcmFwaFFMJywgZGVzY3JpcHRpb24pO1xuXG4gICAgaWYgKHRoaXMubW9uaXRvcmluZykge1xuICAgICAgdGhpcy5tb25pdG9yaW5nLmxhbWJkYUR1cmF0aW9uc1dpZGdldC5hZGRMZWZ0TWV0cmljKGZuLm1ldHJpY0R1cmF0aW9uKCkpO1xuICAgICAgdGhpcy5tb25pdG9yaW5nLmxhbWJkYUludm9rZXNXaWRnZXQuYWRkTGVmdE1ldHJpYyhmbi5tZXRyaWNJbnZvY2F0aW9ucygpKTtcbiAgICAgIHRoaXMubW9uaXRvcmluZy5sYW1iZGFFcnJvcnNXaWRnZXQuYWRkTGVmdE1ldHJpYyhmbi5tZXRyaWNFcnJvcnMoKSk7XG4gICAgICB0aGlzLm1vbml0b3JpbmcubGFtYmRhRXJyb3JzV2lkZ2V0LmFkZExlZnRNZXRyaWMoZm4ubWV0cmljVGhyb3R0bGVzKCkpO1xuICAgIH1cblxuICAgIGNvbnN0IGRhdGFTb3VyY2UgPSBuZXcgYXBwc3luYy5MYW1iZGFEYXRhU291cmNlKHRoaXMsIGBMYW1iZGFEUyR7b3BlcmF0aW9uSWR9YCwge1xuICAgICAgYXBpOiB0aGlzLmFwaSxcbiAgICAgIG5hbWU6IGBMYW1iZGFfJHt0eXBlTmFtZX1fJHtmaWVsZE5hbWV9YCxcbiAgICAgIGxhbWJkYUZ1bmN0aW9uOiBmbixcbiAgICB9KTtcblxuICAgIG5ldyBhcHBzeW5jLlJlc29sdmVyKHRoaXMsIGBSZXNvbHZlciR7b3BlcmF0aW9uSWR9YCwge1xuICAgICAgYXBpOiB0aGlzLmFwaSxcbiAgICAgIHR5cGVOYW1lLFxuICAgICAgZmllbGROYW1lOiBmaWVsZE5hbWUgYXMgc3RyaW5nLFxuICAgICAgZGF0YVNvdXJjZSxcbiAgICB9KTtcbiAgICByZXR1cm4gZm47XG4gIH1cblxuICBwdWJsaWMgYWRkRHluYW1vRGJWdGxSZXNvbHZlcjxUWVBFIGV4dGVuZHMgeyBfX3R5cGVuYW1lPzogYW55IH0+KHR5cGVOYW1lOiBUWVBFWydfX3R5cGVuYW1lJ10sIGZpZWxkTmFtZToga2V5b2YgT21pdDxUWVBFLCAnX190eXBlbmFtZSc+LCBvcHRpb25zPzogT21pdDxWdGxSZXNvbHZlck9wdGlvbnMsICdkYXRhU291cmNlJz4pOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMudGFibGVEYXRhU291cmNlKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0R5bmFtb0RCIGlzIG5vdCBpbml0aWFsaXplZCcpO1xuICAgIH1cbiAgICB0aGlzLmFkZFZ0bFJlc29sdmVyKHR5cGVOYW1lLCBmaWVsZE5hbWUsIHtcbiAgICAgIGRhdGFTb3VyY2U6IHRoaXMudGFibGVEYXRhU291cmNlLFxuICAgICAgLi4ub3B0aW9ucyxcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBhZGRWdGxSZXNvbHZlcjxUWVBFIGV4dGVuZHMgeyBfX3R5cGVuYW1lPzogYW55IH0+KHR5cGVOYW1lOiBUWVBFWydfX3R5cGVuYW1lJ10sIGZpZWxkTmFtZToga2V5b2YgT21pdDxUWVBFLCAnX190eXBlbmFtZSc+LCBvcHRpb25zOiBWdGxSZXNvbHZlck9wdGlvbnMpOiB2b2lkIHtcbiAgICBjb25zdCBvcGVyYXRpb25JZCA9IGAke3R5cGVOYW1lfS4ke2ZpZWxkTmFtZX1gO1xuXG4gICAgY29uc3QgbWFwcGluZ1JlcUZpbGUgPSBgLi9zcmMvdnRsLyR7b3BlcmF0aW9uSWR9LnJlcS52dGxgO1xuICAgIGlmICghZnMuZXhpc3RzU3luYyhtYXBwaW5nUmVxRmlsZSkpIHtcbiAgICAgIGZzLndyaXRlRmlsZVN5bmMobWFwcGluZ1JlcUZpbGUsICcjIyBSZXF1ZXN0IG1hcHBpbmcnLCB7IGVuY29kaW5nOiAndXRmLTgnIH0pO1xuICAgIH1cbiAgICBjb25zdCBtYXBwaW5nUmVzRmlsZSA9IGAuL3NyYy92dGwvJHtvcGVyYXRpb25JZH0ucmVzLnZ0bGA7XG4gICAgaWYgKCFmcy5leGlzdHNTeW5jKG1hcHBpbmdSZXNGaWxlKSkge1xuICAgICAgZnMud3JpdGVGaWxlU3luYyhtYXBwaW5nUmVzRmlsZSwgJyR1dGlsLnRvSnNvbigkY3R4LnJlc3VsdCknLCB7IGVuY29kaW5nOiAndXRmLTgnIH0pO1xuICAgIH1cblxuICAgIG5ldyBhcHBzeW5jLlJlc29sdmVyKHRoaXMsIGBSZXNvbHZlciR7b3BlcmF0aW9uSWR9YCwge1xuICAgICAgYXBpOiB0aGlzLmFwaSxcbiAgICAgIHR5cGVOYW1lLFxuICAgICAgZmllbGROYW1lOiBmaWVsZE5hbWUgYXMgc3RyaW5nLFxuICAgICAgZGF0YVNvdXJjZTogb3B0aW9ucy5kYXRhU291cmNlLFxuICAgICAgcmVxdWVzdE1hcHBpbmdUZW1wbGF0ZTogYXBwc3luYy5NYXBwaW5nVGVtcGxhdGUuZnJvbVN0cmluZyh0aGlzLnN1YnN0VmFyaWFibGVzKGZzLnJlYWRGaWxlU3luYyhtYXBwaW5nUmVxRmlsZSkudG9TdHJpbmcoJ3V0Zi04JyksIG9wdGlvbnMudmFyaWFibGVzKSksXG4gICAgICByZXNwb25zZU1hcHBpbmdUZW1wbGF0ZTogYXBwc3luYy5NYXBwaW5nVGVtcGxhdGUuZnJvbVN0cmluZyh0aGlzLnN1YnN0VmFyaWFibGVzKGZzLnJlYWRGaWxlU3luYyhtYXBwaW5nUmVzRmlsZSkudG9TdHJpbmcoJ3V0Zi04JyksIG9wdGlvbnMudmFyaWFibGVzKSksXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHN1YnN0VmFyaWFibGVzKGRhdGE6IHN0cmluZywgdmFyczogeyBbbmFtZTogc3RyaW5nXTogc3RyaW5nIH0gPSB7fSk6IHN0cmluZyB7XG4gICAgbGV0IHJlcyA9IGRhdGE7XG4gICAgZm9yIChjb25zdCBuYW1lIGluIHZhcnMpIHtcbiAgICAgIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodmFycywgbmFtZSkpIHtcbiAgICAgICAgY29uc3QgdmFsdWUgPSB2YXJzW25hbWVdO1xuICAgICAgICByZXMgPSByZXMucmVwbGFjZShuZXcgUmVnRXhwKGBcXFxcJFxceyR7bmFtZX1cXH1gLCAnZycpLCB2YWx1ZSk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiByZXM7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZUVudHJ5RmlsZShlbnRyeUZpbGU6IHN0cmluZywgdHlwZU5hbWU6IHN0cmluZywgZmllbGROYW1lOiBzdHJpbmcpIHtcbiAgICBmcy53cml0ZUZpbGVTeW5jKGVudHJ5RmlsZSwgYGltcG9ydCB7IGh0dHAgfSBmcm9tICdAdGFpbW9zL2xhbWJkYS10b29sYm94JztcblxuLy8gVE9ETzogUmVwbGFjZSBRVUVSWVRZUEUgd2l0aCB0aGUgaW5wdXQgdHlwZSBvZiB0aGUgZmllbGQgJHt0eXBlTmFtZX0uJHtmaWVsZE5hbWV9XG4vLyBUT0RPOiBSZXBsYWNlIFJFVFVSTlRZUEUgd2l0aCB0aGUgcmV0dXJuIHR5cGUgb2YgdGhlIGZpZWxkICR7dHlwZU5hbWV9LiR7ZmllbGROYW1lfVxuXG5leHBvcnQgY29uc3QgaGFuZGxlciA9IGh0dHAuY3JlYXRlQXBwU3luY0hhbmRsZXI8UVVFUllUWVBFLCBSRVRVUk5UWVBFPihhc3luYyAoY3R4KSA9PiB7XG4gIGN0eC5sb2dnZXIuaW5mbyhjdHguZXZlbnQpO1xuICB0aHJvdyBuZXcgRXJyb3IoJ05vdCB5ZXQgaW1wbGVtZW50ZWQnKTtcbn0pO2AsIHtcbiAgICAgIGVuY29kaW5nOiAndXRmLTgnLFxuICAgIH0pO1xuICB9XG59Il19
|
|
217
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JhcGhxbC1hcGkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29uc3RydWN0cy9ncmFwaHFsLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsdUNBQXlCO0FBQ3pCLG9FQUFzRDtBQUN0RCw2Q0FBMkQ7QUFDM0QsaURBQW1DO0FBRW5DLHlDQUFtRDtBQUNuRCxpQ0FBd0M7QUFvQnhDLE1BQWEsVUFBVyxTQUFRLGtCQUFPO0lBT3JDLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQVUsS0FBc0I7O1FBQ3RFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBRHdCLFVBQUssR0FBTCxLQUFLLENBQWlCO1FBRmhFLGVBQVUsR0FBOEMsRUFBRSxDQUFDO1FBS2pFLElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxPQUFPLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxVQUFVLEVBQUU7WUFDbEQsSUFBSSxFQUFFLEdBQUcsS0FBSyxDQUFDLE9BQU8sS0FBSyxLQUFLLENBQUMsU0FBUyxHQUFHO1lBQzdDLFNBQVMsRUFBRTtnQkFDVCxhQUFhLEVBQUUsT0FBTyxDQUFDLGFBQWEsQ0FBQyxHQUFHO2FBQ3pDO1lBQ0QsTUFBTSxFQUFFLE9BQU8sQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLGdCQUFnQixDQUFDO1lBQ2xELEdBQUcsSUFBSSxDQUFDLGNBQWMsSUFBSTtnQkFDeEIsbUJBQW1CLEVBQUU7b0JBQ25CLDRCQUE0QixFQUFFLENBQUM7NEJBQzdCLGlCQUFpQixFQUFFLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTOzRCQUN0RCxjQUFjLEVBQUU7Z0NBQ2QsUUFBUSxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUTtnQ0FDdEMsYUFBYSxFQUFFLE9BQU8sQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJOzZCQUNsRDt5QkFDRixDQUFDO2lCQUNIO2FBQ0Y7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YyBmcm9tICdAYXdzLWNkay9hd3MtYXBwc3luYy1hbHBoYSc7XG5pbXBvcnQgeyBhd3NfY2xvdWR3YXRjaCBhcyBjbG91ZHdhdGNoIH0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0ICogYXMgY2RrIGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgQmFzZUFwaSwgQmFzZUFwaVByb3BzIH0gZnJvbSAnLi9iYXNlLWFwaSc7XG5pbXBvcnQgeyBMYW1iZGFGdW5jdGlvbiB9IGZyb20gJy4vZnVuYyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgR3JhcGhRbEFwaVByb3BzIGV4dGVuZHMgQmFzZUFwaVByb3BzIHtcbiAgLy9cbn1cblxuZXhwb3J0IGludGVyZmFjZSBWdGxSZXNvbHZlck9wdGlvbnMge1xuICAvKipcbiAgICogVGhlIGRhdGFzb3VyY2UgdGhlIFZUTCByZXNvbHZlciB0YXJnZXRzXG4gICAqL1xuICBkYXRhU291cmNlOiBhcHBzeW5jLkJhc2VEYXRhU291cmNlO1xuXG4gIC8qKlxuICAgKiBzdHJpbmcgcmVwbGFjZW1lbnRzIHRvIHByb2Nlc3Mgb24gdGhlIFZUTFxuICAgKlxuICAgKiBAZGVmYXVsdCBubyB2YXJpYWJsZSBleHBhbnNpb25zXG4gICAqL1xuICB2YXJpYWJsZXM/OiB7IFtuYW1lOiBzdHJpbmddOiBzdHJpbmcgfTtcbn1cblxuZXhwb3J0IGNsYXNzIEdyYXBoUWxBcGkgZXh0ZW5kcyBCYXNlQXBpIHtcblxuICBwdWJsaWMgcmVhZG9ubHkgYXBpOiBhcHBzeW5jLkdyYXBocWxBcGk7XG4gIHB1YmxpYyByZWFkb25seSB0YWJsZURhdGFTb3VyY2U/OiBhcHBzeW5jLkR5bmFtb0RiRGF0YVNvdXJjZTtcblxuICBwcml2YXRlIF9mdW5jdGlvbnM6IHsgW29wZXJhdGlvbklkOiBzdHJpbmddOiBMYW1iZGFGdW5jdGlvbiB9ID0ge307XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJpdmF0ZSBwcm9wczogR3JhcGhRbEFwaVByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCBwcm9wcyk7XG5cbiAgICB0aGlzLmFwaSA9IG5ldyBhcHBzeW5jLkdyYXBocWxBcGkodGhpcywgJ1Jlc291cmNlJywge1xuICAgICAgbmFtZTogYCR7cHJvcHMuYXBpTmFtZX0gWyR7cHJvcHMuc3RhZ2VOYW1lfV1gLFxuICAgICAgbG9nQ29uZmlnOiB7XG4gICAgICAgIGZpZWxkTG9nTGV2ZWw6IGFwcHN5bmMuRmllbGRMb2dMZXZlbC5BTEwsXG4gICAgICB9LFxuICAgICAgc2NoZW1hOiBhcHBzeW5jLlNjaGVtYS5mcm9tQXNzZXQoJ3NjaGVtYS5ncmFwaHFsJyksXG4gICAgICAuLi50aGlzLmF1dGhlbnRpY2F0aW9uICYmIHtcbiAgICAgICAgYXV0aG9yaXphdGlvbkNvbmZpZzoge1xuICAgICAgICAgIGFkZGl0aW9uYWxBdXRob3JpemF0aW9uTW9kZXM6IFt7XG4gICAgICAgICAgICBhdXRob3JpemF0aW9uVHlwZTogYXBwc3luYy5BdXRob3JpemF0aW9uVHlwZS5VU0VSX1BPT0wsXG4gICAgICAgICAgICB1c2VyUG9vbENvbmZpZzoge1xuICAgICAgICAgICAgICB1c2VyUG9vbDogdGhpcy5hdXRoZW50aWNhdGlvbi51c2VycG9vbCxcbiAgICAgICAgICAgICAgZGVmYXVsdEFjdGlvbjogYXBwc3luYy5Vc2VyUG9vbERlZmF1bHRBY3Rpb24uREVOWSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfV0sXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgaWYgKChwcm9wcy5tb25pdG9yaW5nID8/IHRydWUpICYmIHRoaXMubW9uaXRvcmluZykge1xuICAgICAgdGhpcy5tb25pdG9yaW5nLmFwaUVycm9yc1dpZGdldC5hZGRMZWZ0TWV0cmljKG5ldyBjbG91ZHdhdGNoLk1ldHJpYyh7XG4gICAgICAgIG5hbWVzcGFjZTogJ0FXUy9BcHBTeW5jJyxcbiAgICAgICAgbWV0cmljTmFtZTogJzVYWEVycm9yJyxcbiAgICAgICAgZGltZW5zaW9uc01hcDoge1xuICAgICAgICAgIEdyYXBoUUxBUElJZDogdGhpcy5hcGkuYXBpSWQsXG4gICAgICAgIH0sXG4gICAgICAgIHN0YXRpc3RpYzogJ3N1bScsXG4gICAgICB9KSk7XG4gICAgICB0aGlzLm1vbml0b3JpbmcuYXBpRXJyb3JzV2lkZ2V0LmFkZExlZnRNZXRyaWMobmV3IGNsb3Vkd2F0Y2guTWV0cmljKHtcbiAgICAgICAgbmFtZXNwYWNlOiAnQVdTL0FwcFN5bmMnLFxuICAgICAgICBtZXRyaWNOYW1lOiAnNFhYRXJyb3InLFxuICAgICAgICBkaW1lbnNpb25zTWFwOiB7XG4gICAgICAgICAgR3JhcGhRTEFQSUlkOiB0aGlzLmFwaS5hcGlJZCxcbiAgICAgICAgfSxcbiAgICAgICAgc3RhdGlzdGljOiAnc3VtJyxcbiAgICAgIH0pKTtcbiAgICAgIHRoaXMubW9uaXRvcmluZy5hcGlMYXRlbmN5V2lkZ2V0LmFkZExlZnRNZXRyaWMobmV3IGNsb3Vkd2F0Y2guTWV0cmljKHtcbiAgICAgICAgbmFtZXNwYWNlOiAnQVdTL0FwcFN5bmMnLFxuICAgICAgICBtZXRyaWNOYW1lOiAnTGF0ZW5jeScsXG4gICAgICAgIGRpbWVuc2lvbnNNYXA6IHtcbiAgICAgICAgICBHcmFwaFFMQVBJSWQ6IHRoaXMuYXBpLmFwaUlkLFxuICAgICAgICB9LFxuICAgICAgICBzdGF0aXN0aWM6ICdBdmVyYWdlJyxcbiAgICAgIH0pKTtcbiAgICAgIHRoaXMubW9uaXRvcmluZy5hcGlMYXRlbmN5V2lkZ2V0LmFkZExlZnRNZXRyaWMobmV3IGNsb3Vkd2F0Y2guTWV0cmljKHtcbiAgICAgICAgbmFtZXNwYWNlOiAnQVdTL0FwcFN5bmMnLFxuICAgICAgICBtZXRyaWNOYW1lOiAnTGF0ZW5jeScsXG4gICAgICAgIGRpbWVuc2lvbnNNYXA6IHtcbiAgICAgICAgICBHcmFwaFFMQVBJSWQ6IHRoaXMuYXBpLmFwaUlkLFxuICAgICAgICB9LFxuICAgICAgICBzdGF0aXN0aWM6ICdwOTAnLFxuICAgICAgfSkpO1xuICAgICAgdGhpcy5tb25pdG9yaW5nLmFwaUxhdGVuY3lUYWlsV2lkZ2V0LmFkZExlZnRNZXRyaWMobmV3IGNsb3Vkd2F0Y2guTWV0cmljKHtcbiAgICAgICAgbmFtZXNwYWNlOiAnQVdTL0FwcFN5bmMnLFxuICAgICAgICBtZXRyaWNOYW1lOiAnTGF0ZW5jeScsXG4gICAgICAgIGRpbWVuc2lvbnNNYXA6IHtcbiAgICAgICAgICBHcmFwaFFMQVBJSWQ6IHRoaXMuYXBpLmFwaUlkLFxuICAgICAgICB9LFxuICAgICAgICBzdGF0aXN0aWM6ICdwOTUnLFxuICAgICAgfSkpO1xuICAgICAgdGhpcy5tb25pdG9yaW5nLmFwaUxhdGVuY3lUYWlsV2lkZ2V0LmFkZExlZnRNZXRyaWMobmV3IGNsb3Vkd2F0Y2guTWV0cmljKHtcbiAgICAgICAgbmFtZXNwYWNlOiAnQVdTL0FwcFN5bmMnLFxuICAgICAgICBtZXRyaWNOYW1lOiAnTGF0ZW5jeScsXG4gICAgICAgIGRpbWVuc2lvbnNNYXA6IHtcbiAgICAgICAgICBHcmFwaFFMQVBJSWQ6IHRoaXMuYXBpLmFwaUlkLFxuICAgICAgICB9LFxuICAgICAgICBzdGF0aXN0aWM6ICdwOTknLFxuICAgICAgfSkpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnNpbmdsZVRhYmxlRGF0YXN0b3JlKSB7XG4gICAgICB0aGlzLnRhYmxlRGF0YVNvdXJjZSA9IG5ldyBhcHBzeW5jLkR5bmFtb0RiRGF0YVNvdXJjZSh0aGlzLCAnU2luZ2xlVGFibGVTb3VyY2UnLCB7XG4gICAgICAgIGFwaTogdGhpcy5hcGksXG4gICAgICAgIHRhYmxlOiB0aGlzLnNpbmdsZVRhYmxlRGF0YXN0b3JlPy50YWJsZSxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBnZXRGdW5jdGlvbkZvck9wZXJhdGlvblxuICAgKi9cbiAgcHVibGljIGdldEZ1bmN0aW9uRm9yT3BlcmF0aW9uPFRZUEUgZXh0ZW5kcyB7IF9fdHlwZW5hbWU/OiBhbnkgfT4odHlwZU5hbWU6IFRZUEVbJ19fdHlwZW5hbWUnXSwgZmllbGROYW1lOiBrZXlvZiBPbWl0PFRZUEUsICdfX3R5cGVuYW1lJz4pOiBMYW1iZGFGdW5jdGlvbiB7XG4gICAgcmV0dXJuIHRoaXMuX2Z1bmN0aW9uc1tgJHt0eXBlTmFtZX0uJHtmaWVsZE5hbWV9YF07XG4gIH1cblxuICBwdWJsaWMgYWRkTGFtYmRhUmVzb2x2ZXI8VFlQRSBleHRlbmRzIHsgX190eXBlbmFtZT86IGFueSB9Pih0eXBlTmFtZTogVFlQRVsnX190eXBlbmFtZSddLCBmaWVsZE5hbWU6IGtleW9mIE9taXQ8VFlQRSwgJ19fdHlwZW5hbWUnPik6IExhbWJkYUZ1bmN0aW9uIHtcbiAgICBjb25zdCBvcGVyYXRpb25JZCA9IGAke3R5cGVOYW1lfS4ke2ZpZWxkTmFtZX1gO1xuICAgIGNvbnN0IGRlc2NyaXB0aW9uID0gYFR5cGUgJHt0eXBlTmFtZX0gRmllbGQgJHtmaWVsZE5hbWV9IFJlc29sdmVyYDtcblxuICAgIGNvbnN0IGVudHJ5RmlsZSA9IGAuL3NyYy9sYW1iZGEvJHtvcGVyYXRpb25JZH0udHNgO1xuICAgIGlmICghZnMuZXhpc3RzU3luYyhlbnRyeUZpbGUpKSB7XG4gICAgICB0aGlzLmNyZWF0ZUVudHJ5RmlsZShlbnRyeUZpbGUsIHR5cGVOYW1lLCBmaWVsZE5hbWUgYXMgc3RyaW5nKTtcbiAgICB9XG5cbiAgICBjb25zdCBmbiA9IG5ldyBMYW1iZGFGdW5jdGlvbih0aGlzLCBgRm4ke29wZXJhdGlvbklkfWAsIHtcbiAgICAgIHN0YWdlTmFtZTogdGhpcy5wcm9wcy5zdGFnZU5hbWUsXG4gICAgICBhZGRpdGlvbmFsRW52OiB0aGlzLnByb3BzLmFkZGl0aW9uYWxFbnYsXG4gICAgICBlbnRyeTogZW50cnlGaWxlLFxuICAgICAgZGVzY3JpcHRpb246IGBbJHt0aGlzLnByb3BzLnN0YWdlTmFtZX1dICR7ZGVzY3JpcHRpb259YCxcbiAgICAgIC4uLnRoaXMuYXV0aGVudGljYXRpb24gJiYge1xuICAgICAgICB1c2VyUG9vbDogdGhpcy5hdXRoZW50aWNhdGlvbj8udXNlcnBvb2wsXG4gICAgICB9LFxuICAgICAgLi4udGhpcy5zaW5nbGVUYWJsZURhdGFzdG9yZSAmJiB7XG4gICAgICAgIHRhYmxlOiB0aGlzLnNpbmdsZVRhYmxlRGF0YXN0b3JlLnRhYmxlLFxuICAgICAgICB0YWJsZVdyaXRlczogdHlwZU5hbWUgPT09ICdNdXRhdGlvbicsXG4gICAgICB9LFxuICAgICAgLi4udGhpcy5hc3NldENkbiAmJiB7XG4gICAgICAgIGFzc2V0RG9tYWluTmFtZTogdGhpcy5hc3NldENkbi5hc3NldERvbWFpbk5hbWUsXG4gICAgICAgIGFzc2V0QnVja2V0OiB0aGlzLmFzc2V0Q2RuLmFzc2V0QnVja2V0LFxuICAgICAgfSxcbiAgICAgIGxhbWJkYU9wdGlvbnM6IHRoaXMucHJvcHMubGFtYmRhT3B0aW9ucyxcbiAgICAgIGxhbWJkYVRyYWNpbmc6IHRoaXMucHJvcHMubGFtYmRhVHJhY2luZyxcbiAgICB9KTtcbiAgICB0aGlzLl9mdW5jdGlvbnNbb3BlcmF0aW9uSWRdID0gZm47XG4gICAgY2RrLlRhZ3Mub2YoZm4pLmFkZCgnR3JhcGhRTCcsIGRlc2NyaXB0aW9uKTtcblxuICAgIGlmICh0aGlzLm1vbml0b3JpbmcpIHtcbiAgICAgIHRoaXMubW9uaXRvcmluZy5sYW1iZGFEdXJhdGlvbnNXaWRnZXQuYWRkTGVmdE1ldHJpYyhmbi5tZXRyaWNEdXJhdGlvbigpKTtcbiAgICAgIHRoaXMubW9uaXRvcmluZy5sYW1iZGFJbnZva2VzV2lkZ2V0LmFkZExlZnRNZXRyaWMoZm4ubWV0cmljSW52b2NhdGlvbnMoKSk7XG4gICAgICB0aGlzLm1vbml0b3JpbmcubGFtYmRhRXJyb3JzV2lkZ2V0LmFkZExlZnRNZXRyaWMoZm4ubWV0cmljRXJyb3JzKCkpO1xuICAgICAgdGhpcy5tb25pdG9yaW5nLmxhbWJkYUVycm9yc1dpZGdldC5hZGRMZWZ0TWV0cmljKGZuLm1ldHJpY1Rocm90dGxlcygpKTtcbiAgICB9XG5cbiAgICBjb25zdCBkYXRhU291cmNlID0gbmV3IGFwcHN5bmMuTGFtYmRhRGF0YVNvdXJjZSh0aGlzLCBgTGFtYmRhRFMke29wZXJhdGlvbklkfWAsIHtcbiAgICAgIGFwaTogdGhpcy5hcGksXG4gICAgICBuYW1lOiBgTGFtYmRhXyR7dHlwZU5hbWV9XyR7ZmllbGROYW1lfWAsXG4gICAgICBsYW1iZGFGdW5jdGlvbjogZm4sXG4gICAgfSk7XG5cbiAgICBuZXcgYXBwc3luYy5SZXNvbHZlcih0aGlzLCBgUmVzb2x2ZXIke29wZXJhdGlvbklkfWAsIHtcbiAgICAgIGFwaTogdGhpcy5hcGksXG4gICAgICB0eXBlTmFtZSxcbiAgICAgIGZpZWxkTmFtZTogZmllbGROYW1lIGFzIHN0cmluZyxcbiAgICAgIGRhdGFTb3VyY2UsXG4gICAgfSk7XG4gICAgcmV0dXJuIGZuO1xuICB9XG5cbiAgcHVibGljIGFkZER5bmFtb0RiVnRsUmVzb2x2ZXI8VFlQRSBleHRlbmRzIHsgX190eXBlbmFtZT86IGFueSB9Pih0eXBlTmFtZTogVFlQRVsnX190eXBlbmFtZSddLCBmaWVsZE5hbWU6IGtleW9mIE9taXQ8VFlQRSwgJ19fdHlwZW5hbWUnPiwgb3B0aW9ucz86IE9taXQ8VnRsUmVzb2x2ZXJPcHRpb25zLCAnZGF0YVNvdXJjZSc+KTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLnRhYmxlRGF0YVNvdXJjZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdEeW5hbW9EQiBpcyBub3QgaW5pdGlhbGl6ZWQnKTtcbiAgICB9XG4gICAgdGhpcy5hZGRWdGxSZXNvbHZlcih0eXBlTmFtZSwgZmllbGROYW1lLCB7XG4gICAgICBkYXRhU291cmNlOiB0aGlzLnRhYmxlRGF0YVNvdXJjZSxcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgYWRkVnRsUmVzb2x2ZXI8VFlQRSBleHRlbmRzIHsgX190eXBlbmFtZT86IGFueSB9Pih0eXBlTmFtZTogVFlQRVsnX190eXBlbmFtZSddLCBmaWVsZE5hbWU6IGtleW9mIE9taXQ8VFlQRSwgJ19fdHlwZW5hbWUnPiwgb3B0aW9uczogVnRsUmVzb2x2ZXJPcHRpb25zKTogdm9pZCB7XG4gICAgY29uc3Qgb3BlcmF0aW9uSWQgPSBgJHt0eXBlTmFtZX0uJHtmaWVsZE5hbWV9YDtcblxuICAgIGNvbnN0IG1hcHBpbmdSZXFGaWxlID0gYC4vc3JjL3Z0bC8ke29wZXJhdGlvbklkfS5yZXEudnRsYDtcbiAgICBpZiAoIWZzLmV4aXN0c1N5bmMobWFwcGluZ1JlcUZpbGUpKSB7XG4gICAgICBmcy53cml0ZUZpbGVTeW5jKG1hcHBpbmdSZXFGaWxlLCAnIyMgUmVxdWVzdCBtYXBwaW5nJywgeyBlbmNvZGluZzogJ3V0Zi04JyB9KTtcbiAgICB9XG4gICAgY29uc3QgbWFwcGluZ1Jlc0ZpbGUgPSBgLi9zcmMvdnRsLyR7b3BlcmF0aW9uSWR9LnJlcy52dGxgO1xuICAgIGlmICghZnMuZXhpc3RzU3luYyhtYXBwaW5nUmVzRmlsZSkpIHtcbiAgICAgIGZzLndyaXRlRmlsZVN5bmMobWFwcGluZ1Jlc0ZpbGUsICckdXRpbC50b0pzb24oJGN0eC5yZXN1bHQpJywgeyBlbmNvZGluZzogJ3V0Zi04JyB9KTtcbiAgICB9XG5cbiAgICBuZXcgYXBwc3luYy5SZXNvbHZlcih0aGlzLCBgUmVzb2x2ZXIke29wZXJhdGlvbklkfWAsIHtcbiAgICAgIGFwaTogdGhpcy5hcGksXG4gICAgICB0eXBlTmFtZSxcbiAgICAgIGZpZWxkTmFtZTogZmllbGROYW1lIGFzIHN0cmluZyxcbiAgICAgIGRhdGFTb3VyY2U6IG9wdGlvbnMuZGF0YVNvdXJjZSxcbiAgICAgIHJlcXVlc3RNYXBwaW5nVGVtcGxhdGU6IGFwcHN5bmMuTWFwcGluZ1RlbXBsYXRlLmZyb21TdHJpbmcodGhpcy5zdWJzdFZhcmlhYmxlcyhmcy5yZWFkRmlsZVN5bmMobWFwcGluZ1JlcUZpbGUpLnRvU3RyaW5nKCd1dGYtOCcpLCBvcHRpb25zLnZhcmlhYmxlcykpLFxuICAgICAgcmVzcG9uc2VNYXBwaW5nVGVtcGxhdGU6IGFwcHN5bmMuTWFwcGluZ1RlbXBsYXRlLmZyb21TdHJpbmcodGhpcy5zdWJzdFZhcmlhYmxlcyhmcy5yZWFkRmlsZVN5bmMobWFwcGluZ1Jlc0ZpbGUpLnRvU3RyaW5nKCd1dGYtOCcpLCBvcHRpb25zLnZhcmlhYmxlcykpLFxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBzdWJzdFZhcmlhYmxlcyhkYXRhOiBzdHJpbmcsIHZhcnM6IHsgW25hbWU6IHN0cmluZ106IHN0cmluZyB9ID0ge30pOiBzdHJpbmcge1xuICAgIGxldCByZXMgPSBkYXRhO1xuICAgIGZvciAoY29uc3QgbmFtZSBpbiB2YXJzKSB7XG4gICAgICBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHZhcnMsIG5hbWUpKSB7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gdmFyc1tuYW1lXTtcbiAgICAgICAgcmVzID0gcmVzLnJlcGxhY2UobmV3IFJlZ0V4cChgXFxcXCRcXHske25hbWV9XFx9YCwgJ2cnKSwgdmFsdWUpO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gcmVzO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVFbnRyeUZpbGUoZW50cnlGaWxlOiBzdHJpbmcsIHR5cGVOYW1lOiBzdHJpbmcsIGZpZWxkTmFtZTogc3RyaW5nKSB7XG4gICAgZnMud3JpdGVGaWxlU3luYyhlbnRyeUZpbGUsIGBpbXBvcnQgeyBodHRwIH0gZnJvbSAnQHRhaW1vcy9sYW1iZGEtdG9vbGJveCc7XG5cbi8vIFRPRE86IFJlcGxhY2UgUVVFUllUWVBFIHdpdGggdGhlIGlucHV0IHR5cGUgb2YgdGhlIGZpZWxkICR7dHlwZU5hbWV9LiR7ZmllbGROYW1lfVxuLy8gVE9ETzogUmVwbGFjZSBSRVRVUk5UWVBFIHdpdGggdGhlIHJldHVybiB0eXBlIG9mIHRoZSBmaWVsZCAke3R5cGVOYW1lfS4ke2ZpZWxkTmFtZX1cblxuZXhwb3J0IGNvbnN0IGhhbmRsZXIgPSBodHRwLmNyZWF0ZUFwcFN5bmNIYW5kbGVyPFFVRVJZVFlQRSwgUkVUVVJOVFlQRT4oYXN5bmMgKGN0eCkgPT4ge1xuICBjdHgubG9nZ2VyLmluZm8oY3R4LmV2ZW50KTtcbiAgdGhyb3cgbmV3IEVycm9yKCdOb3QgeWV0IGltcGxlbWVudGVkJyk7XG59KTtgLCB7XG4gICAgICBlbmNvZGluZzogJ3V0Zi04JyxcbiAgICB9KTtcbiAgfVxufSJdfQ==
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import * as apiGW from '@aws-cdk/aws-apigatewayv2';
|
|
2
|
-
import
|
|
3
|
-
import
|
|
1
|
+
import * as apiGW from '@aws-cdk/aws-apigatewayv2-alpha';
|
|
2
|
+
import { aws_lambda as lambda } from 'aws-cdk-lib';
|
|
3
|
+
import { Construct } from 'constructs';
|
|
4
4
|
import { OpenAPI3 } from 'openapi-typescript';
|
|
5
5
|
import { BaseApi, BaseApiProps } from './base-api';
|
|
6
6
|
import { LambdaFunction } from './func';
|
|
@@ -35,7 +35,7 @@ export declare class HttpApi<PATHS, OPS> extends BaseApi {
|
|
|
35
35
|
readonly api: apiGW.HttpApi;
|
|
36
36
|
readonly apiSpec: OpenAPI3;
|
|
37
37
|
private _functions;
|
|
38
|
-
constructor(scope:
|
|
38
|
+
constructor(scope: Construct, id: string, props: HttpApiProps);
|
|
39
39
|
/**
|
|
40
40
|
* getFunctionForOperation
|
|
41
41
|
*/
|
|
@@ -21,12 +21,10 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
21
21
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
22
|
exports.HttpApi = void 0;
|
|
23
23
|
const fs = __importStar(require("fs"));
|
|
24
|
-
const apiGW = __importStar(require("@aws-cdk/aws-apigatewayv2"));
|
|
25
|
-
const apiGWInteg = __importStar(require("@aws-cdk/aws-apigatewayv2-integrations"));
|
|
26
|
-
const
|
|
27
|
-
const
|
|
28
|
-
const route53Target = __importStar(require("@aws-cdk/aws-route53-targets"));
|
|
29
|
-
const cdk = __importStar(require("@aws-cdk/core"));
|
|
24
|
+
const apiGW = __importStar(require("@aws-cdk/aws-apigatewayv2-alpha"));
|
|
25
|
+
const apiGWInteg = __importStar(require("@aws-cdk/aws-apigatewayv2-integrations-alpha"));
|
|
26
|
+
const aws_cdk_lib_1 = require("aws-cdk-lib");
|
|
27
|
+
const cdk = __importStar(require("aws-cdk-lib"));
|
|
30
28
|
const yaml = __importStar(require("js-yaml"));
|
|
31
29
|
const base_api_1 = require("./base-api");
|
|
32
30
|
const func_1 = require("./func");
|
|
@@ -39,19 +37,19 @@ class HttpApi extends base_api_1.BaseApi {
|
|
|
39
37
|
this.apiSpec = yaml.load(fs.readFileSync('openapi.yaml').toString());
|
|
40
38
|
let customDomainName;
|
|
41
39
|
if (props.domainName) {
|
|
42
|
-
const hostedZone =
|
|
40
|
+
const hostedZone = aws_cdk_lib_1.aws_route53.HostedZone.fromLookup(this, 'Zone', { domainName: props.domainName });
|
|
43
41
|
const apiDomainName = `${(_a = props.apiHostname) !== null && _a !== void 0 ? _a : 'api'}.${props.domainName}`;
|
|
44
42
|
customDomainName = new apiGW.DomainName(this, 'DomainName', {
|
|
45
43
|
domainName: apiDomainName,
|
|
46
|
-
certificate: new
|
|
44
|
+
certificate: new aws_cdk_lib_1.aws_certificatemanager.Certificate(this, 'Cert', {
|
|
47
45
|
domainName: apiDomainName,
|
|
48
|
-
validation:
|
|
46
|
+
validation: aws_cdk_lib_1.aws_certificatemanager.CertificateValidation.fromDns(hostedZone),
|
|
49
47
|
}),
|
|
50
48
|
});
|
|
51
|
-
new
|
|
49
|
+
new aws_cdk_lib_1.aws_route53.ARecord(this, 'DnsRecord', {
|
|
52
50
|
zone: hostedZone,
|
|
53
51
|
recordName: apiDomainName,
|
|
54
|
-
target:
|
|
52
|
+
target: aws_cdk_lib_1.aws_route53.RecordTarget.fromAlias(new aws_cdk_lib_1.aws_route53_targets.ApiGatewayv2DomainProperties(customDomainName.regionalDomainName, customDomainName.regionalHostedZoneId)),
|
|
55
53
|
});
|
|
56
54
|
}
|
|
57
55
|
this.api = new apiGW.HttpApi(this, 'Resource', {
|
|
@@ -112,7 +110,7 @@ class HttpApi extends base_api_1.BaseApi {
|
|
|
112
110
|
new apiGW.HttpRoute(this, `${apiMethod}${path}`, {
|
|
113
111
|
httpApi: this.api,
|
|
114
112
|
routeKey: apiGW.HttpRouteKey.with(path, apiMethod),
|
|
115
|
-
integration: new apiGWInteg.
|
|
113
|
+
integration: new apiGWInteg.HttpLambdaIntegration(`${apiMethod}${path}Integration`, handler),
|
|
116
114
|
});
|
|
117
115
|
}
|
|
118
116
|
addRestResource(path, method) {
|
|
@@ -229,4 +227,4 @@ export const handler = ${factoryCall}
|
|
|
229
227
|
}
|
|
230
228
|
}
|
|
231
229
|
exports.HttpApi = HttpApi;
|
|
232
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1hcGkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29uc3RydWN0cy9odHRwLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsdUNBQXlCO0FBQ3pCLGlFQUFtRDtBQUNuRCxtRkFBcUU7QUFDckUscUVBQXVEO0FBRXZELDhEQUFnRDtBQUNoRCw0RUFBOEQ7QUFDOUQsbURBQXFDO0FBQ3JDLDhDQUFnQztBQUVoQyx5Q0FBbUQ7QUFDbkQsaUNBQXdDO0FBa0N4QyxNQUFhLE9BQW9CLFNBQVEsa0JBQU87SUFPOUMsWUFBWSxLQUFvQixFQUFFLEVBQVUsRUFBVSxLQUFtQjs7UUFDdkUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFENEIsVUFBSyxHQUFMLEtBQUssQ0FBYztRQUZqRSxlQUFVLEdBQThDLEVBQUUsQ0FBQztRQUtqRSxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FBQyxjQUFjLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBYSxDQUFDO1FBRWpGLElBQUksZ0JBQWdCLENBQUM7UUFDckIsSUFBSSxLQUFLLENBQUMsVUFBVSxFQUFFO1lBQ3BCLE1BQU0sVUFBVSxHQUFHLE9BQU8sQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsRUFBRSxVQUFVLEVBQUUsS0FBSyxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUM7WUFDakcsTUFBTSxhQUFhLEdBQUcsR0FBRyxNQUFBLEtBQUssQ0FBQyxXQUFXLG1DQUFJLEtBQUssSUFBSSxLQUFLLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDMUUsZ0JBQWdCLEdBQUcsSUFBSSxLQUFLLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxZQUFZLEVBQUU7Z0JBQzFELFVBQVUsRUFBRSxhQUFhO2dCQUN6QixXQUFXLEVB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LENBQUMsV0FBVyxFQUFFLEVBQUU7WUFDNUIsS0FBSyxLQUFLO2dCQUNSLE9BQU8sS0FBSyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUM7WUFDOUIsS0FBSyxRQUFRO2dCQUNYLE9BQU8sS0FBSyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUM7WUFDakMsS0FBSyxNQUFNO2dCQUNULE9BQU8sS0FBSyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUM7WUFDL0IsS0FBSyxLQUFLO2dCQUNSLE9BQU8sS0FBSyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUM7WUFDOUIsS0FBSyxNQUFNO2dCQUNULE9BQU8sS0FBSyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUM7WUFDL0IsS0FBSyxTQUFTO2dCQUNaLE9BQU8sS0FBSyxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUM7WUFDbEMsS0FBSyxPQUFPO2dCQUNWLE9BQU8sS0FBSyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUM7WUFDaEM7Z0JBQ0UsT0FBTyxLQUFLLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQztTQUMvQjtJQUNILENBQUM7Q0FDRjtBQS9ORCwwQkErTkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBmcyBmcm9tICdmcyc7XG5pbXBvcnQgKiBhcyBhcGlHVyBmcm9tICdAYXdzLWNkay9hd3MtYXBpZ2F0ZXdheXYyJztcbmltcG9ydCAqIGFzIGFwaUdXSW50ZWcgZnJvbSAnQGF3cy1jZGsvYXdzLWFwaWdhdGV3YXl2Mi1pbnRlZ3JhdGlvbnMnO1xuaW1wb3J0ICogYXMgYWNtIGZyb20gJ0Bhd3MtY2RrL2F3cy1jZXJ0aWZpY2F0ZW1hbmFnZXInO1xuaW1wb3J0ICogYXMgbGFtYmRhIGZyb20gJ0Bhd3MtY2RrL2F3cy1sYW1iZGEnO1xuaW1wb3J0ICogYXMgcm91dGU1MyBmcm9tICdAYXdzLWNkay9hd3Mtcm91dGU1Myc7XG5pbXBvcnQgKiBhcyByb3V0ZTUzVGFyZ2V0IGZyb20gJ0Bhd3MtY2RrL2F3cy1yb3V0ZTUzLXRhcmdldHMnO1xuaW1wb3J0ICogYXMgY2RrIGZyb20gJ0Bhd3MtY2RrL2NvcmUnO1xuaW1wb3J0ICogYXMgeWFtbCBmcm9tICdqcy15YW1sJztcbmltcG9ydCB7IE9wZW5BUEkzLCBPcGVyYXRpb25PYmplY3QsIFBhdGhJdGVtT2JqZWN0IH0gZnJvbSAnb3BlbmFwaS10eXBlc2NyaXB0JztcbmltcG9ydCB7IEJhc2VBcGksIEJhc2VBcGlQcm9wcyB9IGZyb20gJy4vYmFzZS1hcGknO1xuaW1wb3J0IHsgTGFtYmRhRnVuY3Rpb24gfSBmcm9tICcuL2Z1bmMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEh0dHBBcGlQcm9wcyBleHRlbmRzIEJhc2VBcGlQcm9wcyB7XG5cbiAgLyoqXG4gICAqIERvbWFpbiBuYW1lIG9mIHRoZSBBUEkgKGUuZy4gZXhhbXBsZS5jb20pXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gTm8gY3VzdG9tIGRvbWFpbiBpcyBjb25maWd1cmVkXG4gICAqL1xuICBkb21haW5OYW1lPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBIb3N0bmFtZSBvZiB0aGUgQVBJIGlmIGEgZG9tYWluIG5hbWUgaXMgc3BlY2lmaWVkXG4gICAqXG4gICAqIEBkZWZhdWx0IGFwaVxuICAgKi9cbiAgYXBpSG9zdG5hbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEdlbmVyYXRlIHJvdXRlcyBmb3IgYWxsIGVuZHBvaW50cyBjb25maWd1cmVkIGluIHRoZSBvcGVuYXBpLnlhbWwgZmlsZVxuICAgKlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICBhdXRvR2VuZXJhdGVSb3V0ZXM/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBjdXN0b20gb3B0aW9ucyBmb3IgdGhlIGNyZWF0ZWQgSHR0cEFwaVxuICAgKlxuICAgKiBAZGVmYXVsdCAtXG4gICAqL1xuICBodHRwQXBpUHJvcHM/OiBhcGlHVy5IdHRwQXBpUHJvcHM7XG5cbn1cblxuZXhwb3J0IGNsYXNzIEh0dHBBcGk8UEFUSFMsIE9QUz4gZXh0ZW5kcyBCYXNlQXBpIHtcblxuICBwdWJsaWMgcmVhZG9ubHkgYXBpOiBhcGlHVy5IdHRwQXBpO1xuICBwdWJsaWMgcmVhZG9ubHkgYXBpU3BlYzogT3BlbkFQSTM7XG5cbiAgcHJpdmF0ZSBfZnVuY3Rpb25zOiB7IFtvcGVyYXRpb25JZDogc3RyaW5nXTogTGFtYmRhRnVuY3Rpb24gfSA9IHt9O1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBjZGsuQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcml2YXRlIHByb3BzOiBIdHRwQXBpUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHByb3BzKTtcblxuICAgIHRoaXMuYXBpU3BlYyA9IHlhbWwubG9hZChmcy5yZWFkRmlsZVN5bmMoJ29wZW5hcGkueWFtbCcpLnRvU3RyaW5nKCkpIGFzIE9wZW5BUEkzO1xuXG4gICAgbGV0IGN1c3RvbURvbWFpbk5hbWU7XG4gICAgaWYgKHByb3BzLmRvbWFpbk5hbWUpIHtcbiAgICAgIGNvbnN0IGhvc3RlZFpvbmUgPSByb3V0ZTUzLkhvc3RlZFpvbmUuZnJvbUxvb2t1cCh0aGlzLCAnWm9uZScsIHsgZG9tYWluTmFtZTogcHJvcHMuZG9tYWluTmFtZSB9KTtcbiAgICAgIGNvbnN0IGFwaURvbWFpbk5hbWUgPSBgJHtwcm9wcy5hcGlIb3N0bmFtZSA/PyAnYXBpJ30uJHtwcm9wcy5kb21haW5OYW1lfWA7XG4gICAgICBjdXN0b21Eb21haW5OYW1lID0gbmV3IGFwaUdXLkRvbWFpbk5hbWUodGhpcywgJ0RvbWFpbk5hbWUnLCB7XG4gICAgICAgIGRvbWFpbk5hbWU6IGFwaURvbWFpbk5hbWUsXG4gICAgICAgIGNlcnRpZmljYXRlOiBuZXcgYWNtLkNlcnRpZmljYXRlKHRoaXMsICdDZXJ0Jywge1xuICAgICAgICAgIGRvbWFpbk5hbWU6IGFwaURvbWFpbk5hbWUsXG4gICAgICAgICAgdmFsaWRhdGlvbjogYWNtLkNlcnRpZmljYXRlVmFsaWRhdGlvbi5mcm9tRG5zKGhvc3RlZFpvbmUpLFxuICAgICAgICB9KSxcbiAgICAgIH0pO1xuICAgICAgbmV3IHJvdXRlNTMuQVJlY29yZCh0aGlzLCAnRG5zUmVjb3JkJywge1xuICAgICAgICB6b25lOiBob3N0ZWRab25lLFxuICAgICAgICByZWNvcmROYW1lOiBhcGlEb21haW5OYW1lLFxuICAgICAgICB0YXJnZXQ6IHJvdXRlNTMuUmVjb3JkVGFyZ2V0LmZyb21BbGlhcyhcbiAgICAgICAgICBuZXcgcm91dGU1M1RhcmdldC5BcGlHYXRld2F5djJEb21haW5Qcm9wZXJ0aWVzKGN1c3RvbURvbWFpbk5hbWUucmVnaW9uYWxEb21haW5OYW1lLCBjdXN0b21Eb21haW5OYW1lLnJlZ2lvbmFsSG9zdGVkWm9uZUlkKSxcbiAgICAgICAgKSxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHRoaXMuYXBpID0gbmV3IGFwaUdXLkh0dHBBcGkodGhpcywgJ1Jlc291cmNlJywge1xuICAgICAgYXBpTmFtZTogYCR7cHJvcHMuYXBpTmFtZX0gWyR7cHJvcHMuc3RhZ2VOYW1lfV1gLFxuICAgICAgLi4uY3VzdG9tRG9tYWluTmFtZSAmJiB7XG4gICAgICAgIGRlZmF1bHREb21haW5NYXBwaW5nOiB7XG4gICAgICAgICAgZG9tYWluTmFtZTogY3VzdG9tRG9tYWluTmFtZSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICAuLi5wcm9wcy5odHRwQXBpUHJvcHMsXG4gICAgfSk7XG5cbiAgICBpZiAoKHByb3BzLm1vbml0b3JpbmcgPz8gdHJ1ZSkgJiYgdGhpcy5tb25pdG9yaW5nKSB7XG4gICAgICB0aGlzLm1vbml0b3JpbmcuYXBpRXJyb3JzV2lkZ2V0LmFkZExlZnRNZXRyaWModGhpcy5hcGkubWV0cmljU2VydmVyRXJyb3Ioe1xuICAgICAgICBzdGF0aXN0aWM6ICdzdW0nLFxuICAgICAgfSkpO1xuICAgICAgdGhpcy5tb25pdG9yaW5nLmFwaUVycm9yc1dpZGdldC5hZGRMZWZ0TWV0cmljKHRoaXMuYXBpLm1ldHJpY0NsaWVudEVycm9yKHtcbiAgICAgICAgc3RhdGlzdGljOiAnc3VtJyxcbiAgICAgIH0pKTtcblxuICAgICAgdGhpcy5tb25pdG9yaW5nLmFwaUxhdGVuY3lXaWRnZXQuYWRkTGVmdE1ldHJpYyh0aGlzLmFwaS5tZXRyaWNMYXRlbmN5KHtcbiAgICAgICAgc3RhdGlzdGljOiAnQXZlcmFnZScsXG4gICAgICB9KSk7XG4gICAgICB0aGlzLm1vbml0b3JpbmcuYXBpTGF0ZW5jeVdpZGdldC5hZGRMZWZ0TWV0cmljKHRoaXMuYXBpLm1ldHJpY0xhdGVuY3koe1xuICAgICAgICBzdGF0aXN0aWM6ICdwOTAnLFxuICAgICAgfSkpO1xuICAgICAgdGhpcy5tb25pdG9yaW5nLmFwaUxhdGVuY3lUYWlsV2lkZ2V0LmFkZExlZnRNZXRyaWModGhpcy5hcGkubWV0cmljTGF0ZW5jeSh7XG4gICAgICAgIHN0YXRpc3RpYzogJ3A5NScsXG4gICAgICB9KSk7XG4gICAgICB0aGlzLm1vbml0b3JpbmcuYXBpTGF0ZW5jeVRhaWxXaWRnZXQuYWRkTGVmdE1ldHJpYyh0aGlzLmFwaS5tZXRyaWNMYXRlbmN5KHtcbiAgICAgICAgc3RhdGlzdGljOiAncDk5JyxcbiAgICAgIH0pKTtcbiAgICB9XG5cbiAgICBpZiAocHJvcHMuYXV0b0dlbmVyYXRlUm91dGVzID8/IHRydWUpIHtcbiAgICAgIGZvciAoY29uc3QgcGF0aCBpbiB0aGlzLmFwaVNwZWMucGF0aHMpIHtcbiAgICAgICAgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0aGlzLmFwaVNwZWMucGF0aHMsIHBhdGgpKSB7XG4gICAgICAgICAgY29uc3QgcGF0aEl0ZW0gPSB0aGlzLmFwaVNwZWMucGF0aHNbcGF0aF07XG4gICAgICAgICAgZm9yIChjb25zdCBtZXRob2QgaW4gcGF0aEl0ZW0pIHtcbiAgICAgICAgICAgIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocGF0aEl0ZW0sIG1ldGhvZCkgJiZcbiAgICAgICAgICAgICAgWydnZXQnLCAncG9zdCcsICdwdXQnLCAnZGVsZXRlJywgJ3BhdGNoJywgJ29wdGlvbnMnLCAnaGVhZCddLmluZGV4T2YobWV0aG9kKSA+PSAwKSB7XG4gICAgICAgICAgICAgIC8vIEFkZCBhbGwgb3BlcmF0aW9uc1xuICAgICAgICAgICAgICB0aGlzLmFkZFJlc3RSZXNvdXJjZShwYXRoIGFzIGFueSwgbWV0aG9kIGFzIGFueSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gIH1cblxuICAvKipcbiAgICogZ2V0RnVuY3Rpb25Gb3JPcGVyYXRpb25cbiAgICovXG4gIHB1YmxpYyBnZXRGdW5jdGlvbkZvck9wZXJhdGlvbihvcGVyYXRpb25JZDoga2V5b2YgT1BTKTogTGFtYmRhRnVuY3Rpb24ge1xuICAgIHJldHVybiB0aGlzLl9mdW5jdGlvbnNbb3BlcmF0aW9uSWQgYXMgc3RyaW5nXTtcbiAgfVxuXG4gIHB1YmxpYyBhZGRSb3V0ZTxQIGV4dGVuZHMga2V5b2YgUEFUSFM+KHBhdGg6IFAsIG1ldGhvZDoga2V5b2YgUEFUSFNbUF0sIGhhbmRsZXI6IGxhbWJkYS5GdW5jdGlvbikge1xuICAgIHRoaXMuYWRkQ3VzdG9tUm91dGUocGF0aCBhcyBzdHJpbmcsIG1ldGhvZCBhcyBzdHJpbmcsIGhhbmRsZXIpO1xuICB9XG5cbiAgcHVibGljIGFkZEN1c3RvbVJvdXRlKHBhdGg6IHN0cmluZywgbWV0aG9kOiBzdHJpbmcsIGhhbmRsZXI6IGxhbWJkYS5GdW5jdGlvbikge1xuICAgIGNvbnN0IGFwaU1ldGhvZCA9IHRoaXMubWV0aG9kVHJhbnNmb3JtKG1ldGhvZCk7XG4gICAgbmV3IGFwaUdXLkh0dHBSb3V0ZSh0aGlzLCBgJHthcGlNZXRob2R9JHtwYXRofWAsIHtcbiAgICAgIGh0dHBBcGk6IHRoaXMuYXBpLFxuICAgICAgcm91dGVLZXk6IGFwaUdXLkh0dHBSb3V0ZUtleS53aXRoKHBhdGgsIGFwaU1ldGhvZCksXG4gICAgICBpbnRlZ3JhdGlvbjogbmV3IGFwaUdXSW50ZWcuTGFtYmRhUHJveHlJbnRlZ3JhdGlvbih7IGhhbmRsZXIgfSksXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgYWRkUmVzdFJlc291cmNlPFAgZXh0ZW5kcyBrZXlvZiBQQVRIUz4ocGF0aDogUCwgbWV0aG9kOiBrZXlvZiBQQVRIU1tQXSkge1xuICAgIGNvbnN0IG9hUGF0aCA9IHRoaXMuYXBpU3BlYy5wYXRocyFbcGF0aCBhcyBzdHJpbmddO1xuICAgIGNvbnN0IG9wZXJhdGlvbiA9IG9hUGF0aFttZXRob2QgYXMga2V5b2YgUGF0aEl0ZW1PYmplY3RdIGFzIE9wZXJhdGlvbk9iamVjdDtcbiAgICBjb25zdCBvcGVyYXRpb25JZCA9IG9wZXJhdGlvbi5vcGVyYXRpb25JZCE7XG4gICAgY29uc3QgZGVzY3JpcHRpb24gPSBgJHttZXRob2R9ICR7cGF0aH0gLSAke29wZXJhdGlvbi5zdW1tYXJ5fWA7XG5cbiAgICByZXR1cm4gdGhpcy5hZGRDdXN0b21SZXN0UmVzb3VyY2UocGF0aCBhcyBzdHJpbmcsIG1ldGhvZCBhcyBzdHJpbmcsIG9wZXJhdGlvbklkLCBkZXNjcmlwdGlvbik7XG4gIH1cblxuICBwdWJsaWMgYWRkQ3VzdG9tUmVzdFJlc291cmNlKHBhdGg6IHN0cmluZywgbWV0aG9kOiBzdHJpbmcsIG9wZXJhdGlvbklkOiBzdHJpbmcsIGRlc2NyaXB0aW9uOiBzdHJpbmcpIHtcblxuICAgIGNvbnN0IGVudHJ5RmlsZSA9IGAuL3NyYy9sYW1iZGEvcmVzdC4ke29wZXJhdGlvbklkfS50c2A7XG4gICAgaWYgKCFmcy5leGlzdHNTeW5jKGVudHJ5RmlsZSkpIHtcbiAgICAgIHRoaXMuY3JlYXRlRW50cnlGaWxlKGVudHJ5RmlsZSwgbWV0aG9kIGFzIHN0cmluZywgb3BlcmF0aW9uSWQpO1xuICAgIH1cblxuICAgIGNvbnN0IGZuID0gbmV3IExhbWJkYUZ1bmN0aW9uKHRoaXMsIGBGbiR7b3BlcmF0aW9uSWR9YCwge1xuICAgICAgc3RhZ2VOYW1lOiB0aGlzLnByb3BzLnN0YWdlTmFtZSxcbiAgICAgIGFkZGl0aW9uYWxFbnY6IHtcbiAgICAgICAgLi4udGhpcy5wcm9wcy5kb21haW5OYW1lICYmIHtcbiAgICAgICAgICBET01BSU5fTkFNRTogdGhpcy5wcm9wcy5kb21haW5OYW1lLFxuICAgICAgICB9LFxuICAgICAgICAuLi50aGlzLnByb3BzLmFkZGl0aW9uYWxFbnYsXG4gICAgICB9LFxuICAgICAgZW50cnk6IGVudHJ5RmlsZSxcbiAgICAgIGRlc2NyaXB0aW9uOiBgWyR7dGhpcy5wcm9wcy5zdGFnZU5hbWV9XSAke2Rlc2NyaXB0aW9ufWAsXG4gICAgICAuLi50aGlzLmF1dGhlbnRpY2F0aW9uICYmIHtcbiAgICAgICAgdXNlclBvb2w6IHRoaXMuYXV0aGVudGljYXRpb24/LnVzZXJwb29sLFxuICAgICAgfSxcbiAgICAgIC4uLnRoaXMuc2luZ2xlVGFibGVEYXRhc3RvcmUgJiYge1xuICAgICAgICB0YWJsZTogdGhpcy5zaW5nbGVUYWJsZURhdGFzdG9yZS50YWJsZSxcbiAgICAgICAgdGFibGVXcml0ZXM6IHRoaXMudGFibGVXcml0ZUFjY2Vzc0Zvck1ldGhvZChtZXRob2QgYXMgc3RyaW5nKSxcbiAgICAgIH0sXG4gICAgICAuLi50aGlzLmFzc2V0Q2RuICYmIHtcbiAgICAgICAgYXNzZXREb21haW5OYW1lOiB0aGlzLmFzc2V0Q2RuLmFzc2V0RG9tYWluTmFtZSxcbiAgICAgICAgYXNzZXRCdWNrZXQ6IHRoaXMuYXNzZXRDZG4uYXNzZXRCdWNrZXQsXG4gICAgICB9LFxuICAgICAgbGFtYmRhT3B0aW9uczogdGhpcy5wcm9wcy5sYW1iZGFPcHRpb25zLFxuICAgICAgbGFtYmRhVHJhY2luZzogdGhpcy5wcm9wcy5sYW1iZGFUcmFjaW5nLFxuICAgIH0pO1xuICAgIHRoaXMuX2Z1bmN0aW9uc1tvcGVyYXRpb25JZF0gPSBmbjtcbiAgICBjZGsuVGFncy5vZihmbikuYWRkKCdPcGVuQVBJJywgZGVzY3JpcHRpb24ucmVwbGFjZSgvW15cXHdcXHNcXGRfLjovPStcXC1AXS9nLCAnJykpO1xuXG4gICAgaWYgKHRoaXMubW9uaXRvcmluZykge1xuICAgICAgdGhpcy5tb25pdG9yaW5nLmxhbWJkYUR1cmF0aW9uc1dpZGdldC5hZGRMZWZ0TWV0cmljKGZuLm1ldHJpY0R1cmF0aW9uKCkpO1xuICAgICAgdGhpcy5tb25pdG9yaW5nLmxhbWJkYUludm9rZXNXaWRnZXQuYWRkTGVmdE1ldHJpYyhmbi5tZXRyaWNJbnZvY2F0aW9ucygpKTtcbiAgICAgIHRoaXMubW9uaXRvcmluZy5sYW1iZGFFcnJvcnNXaWRnZXQuYWRkTGVmdE1ldHJpYyhmbi5tZXRyaWNFcnJvcnMoKSk7XG4gICAgICB0aGlzLm1vbml0b3JpbmcubGFtYmRhRXJyb3JzV2lkZ2V0LmFkZExlZnRNZXRyaWMoZm4ubWV0cmljVGhyb3R0bGVzKCkpO1xuICAgIH1cblxuICAgIHRoaXMuYWRkQ3VzdG9tUm91dGUocGF0aCwgbWV0aG9kLCBmbik7XG5cbiAgICByZXR1cm4gZm47XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZUVudHJ5RmlsZShlbnRyeUZpbGU6IHN0cmluZywgbWV0aG9kOiBzdHJpbmcsIG9wZXJhdGlvbklkOiBzdHJpbmcpIHtcbiAgICBsZXQgZmFjdG9yeUNhbGw7XG4gICAgbGV0IGxvZ3M7XG4gICAgc3dpdGNoIChtZXRob2QudG9Mb3dlckNhc2UoKSkge1xuICAgICAgY2FzZSAncG9zdCc6XG4gICAgICBjYXNlICdwdXQnOlxuICAgICAgY2FzZSAncGF0Y2gnOlxuICAgICAgICBmYWN0b3J5Q2FsbCA9IGBodHRwLmNyZWF0ZU9wZW5BcGlIYW5kbGVyV2l0aFJlcXVlc3RCb2R5PG9wZXJhdGlvbnNbJyR7b3BlcmF0aW9uSWR9J10+KGFzeW5jIChjdHgsIGRhdGEpID0+IHtgO1xuICAgICAgICBsb2dzID0gJ2N0eC5sb2dnZXIuaW5mbyhKU09OLnN0cmluZ2lmeShkYXRhKSk7JztcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdvcHRpb25zJzpcbiAgICAgIGNhc2UgJ2RlbGV0ZSc6XG4gICAgICBjYXNlICdnZXQnOlxuICAgICAgY2FzZSAnaGVhZCc6XG4gICAgICBkZWZhdWx0OlxuICAgICAgICBmYWN0b3J5Q2FsbCA9IGBodHRwLmNyZWF0ZU9wZW5BcGlIYW5kbGVyPG9wZXJhdGlvbnNbJyR7b3BlcmF0aW9uSWR9J10+KGFzeW5jIChjdHgpID0+IHtgO1xuICAgICAgICBsb2dzID0gJyc7XG4gICAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIGZzLndyaXRlRmlsZVN5bmMoZW50cnlGaWxlLCBgaW1wb3J0IHsgaHR0cCwgZXJyb3JzIH0gZnJvbSAnQHRhaW1vcy9sYW1iZGEtdG9vbGJveCc7XG5pbXBvcnQgeyBvcGVyYXRpb25zIH0gZnJvbSAnLi90eXBlcy5nZW5lcmF0ZWQnO1xuXG5leHBvcnQgY29uc3QgaGFuZGxlciA9ICR7ZmFjdG9yeUNhbGx9XG4gIGN0eC5sb2dnZXIuaW5mbyhKU09OLnN0cmluZ2lmeShjdHguZXZlbnQpKTtcbiAgJHtsb2dzfVxuICB0aHJvdyBuZXcgZXJyb3JzLkh0dHBFcnJvcig1MDAsICdOb3QgeWV0IGltcGxlbWVudGVkJyk7XG59KTtgLCB7XG4gICAgICBlbmNvZGluZzogJ3V0Zi04JyxcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgdGFibGVXcml0ZUFjY2Vzc0Zvck1ldGhvZChtZXRob2Q6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHN3aXRjaCAobWV0aG9kLnRvTG93ZXJDYXNlKCkpIHtcbiAgICAgIGNhc2UgJ2RlbGV0ZSc6XG4gICAgICBjYXNlICdwb3N0JzpcbiAgICAgIGNhc2UgJ3B1dCc6XG4gICAgICBjYXNlICdwYXRjaCc6XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgY2FzZSAnb3B0aW9ucyc6XG4gICAgICBjYXNlICdnZXQnOlxuICAgICAgY2FzZSAnaGVhZCc6XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBtZXRob2RUcmFuc2Zvcm0obWV0aG9kOiBzdHJpbmcpIHtcbiAgICBzd2l0Y2ggKG1ldGhvZC50b0xvd2VyQ2FzZSgpKSB7XG4gICAgICBjYXNlICdnZXQnOlxuICAgICAgICByZXR1cm4gYXBpR1cuSHR0cE1ldGhvZC5HRVQ7XG4gICAgICBjYXNlICdkZWxldGUnOlxuICAgICAgICByZXR1cm4gYXBpR1cuSHR0cE1ldGhvZC5ERUxFVEU7XG4gICAgICBjYXNlICdwb3N0JzpcbiAgICAgICAgcmV0dXJuIGFwaUdXLkh0dHBNZXRob2QuUE9TVDtcbiAgICAgIGNhc2UgJ3B1dCc6XG4gICAgICAgIHJldHVybiBhcGlHVy5IdHRwTWV0aG9kLlBVVDtcbiAgICAgIGNhc2UgJ2hlYWQnOlxuICAgICAgICByZXR1cm4gYXBpR1cuSHR0cE1ldGhvZC5IRUFEO1xuICAgICAgY2FzZSAnb3B0aW9ucyc6XG4gICAgICAgIHJldHVybiBhcGlHVy5IdHRwTWV0aG9kLk9QVElPTlM7XG4gICAgICBjYXNlICdwYXRjaCc6XG4gICAgICAgIHJldHVybiBhcGlHVy5IdHRwTWV0aG9kLlBBVENIO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIGFwaUdXLkh0dHBNZXRob2QuQU5ZO1xuICAgIH1cbiAgfVxufSJdfQ==
|
|
230
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1hcGkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29uc3RydWN0cy9odHRwLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsdUNBQXlCO0FBQ3pCLHVFQUF5RDtBQUN6RCx5RkFBMkU7QUFDM0UsNkNBS3FCO0FBQ3JCLGlEQUFtQztBQUVuQyw4Q0FBZ0M7QUFFaEMseUNBQW1EO0FBQ25ELGlDQUF3QztBQWtDeEMsTUFBYSxPQUFvQixTQUFRLGtCQUFPO0lBTzlDLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQVUsS0FBbUI7O1FBQ25FLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBRHdCLFVBQUssR0FBTCxLQUFLLENBQWM7UUFGN0QsZUFBVSxHQUE4QyxFQUFFLENBQUM7UUFLakUsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsY0FBYyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQWEsQ0FBQztRQUVqRixJQUFJLGdCQUFnQixDQUFDO1FBQ3JCLElBQUksS0FBSyxDQUFDLFVBQVUsRUFBRTtZQUNwQixNQUFNLFVBQVUsR0FBRyx5QkFBTyxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxFQUFFLFVBQVUsRUFBRSxLQUFLLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQztZQUNqRyxNQUFNLGFBQWEsR0FBRyxHQUFHLE1BQUEsS0FBSyxDQUFDLFdBQVcsbUNBQUksS0FBSyxJQUFJLEtBQUssQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUMxRSxnQkFBZ0IsR0FBRyxJQUFJLEtBQUssQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLFlBQVksRUFBRTtnQkFDMUQsVUFBVSxFQUFFLGFBQWE7Z0JBQ3pCLFdBQVcsRUFBRSxJQUFJLG9DQUFHLENBQUMsV0FBVyxD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LENBQUMsV0FBVyxFQUFFLEVBQUU7WUFDNUIsS0FBSyxLQUFLO2dCQUNSLE9BQU8sS0FBSyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUM7WUFDOUIsS0FBSyxRQUFRO2dCQUNYLE9BQU8sS0FBSyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUM7WUFDakMsS0FBSyxNQUFNO2dCQUNULE9BQU8sS0FBSyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUM7WUFDL0IsS0FBSyxLQUFLO2dCQUNSLE9BQU8sS0FBSyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUM7WUFDOUIsS0FBSyxNQUFNO2dCQUNULE9BQU8sS0FBSyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUM7WUFDL0IsS0FBSyxTQUFTO2dCQUNaLE9BQU8sS0FBSyxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUM7WUFDbEMsS0FBSyxPQUFPO2dCQUNWLE9BQU8sS0FBSyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUM7WUFDaEM7Z0JBQ0UsT0FBTyxLQUFLLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQztTQUMvQjtJQUNILENBQUM7Q0FDRjtBQS9ORCwwQkErTkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBmcyBmcm9tICdmcyc7XG5pbXBvcnQgKiBhcyBhcGlHVyBmcm9tICdAYXdzLWNkay9hd3MtYXBpZ2F0ZXdheXYyLWFscGhhJztcbmltcG9ydCAqIGFzIGFwaUdXSW50ZWcgZnJvbSAnQGF3cy1jZGsvYXdzLWFwaWdhdGV3YXl2Mi1pbnRlZ3JhdGlvbnMtYWxwaGEnO1xuaW1wb3J0IHtcbiAgYXdzX2NlcnRpZmljYXRlbWFuYWdlciBhcyBhY20sXG4gIGF3c19sYW1iZGEgYXMgbGFtYmRhLFxuICBhd3Nfcm91dGU1MyBhcyByb3V0ZTUzLFxuICBhd3Nfcm91dGU1M190YXJnZXRzIGFzIHJvdXRlNTNUYXJnZXQsXG59IGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCAqIGFzIGNkayBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCAqIGFzIHlhbWwgZnJvbSAnanMteWFtbCc7XG5pbXBvcnQgeyBPcGVuQVBJMywgT3BlcmF0aW9uT2JqZWN0LCBQYXRoSXRlbU9iamVjdCB9IGZyb20gJ29wZW5hcGktdHlwZXNjcmlwdCc7XG5pbXBvcnQgeyBCYXNlQXBpLCBCYXNlQXBpUHJvcHMgfSBmcm9tICcuL2Jhc2UtYXBpJztcbmltcG9ydCB7IExhbWJkYUZ1bmN0aW9uIH0gZnJvbSAnLi9mdW5jJztcblxuZXhwb3J0IGludGVyZmFjZSBIdHRwQXBpUHJvcHMgZXh0ZW5kcyBCYXNlQXBpUHJvcHMge1xuXG4gIC8qKlxuICAgKiBEb21haW4gbmFtZSBvZiB0aGUgQVBJIChlLmcuIGV4YW1wbGUuY29tKVxuICAgKlxuICAgKiBAZGVmYXVsdCAtIE5vIGN1c3RvbSBkb21haW4gaXMgY29uZmlndXJlZFxuICAgKi9cbiAgZG9tYWluTmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogSG9zdG5hbWUgb2YgdGhlIEFQSSBpZiBhIGRvbWFpbiBuYW1lIGlzIHNwZWNpZmllZFxuICAgKlxuICAgKiBAZGVmYXVsdCBhcGlcbiAgICovXG4gIGFwaUhvc3RuYW1lPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBHZW5lcmF0ZSByb3V0ZXMgZm9yIGFsbCBlbmRwb2ludHMgY29uZmlndXJlZCBpbiB0aGUgb3BlbmFwaS55YW1sIGZpbGVcbiAgICpcbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgYXV0b0dlbmVyYXRlUm91dGVzPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogY3VzdG9tIG9wdGlvbnMgZm9yIHRoZSBjcmVhdGVkIEh0dHBBcGlcbiAgICpcbiAgICogQGRlZmF1bHQgLVxuICAgKi9cbiAgaHR0cEFwaVByb3BzPzogYXBpR1cuSHR0cEFwaVByb3BzO1xuXG59XG5cbmV4cG9ydCBjbGFzcyBIdHRwQXBpPFBBVEhTLCBPUFM+IGV4dGVuZHMgQmFzZUFwaSB7XG5cbiAgcHVibGljIHJlYWRvbmx5IGFwaTogYXBpR1cuSHR0cEFwaTtcbiAgcHVibGljIHJlYWRvbmx5IGFwaVNwZWM6IE9wZW5BUEkzO1xuXG4gIHByaXZhdGUgX2Z1bmN0aW9uczogeyBbb3BlcmF0aW9uSWQ6IHN0cmluZ106IExhbWJkYUZ1bmN0aW9uIH0gPSB7fTtcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcml2YXRlIHByb3BzOiBIdHRwQXBpUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHByb3BzKTtcblxuICAgIHRoaXMuYXBpU3BlYyA9IHlhbWwubG9hZChmcy5yZWFkRmlsZVN5bmMoJ29wZW5hcGkueWFtbCcpLnRvU3RyaW5nKCkpIGFzIE9wZW5BUEkzO1xuXG4gICAgbGV0IGN1c3RvbURvbWFpbk5hbWU7XG4gICAgaWYgKHByb3BzLmRvbWFpbk5hbWUpIHtcbiAgICAgIGNvbnN0IGhvc3RlZFpvbmUgPSByb3V0ZTUzLkhvc3RlZFpvbmUuZnJvbUxvb2t1cCh0aGlzLCAnWm9uZScsIHsgZG9tYWluTmFtZTogcHJvcHMuZG9tYWluTmFtZSB9KTtcbiAgICAgIGNvbnN0IGFwaURvbWFpbk5hbWUgPSBgJHtwcm9wcy5hcGlIb3N0bmFtZSA/PyAnYXBpJ30uJHtwcm9wcy5kb21haW5OYW1lfWA7XG4gICAgICBjdXN0b21Eb21haW5OYW1lID0gbmV3IGFwaUdXLkRvbWFpbk5hbWUodGhpcywgJ0RvbWFpbk5hbWUnLCB7XG4gICAgICAgIGRvbWFpbk5hbWU6IGFwaURvbWFpbk5hbWUsXG4gICAgICAgIGNlcnRpZmljYXRlOiBuZXcgYWNtLkNlcnRpZmljYXRlKHRoaXMsICdDZXJ0Jywge1xuICAgICAgICAgIGRvbWFpbk5hbWU6IGFwaURvbWFpbk5hbWUsXG4gICAgICAgICAgdmFsaWRhdGlvbjogYWNtLkNlcnRpZmljYXRlVmFsaWRhdGlvbi5mcm9tRG5zKGhvc3RlZFpvbmUpLFxuICAgICAgICB9KSxcbiAgICAgIH0pO1xuICAgICAgbmV3IHJvdXRlNTMuQVJlY29yZCh0aGlzLCAnRG5zUmVjb3JkJywge1xuICAgICAgICB6b25lOiBob3N0ZWRab25lLFxuICAgICAgICByZWNvcmROYW1lOiBhcGlEb21haW5OYW1lLFxuICAgICAgICB0YXJnZXQ6IHJvdXRlNTMuUmVjb3JkVGFyZ2V0LmZyb21BbGlhcyhcbiAgICAgICAgICBuZXcgcm91dGU1M1RhcmdldC5BcGlHYXRld2F5djJEb21haW5Qcm9wZXJ0aWVzKGN1c3RvbURvbWFpbk5hbWUucmVnaW9uYWxEb21haW5OYW1lLCBjdXN0b21Eb21haW5OYW1lLnJlZ2lvbmFsSG9zdGVkWm9uZUlkKSxcbiAgICAgICAgKSxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHRoaXMuYXBpID0gbmV3IGFwaUdXLkh0dHBBcGkodGhpcywgJ1Jlc291cmNlJywge1xuICAgICAgYXBpTmFtZTogYCR7cHJvcHMuYXBpTmFtZX0gWyR7cHJvcHMuc3RhZ2VOYW1lfV1gLFxuICAgICAgLi4uY3VzdG9tRG9tYWluTmFtZSAmJiB7XG4gICAgICAgIGRlZmF1bHREb21haW5NYXBwaW5nOiB7XG4gICAgICAgICAgZG9tYWluTmFtZTogY3VzdG9tRG9tYWluTmFtZSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICAuLi5wcm9wcy5odHRwQXBpUHJvcHMsXG4gICAgfSk7XG5cbiAgICBpZiAoKHByb3BzLm1vbml0b3JpbmcgPz8gdHJ1ZSkgJiYgdGhpcy5tb25pdG9yaW5nKSB7XG4gICAgICB0aGlzLm1vbml0b3JpbmcuYXBpRXJyb3JzV2lkZ2V0LmFkZExlZnRNZXRyaWModGhpcy5hcGkubWV0cmljU2VydmVyRXJyb3Ioe1xuICAgICAgICBzdGF0aXN0aWM6ICdzdW0nLFxuICAgICAgfSkpO1xuICAgICAgdGhpcy5tb25pdG9yaW5nLmFwaUVycm9yc1dpZGdldC5hZGRMZWZ0TWV0cmljKHRoaXMuYXBpLm1ldHJpY0NsaWVudEVycm9yKHtcbiAgICAgICAgc3RhdGlzdGljOiAnc3VtJyxcbiAgICAgIH0pKTtcblxuICAgICAgdGhpcy5tb25pdG9yaW5nLmFwaUxhdGVuY3lXaWRnZXQuYWRkTGVmdE1ldHJpYyh0aGlzLmFwaS5tZXRyaWNMYXRlbmN5KHtcbiAgICAgICAgc3RhdGlzdGljOiAnQXZlcmFnZScsXG4gICAgICB9KSk7XG4gICAgICB0aGlzLm1vbml0b3JpbmcuYXBpTGF0ZW5jeVdpZGdldC5hZGRMZWZ0TWV0cmljKHRoaXMuYXBpLm1ldHJpY0xhdGVuY3koe1xuICAgICAgICBzdGF0aXN0aWM6ICdwOTAnLFxuICAgICAgfSkpO1xuICAgICAgdGhpcy5tb25pdG9yaW5nLmFwaUxhdGVuY3lUYWlsV2lkZ2V0LmFkZExlZnRNZXRyaWModGhpcy5hcGkubWV0cmljTGF0ZW5jeSh7XG4gICAgICAgIHN0YXRpc3RpYzogJ3A5NScsXG4gICAgICB9KSk7XG4gICAgICB0aGlzLm1vbml0b3JpbmcuYXBpTGF0ZW5jeVRhaWxXaWRnZXQuYWRkTGVmdE1ldHJpYyh0aGlzLmFwaS5tZXRyaWNMYXRlbmN5KHtcbiAgICAgICAgc3RhdGlzdGljOiAncDk5JyxcbiAgICAgIH0pKTtcbiAgICB9XG5cbiAgICBpZiAocHJvcHMuYXV0b0dlbmVyYXRlUm91dGVzID8/IHRydWUpIHtcbiAgICAgIGZvciAoY29uc3QgcGF0aCBpbiB0aGlzLmFwaVNwZWMucGF0aHMpIHtcbiAgICAgICAgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0aGlzLmFwaVNwZWMucGF0aHMsIHBhdGgpKSB7XG4gICAgICAgICAgY29uc3QgcGF0aEl0ZW0gPSB0aGlzLmFwaVNwZWMucGF0aHNbcGF0aF07XG4gICAgICAgICAgZm9yIChjb25zdCBtZXRob2QgaW4gcGF0aEl0ZW0pIHtcbiAgICAgICAgICAgIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocGF0aEl0ZW0sIG1ldGhvZCkgJiZcbiAgICAgICAgICAgICAgWydnZXQnLCAncG9zdCcsICdwdXQnLCAnZGVsZXRlJywgJ3BhdGNoJywgJ29wdGlvbnMnLCAnaGVhZCddLmluZGV4T2YobWV0aG9kKSA+PSAwKSB7XG4gICAgICAgICAgICAgIC8vIEFkZCBhbGwgb3BlcmF0aW9uc1xuICAgICAgICAgICAgICB0aGlzLmFkZFJlc3RSZXNvdXJjZShwYXRoIGFzIGFueSwgbWV0aG9kIGFzIGFueSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gIH1cblxuICAvKipcbiAgICogZ2V0RnVuY3Rpb25Gb3JPcGVyYXRpb25cbiAgICovXG4gIHB1YmxpYyBnZXRGdW5jdGlvbkZvck9wZXJhdGlvbihvcGVyYXRpb25JZDoga2V5b2YgT1BTKTogTGFtYmRhRnVuY3Rpb24ge1xuICAgIHJldHVybiB0aGlzLl9mdW5jdGlvbnNbb3BlcmF0aW9uSWQgYXMgc3RyaW5nXTtcbiAgfVxuXG4gIHB1YmxpYyBhZGRSb3V0ZTxQIGV4dGVuZHMga2V5b2YgUEFUSFM+KHBhdGg6IFAsIG1ldGhvZDoga2V5b2YgUEFUSFNbUF0sIGhhbmRsZXI6IGxhbWJkYS5GdW5jdGlvbikge1xuICAgIHRoaXMuYWRkQ3VzdG9tUm91dGUocGF0aCBhcyBzdHJpbmcsIG1ldGhvZCBhcyBzdHJpbmcsIGhhbmRsZXIpO1xuICB9XG5cbiAgcHVibGljIGFkZEN1c3RvbVJvdXRlKHBhdGg6IHN0cmluZywgbWV0aG9kOiBzdHJpbmcsIGhhbmRsZXI6IGxhbWJkYS5GdW5jdGlvbikge1xuICAgIGNvbnN0IGFwaU1ldGhvZCA9IHRoaXMubWV0aG9kVHJhbnNmb3JtKG1ldGhvZCk7XG4gICAgbmV3IGFwaUdXLkh0dHBSb3V0ZSh0aGlzLCBgJHthcGlNZXRob2R9JHtwYXRofWAsIHtcbiAgICAgIGh0dHBBcGk6IHRoaXMuYXBpLFxuICAgICAgcm91dGVLZXk6IGFwaUdXLkh0dHBSb3V0ZUtleS53aXRoKHBhdGgsIGFwaU1ldGhvZCksXG4gICAgICBpbnRlZ3JhdGlvbjogbmV3IGFwaUdXSW50ZWcuSHR0cExhbWJkYUludGVncmF0aW9uKGAke2FwaU1ldGhvZH0ke3BhdGh9SW50ZWdyYXRpb25gLCBoYW5kbGVyKSxcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBhZGRSZXN0UmVzb3VyY2U8UCBleHRlbmRzIGtleW9mIFBBVEhTPihwYXRoOiBQLCBtZXRob2Q6IGtleW9mIFBBVEhTW1BdKSB7XG4gICAgY29uc3Qgb2FQYXRoID0gdGhpcy5hcGlTcGVjLnBhdGhzIVtwYXRoIGFzIHN0cmluZ107XG4gICAgY29uc3Qgb3BlcmF0aW9uID0gb2FQYXRoW21ldGhvZCBhcyBrZXlvZiBQYXRoSXRlbU9iamVjdF0gYXMgT3BlcmF0aW9uT2JqZWN0O1xuICAgIGNvbnN0IG9wZXJhdGlvbklkID0gb3BlcmF0aW9uLm9wZXJhdGlvbklkITtcbiAgICBjb25zdCBkZXNjcmlwdGlvbiA9IGAke21ldGhvZH0gJHtwYXRofSAtICR7b3BlcmF0aW9uLnN1bW1hcnl9YDtcblxuICAgIHJldHVybiB0aGlzLmFkZEN1c3RvbVJlc3RSZXNvdXJjZShwYXRoIGFzIHN0cmluZywgbWV0aG9kIGFzIHN0cmluZywgb3BlcmF0aW9uSWQsIGRlc2NyaXB0aW9uKTtcbiAgfVxuXG4gIHB1YmxpYyBhZGRDdXN0b21SZXN0UmVzb3VyY2UocGF0aDogc3RyaW5nLCBtZXRob2Q6IHN0cmluZywgb3BlcmF0aW9uSWQ6IHN0cmluZywgZGVzY3JpcHRpb246IHN0cmluZykge1xuXG4gICAgY29uc3QgZW50cnlGaWxlID0gYC4vc3JjL2xhbWJkYS9yZXN0LiR7b3BlcmF0aW9uSWR9LnRzYDtcbiAgICBpZiAoIWZzLmV4aXN0c1N5bmMoZW50cnlGaWxlKSkge1xuICAgICAgdGhpcy5jcmVhdGVFbnRyeUZpbGUoZW50cnlGaWxlLCBtZXRob2QgYXMgc3RyaW5nLCBvcGVyYXRpb25JZCk7XG4gICAgfVxuXG4gICAgY29uc3QgZm4gPSBuZXcgTGFtYmRhRnVuY3Rpb24odGhpcywgYEZuJHtvcGVyYXRpb25JZH1gLCB7XG4gICAgICBzdGFnZU5hbWU6IHRoaXMucHJvcHMuc3RhZ2VOYW1lLFxuICAgICAgYWRkaXRpb25hbEVudjoge1xuICAgICAgICAuLi50aGlzLnByb3BzLmRvbWFpbk5hbWUgJiYge1xuICAgICAgICAgIERPTUFJTl9OQU1FOiB0aGlzLnByb3BzLmRvbWFpbk5hbWUsXG4gICAgICAgIH0sXG4gICAgICAgIC4uLnRoaXMucHJvcHMuYWRkaXRpb25hbEVudixcbiAgICAgIH0sXG4gICAgICBlbnRyeTogZW50cnlGaWxlLFxuICAgICAgZGVzY3JpcHRpb246IGBbJHt0aGlzLnByb3BzLnN0YWdlTmFtZX1dICR7ZGVzY3JpcHRpb259YCxcbiAgICAgIC4uLnRoaXMuYXV0aGVudGljYXRpb24gJiYge1xuICAgICAgICB1c2VyUG9vbDogdGhpcy5hdXRoZW50aWNhdGlvbj8udXNlcnBvb2wsXG4gICAgICB9LFxuICAgICAgLi4udGhpcy5zaW5nbGVUYWJsZURhdGFzdG9yZSAmJiB7XG4gICAgICAgIHRhYmxlOiB0aGlzLnNpbmdsZVRhYmxlRGF0YXN0b3JlLnRhYmxlLFxuICAgICAgICB0YWJsZVdyaXRlczogdGhpcy50YWJsZVdyaXRlQWNjZXNzRm9yTWV0aG9kKG1ldGhvZCBhcyBzdHJpbmcpLFxuICAgICAgfSxcbiAgICAgIC4uLnRoaXMuYXNzZXRDZG4gJiYge1xuICAgICAgICBhc3NldERvbWFpbk5hbWU6IHRoaXMuYXNzZXRDZG4uYXNzZXREb21haW5OYW1lLFxuICAgICAgICBhc3NldEJ1Y2tldDogdGhpcy5hc3NldENkbi5hc3NldEJ1Y2tldCxcbiAgICAgIH0sXG4gICAgICBsYW1iZGFPcHRpb25zOiB0aGlzLnByb3BzLmxhbWJkYU9wdGlvbnMsXG4gICAgICBsYW1iZGFUcmFjaW5nOiB0aGlzLnByb3BzLmxhbWJkYVRyYWNpbmcsXG4gICAgfSk7XG4gICAgdGhpcy5fZnVuY3Rpb25zW29wZXJhdGlvbklkXSA9IGZuO1xuICAgIGNkay5UYWdzLm9mKGZuKS5hZGQoJ09wZW5BUEknLCBkZXNjcmlwdGlvbi5yZXBsYWNlKC9bXlxcd1xcc1xcZF8uOi89K1xcLUBdL2csICcnKSk7XG5cbiAgICBpZiAodGhpcy5tb25pdG9yaW5nKSB7XG4gICAgICB0aGlzLm1vbml0b3JpbmcubGFtYmRhRHVyYXRpb25zV2lkZ2V0LmFkZExlZnRNZXRyaWMoZm4ubWV0cmljRHVyYXRpb24oKSk7XG4gICAgICB0aGlzLm1vbml0b3JpbmcubGFtYmRhSW52b2tlc1dpZGdldC5hZGRMZWZ0TWV0cmljKGZuLm1ldHJpY0ludm9jYXRpb25zKCkpO1xuICAgICAgdGhpcy5tb25pdG9yaW5nLmxhbWJkYUVycm9yc1dpZGdldC5hZGRMZWZ0TWV0cmljKGZuLm1ldHJpY0Vycm9ycygpKTtcbiAgICAgIHRoaXMubW9uaXRvcmluZy5sYW1iZGFFcnJvcnNXaWRnZXQuYWRkTGVmdE1ldHJpYyhmbi5tZXRyaWNUaHJvdHRsZXMoKSk7XG4gICAgfVxuXG4gICAgdGhpcy5hZGRDdXN0b21Sb3V0ZShwYXRoLCBtZXRob2QsIGZuKTtcblxuICAgIHJldHVybiBmbjtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlRW50cnlGaWxlKGVudHJ5RmlsZTogc3RyaW5nLCBtZXRob2Q6IHN0cmluZywgb3BlcmF0aW9uSWQ6IHN0cmluZykge1xuICAgIGxldCBmYWN0b3J5Q2FsbDtcbiAgICBsZXQgbG9ncztcbiAgICBzd2l0Y2ggKG1ldGhvZC50b0xvd2VyQ2FzZSgpKSB7XG4gICAgICBjYXNlICdwb3N0JzpcbiAgICAgIGNhc2UgJ3B1dCc6XG4gICAgICBjYXNlICdwYXRjaCc6XG4gICAgICAgIGZhY3RvcnlDYWxsID0gYGh0dHAuY3JlYXRlT3BlbkFwaUhhbmRsZXJXaXRoUmVxdWVzdEJvZHk8b3BlcmF0aW9uc1snJHtvcGVyYXRpb25JZH0nXT4oYXN5bmMgKGN0eCwgZGF0YSkgPT4ge2A7XG4gICAgICAgIGxvZ3MgPSAnY3R4LmxvZ2dlci5pbmZvKEpTT04uc3RyaW5naWZ5KGRhdGEpKTsnO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ29wdGlvbnMnOlxuICAgICAgY2FzZSAnZGVsZXRlJzpcbiAgICAgIGNhc2UgJ2dldCc6XG4gICAgICBjYXNlICdoZWFkJzpcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIGZhY3RvcnlDYWxsID0gYGh0dHAuY3JlYXRlT3BlbkFwaUhhbmRsZXI8b3BlcmF0aW9uc1snJHtvcGVyYXRpb25JZH0nXT4oYXN5bmMgKGN0eCkgPT4ge2A7XG4gICAgICAgIGxvZ3MgPSAnJztcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgZnMud3JpdGVGaWxlU3luYyhlbnRyeUZpbGUsIGBpbXBvcnQgeyBodHRwLCBlcnJvcnMgfSBmcm9tICdAdGFpbW9zL2xhbWJkYS10b29sYm94JztcbmltcG9ydCB7IG9wZXJhdGlvbnMgfSBmcm9tICcuL3R5cGVzLmdlbmVyYXRlZCc7XG5cbmV4cG9ydCBjb25zdCBoYW5kbGVyID0gJHtmYWN0b3J5Q2FsbH1cbiAgY3R4LmxvZ2dlci5pbmZvKEpTT04uc3RyaW5naWZ5KGN0eC5ldmVudCkpO1xuICAke2xvZ3N9XG4gIHRocm93IG5ldyBlcnJvcnMuSHR0cEVycm9yKDUwMCwgJ05vdCB5ZXQgaW1wbGVtZW50ZWQnKTtcbn0pO2AsIHtcbiAgICAgIGVuY29kaW5nOiAndXRmLTgnLFxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSB0YWJsZVdyaXRlQWNjZXNzRm9yTWV0aG9kKG1ldGhvZDogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgc3dpdGNoIChtZXRob2QudG9Mb3dlckNhc2UoKSkge1xuICAgICAgY2FzZSAnZGVsZXRlJzpcbiAgICAgIGNhc2UgJ3Bvc3QnOlxuICAgICAgY2FzZSAncHV0JzpcbiAgICAgIGNhc2UgJ3BhdGNoJzpcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICBjYXNlICdvcHRpb25zJzpcbiAgICAgIGNhc2UgJ2dldCc6XG4gICAgICBjYXNlICdoZWFkJzpcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIG1ldGhvZFRyYW5zZm9ybShtZXRob2Q6IHN0cmluZykge1xuICAgIHN3aXRjaCAobWV0aG9kLnRvTG93ZXJDYXNlKCkpIHtcbiAgICAgIGNhc2UgJ2dldCc6XG4gICAgICAgIHJldHVybiBhcGlHVy5IdHRwTWV0aG9kLkdFVDtcbiAgICAgIGNhc2UgJ2RlbGV0ZSc6XG4gICAgICAgIHJldHVybiBhcGlHVy5IdHRwTWV0aG9kLkRFTEVURTtcbiAgICAgIGNhc2UgJ3Bvc3QnOlxuICAgICAgICByZXR1cm4gYXBpR1cuSHR0cE1ldGhvZC5QT1NUO1xuICAgICAgY2FzZSAncHV0JzpcbiAgICAgICAgcmV0dXJuIGFwaUdXLkh0dHBNZXRob2QuUFVUO1xuICAgICAgY2FzZSAnaGVhZCc6XG4gICAgICAgIHJldHVybiBhcGlHVy5IdHRwTWV0aG9kLkhFQUQ7XG4gICAgICBjYXNlICdvcHRpb25zJzpcbiAgICAgICAgcmV0dXJuIGFwaUdXLkh0dHBNZXRob2QuT1BUSU9OUztcbiAgICAgIGNhc2UgJ3BhdGNoJzpcbiAgICAgICAgcmV0dXJuIGFwaUdXLkh0dHBNZXRob2QuUEFUQ0g7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gYXBpR1cuSHR0cE1ldGhvZC5BTlk7XG4gICAgfVxuICB9XG59Il19
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
1
|
+
import { aws_cloudwatch as cloudwatch } from 'aws-cdk-lib';
|
|
2
|
+
import { Construct } from 'constructs';
|
|
3
3
|
export interface MonitoringProps {
|
|
4
4
|
/**
|
|
5
5
|
* Name of the API
|
|
@@ -10,7 +10,7 @@ export interface MonitoringProps {
|
|
|
10
10
|
*/
|
|
11
11
|
stageName: string;
|
|
12
12
|
}
|
|
13
|
-
export declare class Monitoring extends
|
|
13
|
+
export declare class Monitoring extends Construct {
|
|
14
14
|
readonly dashboard: cloudwatch.Dashboard;
|
|
15
15
|
readonly apiErrorsWidget: cloudwatch.GraphWidget;
|
|
16
16
|
readonly apiLatencyWidget: cloudwatch.GraphWidget;
|
|
@@ -18,6 +18,6 @@ export declare class Monitoring extends cdk.Construct {
|
|
|
18
18
|
readonly lambdaErrorsWidget: cloudwatch.GraphWidget;
|
|
19
19
|
readonly lambdaInvokesWidget: cloudwatch.GraphWidget;
|
|
20
20
|
readonly lambdaDurationsWidget: cloudwatch.GraphWidget;
|
|
21
|
-
constructor(scope:
|
|
21
|
+
constructor(scope: Construct, id: string, props: MonitoringProps);
|
|
22
22
|
getTextWidget(fileName: string): cloudwatch.TextWidget;
|
|
23
23
|
}
|
|
@@ -1,51 +1,32 @@
|
|
|
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
|
-
};
|
|
21
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
3
|
exports.Monitoring = void 0;
|
|
23
4
|
const fs_1 = require("fs");
|
|
24
|
-
const
|
|
25
|
-
const
|
|
26
|
-
class Monitoring extends
|
|
5
|
+
const aws_cdk_lib_1 = require("aws-cdk-lib");
|
|
6
|
+
const constructs_1 = require("constructs");
|
|
7
|
+
class Monitoring extends constructs_1.Construct {
|
|
27
8
|
constructor(scope, id, props) {
|
|
28
9
|
super(scope, id);
|
|
29
|
-
this.dashboard = new
|
|
10
|
+
this.dashboard = new aws_cdk_lib_1.aws_cloudwatch.Dashboard(this, 'Dashboard', {
|
|
30
11
|
dashboardName: `${props.apiName}-${props.stageName}`.replace(/[^\w-]/g, '-'),
|
|
31
12
|
});
|
|
32
|
-
this.apiErrorsWidget = new
|
|
13
|
+
this.apiErrorsWidget = new aws_cdk_lib_1.aws_cloudwatch.GraphWidget({
|
|
33
14
|
title: 'API Errors',
|
|
34
15
|
});
|
|
35
|
-
this.apiLatencyWidget = new
|
|
16
|
+
this.apiLatencyWidget = new aws_cdk_lib_1.aws_cloudwatch.GraphWidget({
|
|
36
17
|
title: 'API Latency',
|
|
37
18
|
});
|
|
38
|
-
this.apiLatencyTailWidget = new
|
|
19
|
+
this.apiLatencyTailWidget = new aws_cdk_lib_1.aws_cloudwatch.GraphWidget({
|
|
39
20
|
title: 'API Latency Longtail',
|
|
40
21
|
});
|
|
41
22
|
this.dashboard.addWidgets(this.getTextWidget('api'), this.apiErrorsWidget, this.apiLatencyWidget, this.apiLatencyTailWidget);
|
|
42
|
-
this.lambdaErrorsWidget = new
|
|
23
|
+
this.lambdaErrorsWidget = new aws_cdk_lib_1.aws_cloudwatch.GraphWidget({
|
|
43
24
|
title: 'Lambda Errors/Throttles',
|
|
44
25
|
});
|
|
45
|
-
this.lambdaInvokesWidget = new
|
|
26
|
+
this.lambdaInvokesWidget = new aws_cdk_lib_1.aws_cloudwatch.GraphWidget({
|
|
46
27
|
title: 'Lambda Invocations',
|
|
47
28
|
});
|
|
48
|
-
this.lambdaDurationsWidget = new
|
|
29
|
+
this.lambdaDurationsWidget = new aws_cdk_lib_1.aws_cloudwatch.GraphWidget({
|
|
49
30
|
title: 'Lambda Duration',
|
|
50
31
|
});
|
|
51
32
|
this.dashboard.addWidgets(this.getTextWidget('functions'), this.lambdaErrorsWidget, this.lambdaInvokesWidget, this.lambdaDurationsWidget);
|
|
@@ -53,14 +34,14 @@ class Monitoring extends cdk.Construct {
|
|
|
53
34
|
getTextWidget(fileName) {
|
|
54
35
|
const file = `./dashboard/${fileName}.md`;
|
|
55
36
|
let markdown = `Create a file called './dashboard/${fileName}.md' to describe this widget`;
|
|
56
|
-
if (fs_1.existsSync(file)) {
|
|
57
|
-
markdown = fs_1.readFileSync(file).toString('utf-8');
|
|
37
|
+
if ((0, fs_1.existsSync)(file)) {
|
|
38
|
+
markdown = (0, fs_1.readFileSync)(file).toString('utf-8');
|
|
58
39
|
}
|
|
59
|
-
return new
|
|
40
|
+
return new aws_cdk_lib_1.aws_cloudwatch.TextWidget({
|
|
60
41
|
markdown,
|
|
61
42
|
height: 6,
|
|
62
43
|
});
|
|
63
44
|
}
|
|
64
45
|
}
|
|
65
46
|
exports.Monitoring = Monitoring;
|
|
66
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
47
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9uaXRvcmluZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb25zdHJ1Y3RzL21vbml0b3JpbmcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsMkJBQThDO0FBQzlDLDZDQUEyRDtBQUMzRCwyQ0FBdUM7QUFldkMsTUFBYSxVQUFXLFNBQVEsc0JBQVM7SUFZdkMsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUFzQjtRQUM5RCxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSw0QkFBVSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsV0FBVyxFQUFFO1lBQzNELGFBQWEsRUFBRSxHQUFHLEtBQUssQ0FBQyxPQUFPLElBQUksS0FBSyxDQUFDLFNBQVMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsR0FBRyxDQUFDO1NBQzdFLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSw0QkFBVSxDQUFDLFdBQVcsQ0FBQztZQUNoRCxLQUFLLEVBQUUsWUFBWTtTQUNwQixDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSw0QkFBVSxDQUFDLFdBQVcsQ0FBQztZQUNqRCxLQUFLLEVBQUUsYUFBYTtTQUNyQixDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsb0JBQW9CLEdBQUcsSUFBSSw0QkFBVSxDQUFDLFdBQVcsQ0FBQztZQUNyRCxLQUFLLEVBQUUsc0JBQXNCO1NBQzlCLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUN2QixJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxFQUN6QixJQUFJLENBQUMsZUFBZSxFQUNwQixJQUFJLENBQUMsZ0JBQWdCLEVBQ3JCLElBQUksQ0FBQyxvQkFBb0IsQ0FDMUIsQ0FBQztRQUVGLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLDRCQUFVLENBQUMsV0FBVyxDQUFDO1lBQ25ELEtBQUssRUFBRSx5QkFBeUI7U0FDakMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLG1CQUFtQixHQUFHLElBQUksNEJBQVUsQ0FBQyxXQUFXLENBQUM7WUFDcEQsS0FBSyxFQUFFLG9CQUFvQjtTQUM1QixDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMscUJBQXFCLEdBQUcsSUFBSSw0QkFBVSxDQUFDLFdBQVcsQ0FBQztZQUN0RCxLQUFLLEVBQUUsaUJBQWlCO1NBQ3pCLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUN2QixJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxFQUMvQixJQUFJLENBQUMsa0JBQWtCLEVBQ3ZCLElBQUksQ0FBQyxtQkFBbUIsRUFDeEIsSUFBSSxDQUFDLHFCQUFxQixDQUMzQixDQUFDO0lBQ0osQ0FBQztJQUVELGFBQWEsQ0FBQyxRQUFnQjtRQUM1QixNQUFNLElBQUksR0FBRyxlQUFlLFFBQVEsS0FBSyxDQUFDO1FBQzFDLElBQUksUUFBUSxHQUFHLHFDQUFxQyxRQUFRLDhCQUE4QixDQUFDO1FBQzNGLElBQUksSUFBQSxlQUFVLEVBQUMsSUFBSSxDQUFDLEVBQUU7WUFDcEIsUUFBUSxHQUFHLElBQUEsaUJBQVksRUFBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDakQ7UUFDRCxPQUFPLElBQUksNEJBQVUsQ0FBQyxVQUFVLENBQUM7WUFDL0IsUUFBUTtZQUNSLE1BQU0sRUFBRSxDQUFDO1NBQ1YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGO0FBakVELGdDQWlFQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGV4aXN0c1N5bmMsIHJlYWRGaWxlU3luYyB9IGZyb20gJ2ZzJztcbmltcG9ydCB7IGF3c19jbG91ZHdhdGNoIGFzIGNsb3Vkd2F0Y2ggfSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcblxuZXhwb3J0IGludGVyZmFjZSBNb25pdG9yaW5nUHJvcHMge1xuXG4gIC8qKlxuICAgKiBOYW1lIG9mIHRoZSBBUElcbiAgICovXG4gIGFwaU5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogRGVwbG95bWVudCBzdGFnZSAoZS5nLiBkZXYpXG4gICAqL1xuICBzdGFnZU5hbWU6IHN0cmluZztcbn1cblxuZXhwb3J0IGNsYXNzIE1vbml0b3JpbmcgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuXG4gIHB1YmxpYyByZWFkb25seSBkYXNoYm9hcmQ6IGNsb3Vkd2F0Y2guRGFzaGJvYXJkO1xuXG4gIHB1YmxpYyByZWFkb25seSBhcGlFcnJvcnNXaWRnZXQ6IGNsb3Vkd2F0Y2guR3JhcGhXaWRnZXQ7XG4gIHB1YmxpYyByZWFkb25seSBhcGlMYXRlbmN5V2lkZ2V0OiBjbG91ZHdhdGNoLkdyYXBoV2lkZ2V0O1xuICBwdWJsaWMgcmVhZG9ubHkgYXBpTGF0ZW5jeVRhaWxXaWRnZXQ6IGNsb3Vkd2F0Y2guR3JhcGhXaWRnZXQ7XG5cbiAgcHVibGljIHJlYWRvbmx5IGxhbWJkYUVycm9yc1dpZGdldDogY2xvdWR3YXRjaC5HcmFwaFdpZGdldDtcbiAgcHVibGljIHJlYWRvbmx5IGxhbWJkYUludm9rZXNXaWRnZXQ6IGNsb3Vkd2F0Y2guR3JhcGhXaWRnZXQ7XG4gIHB1YmxpYyByZWFkb25seSBsYW1iZGFEdXJhdGlvbnNXaWRnZXQ6IGNsb3Vkd2F0Y2guR3JhcGhXaWRnZXQ7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IE1vbml0b3JpbmdQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICB0aGlzLmRhc2hib2FyZCA9IG5ldyBjbG91ZHdhdGNoLkRhc2hib2FyZCh0aGlzLCAnRGFzaGJvYXJkJywge1xuICAgICAgZGFzaGJvYXJkTmFtZTogYCR7cHJvcHMuYXBpTmFtZX0tJHtwcm9wcy5zdGFnZU5hbWV9YC5yZXBsYWNlKC9bXlxcdy1dL2csICctJyksXG4gICAgfSk7XG5cbiAgICB0aGlzLmFwaUVycm9yc1dpZGdldCA9IG5ldyBjbG91ZHdhdGNoLkdyYXBoV2lkZ2V0KHtcbiAgICAgIHRpdGxlOiAnQVBJIEVycm9ycycsXG4gICAgfSk7XG4gICAgdGhpcy5hcGlMYXRlbmN5V2lkZ2V0ID0gbmV3IGNsb3Vkd2F0Y2guR3JhcGhXaWRnZXQoe1xuICAgICAgdGl0bGU6ICdBUEkgTGF0ZW5jeScsXG4gICAgfSk7XG4gICAgdGhpcy5hcGlMYXRlbmN5VGFpbFdpZGdldCA9IG5ldyBjbG91ZHdhdGNoLkdyYXBoV2lkZ2V0KHtcbiAgICAgIHRpdGxlOiAnQVBJIExhdGVuY3kgTG9uZ3RhaWwnLFxuICAgIH0pO1xuXG4gICAgdGhpcy5kYXNoYm9hcmQuYWRkV2lkZ2V0cyhcbiAgICAgIHRoaXMuZ2V0VGV4dFdpZGdldCgnYXBpJyksXG4gICAgICB0aGlzLmFwaUVycm9yc1dpZGdldCxcbiAgICAgIHRoaXMuYXBpTGF0ZW5jeVdpZGdldCxcbiAgICAgIHRoaXMuYXBpTGF0ZW5jeVRhaWxXaWRnZXQsXG4gICAgKTtcblxuICAgIHRoaXMubGFtYmRhRXJyb3JzV2lkZ2V0ID0gbmV3IGNsb3Vkd2F0Y2guR3JhcGhXaWRnZXQoe1xuICAgICAgdGl0bGU6ICdMYW1iZGEgRXJyb3JzL1Rocm90dGxlcycsXG4gICAgfSk7XG4gICAgdGhpcy5sYW1iZGFJbnZva2VzV2lkZ2V0ID0gbmV3IGNsb3Vkd2F0Y2guR3JhcGhXaWRnZXQoe1xuICAgICAgdGl0bGU6ICdMYW1iZGEgSW52b2NhdGlvbnMnLFxuICAgIH0pO1xuICAgIHRoaXMubGFtYmRhRHVyYXRpb25zV2lkZ2V0ID0gbmV3IGNsb3Vkd2F0Y2guR3JhcGhXaWRnZXQoe1xuICAgICAgdGl0bGU6ICdMYW1iZGEgRHVyYXRpb24nLFxuICAgIH0pO1xuXG4gICAgdGhpcy5kYXNoYm9hcmQuYWRkV2lkZ2V0cyhcbiAgICAgIHRoaXMuZ2V0VGV4dFdpZGdldCgnZnVuY3Rpb25zJyksXG4gICAgICB0aGlzLmxhbWJkYUVycm9yc1dpZGdldCxcbiAgICAgIHRoaXMubGFtYmRhSW52b2tlc1dpZGdldCxcbiAgICAgIHRoaXMubGFtYmRhRHVyYXRpb25zV2lkZ2V0LFxuICAgICk7XG4gIH1cblxuICBnZXRUZXh0V2lkZ2V0KGZpbGVOYW1lOiBzdHJpbmcpOiBjbG91ZHdhdGNoLlRleHRXaWRnZXQge1xuICAgIGNvbnN0IGZpbGUgPSBgLi9kYXNoYm9hcmQvJHtmaWxlTmFtZX0ubWRgO1xuICAgIGxldCBtYXJrZG93biA9IGBDcmVhdGUgYSBmaWxlIGNhbGxlZCAnLi9kYXNoYm9hcmQvJHtmaWxlTmFtZX0ubWQnIHRvIGRlc2NyaWJlIHRoaXMgd2lkZ2V0YDtcbiAgICBpZiAoZXhpc3RzU3luYyhmaWxlKSkge1xuICAgICAgbWFya2Rvd24gPSByZWFkRmlsZVN5bmMoZmlsZSkudG9TdHJpbmcoJ3V0Zi04Jyk7XG4gICAgfVxuICAgIHJldHVybiBuZXcgY2xvdWR3YXRjaC5UZXh0V2lkZ2V0KHtcbiAgICAgIG1hcmtkb3duLFxuICAgICAgaGVpZ2h0OiA2LFxuICAgIH0pO1xuICB9XG59Il19
|
|
@@ -1,8 +1,5 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
import * as events from '@aws-cdk/aws-events';
|
|
4
|
-
import * as s3 from '@aws-cdk/aws-s3';
|
|
5
|
-
import * as cdk from '@aws-cdk/core';
|
|
1
|
+
import { aws_cognito as cognito, aws_dynamodb as dynamodb, aws_events as events, aws_s3 as s3 } from 'aws-cdk-lib';
|
|
2
|
+
import { Construct } from 'constructs';
|
|
6
3
|
import { LambdaFunction, LambdaOptions } from './func';
|
|
7
4
|
export interface ScheduledFunctionProps {
|
|
8
5
|
/**
|
|
@@ -59,8 +56,8 @@ export interface ScheduledFunctionProps {
|
|
|
59
56
|
*/
|
|
60
57
|
schedule: events.Schedule;
|
|
61
58
|
}
|
|
62
|
-
export declare class ScheduledFunction extends
|
|
59
|
+
export declare class ScheduledFunction extends Construct {
|
|
63
60
|
readonly lambdaFunction: LambdaFunction;
|
|
64
61
|
readonly rule: events.Rule;
|
|
65
|
-
constructor(scope:
|
|
62
|
+
constructor(scope: Construct, id: string, props: ScheduledFunctionProps);
|
|
66
63
|
}
|
|
@@ -21,11 +21,10 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
21
21
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
22
|
exports.ScheduledFunction = void 0;
|
|
23
23
|
const fs = __importStar(require("fs"));
|
|
24
|
-
const
|
|
25
|
-
const
|
|
26
|
-
const cdk = __importStar(require("@aws-cdk/core"));
|
|
24
|
+
const aws_cdk_lib_1 = require("aws-cdk-lib");
|
|
25
|
+
const constructs_1 = require("constructs");
|
|
27
26
|
const func_1 = require("./func");
|
|
28
|
-
class ScheduledFunction extends
|
|
27
|
+
class ScheduledFunction extends constructs_1.Construct {
|
|
29
28
|
constructor(scope, id, props) {
|
|
30
29
|
super(scope, id);
|
|
31
30
|
const entryFile = `./src/lambda/schedule.${props.name.toLowerCase().replace(/[^\w-]/g, '-')}.ts`;
|
|
@@ -41,11 +40,11 @@ class ScheduledFunction extends cdk.Construct {
|
|
|
41
40
|
description: `Scheduler for ${props.name}`,
|
|
42
41
|
...props,
|
|
43
42
|
});
|
|
44
|
-
this.rule = new
|
|
43
|
+
this.rule = new aws_cdk_lib_1.aws_events.Rule(this, 'RuleNotifyHosts', {
|
|
45
44
|
schedule: props.schedule,
|
|
46
|
-
targets: [new
|
|
45
|
+
targets: [new aws_cdk_lib_1.aws_events_targets.LambdaFunction(this.lambdaFunction)],
|
|
47
46
|
});
|
|
48
47
|
}
|
|
49
48
|
}
|
|
50
49
|
exports.ScheduledFunction = ScheduledFunction;
|
|
51
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZWR1bGVkLWZ1bmMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29uc3RydWN0cy9zY2hlZHVsZWQtZnVuYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsdUNBQXlCO0FBQ3pCLDZDQU1xQjtBQUNyQiwyQ0FBdUM7QUFDdkMsaUNBQXVEO0FBb0V2RCxNQUFhLGlCQUFrQixTQUFRLHNCQUFTO0lBSzlDLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBNkI7UUFDckUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixNQUFNLFNBQVMsR0FBRyx5QkFBeUIsS0FBSyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLEdBQUcsQ0FBQyxLQUFLLENBQUM7UUFDakcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLEVBQUU7WUFDN0IsRUFBRSxDQUFDLGFBQWEsQ0FBQyxTQUFTLEVBQUU7O0lBRTlCLEVBQUU7Z0JBQ0UsUUFBUSxFQUFFLE9BQU87YUFDbEIsQ0FBQyxDQUFDO1NBQ0o7UUFFRCxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUkscUJBQWMsQ0FBQyxJQUFJLEVBQUUsVUFBVSxFQUFFO1lBQ3pELEtBQUssRUFBRSxTQUFTO1lBQ2hCLFdBQVcsRUFBRSxpQkFBaUIsS0FBSyxDQUFDLElBQUksRUFBRTtZQUMxQyxHQUFHLEtBQUs7U0FDVCxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksd0JBQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLGlCQUFpQixFQUFFO1lBQ25ELFFBQVEsRUFBRSxLQUFLLENBQUMsUUFBUTtZQUN4QixPQUFPLEVBQUUsQ0FBQyxJQUFJLGdDQUFhLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztTQUNqRSxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0Y7QUEzQkQsOENBMkJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgZnMgZnJvbSAnZnMnO1xuaW1wb3J0IHtcbiAgYXdzX2NvZ25pdG8gYXMgY29nbml0byxcbiAgYXdzX2R5bmFtb2RiIGFzIGR5bmFtb2RiLFxuICBhd3NfZXZlbnRzIGFzIGV2ZW50cyxcbiAgYXdzX2V2ZW50c190YXJnZXRzIGFzIGV2ZW50c1RhcmdldHMsXG4gIGF3c19zMyBhcyBzMyxcbn0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgeyBMYW1iZGFGdW5jdGlvbiwgTGFtYmRhT3B0aW9ucyB9IGZyb20gJy4vZnVuYyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2NoZWR1bGVkRnVuY3Rpb25Qcm9wcyB7XG4gIC8qKlxuICAgKiBOYW1lIG9mIHRoZSBzY2hlZHVsZXJcbiAgICovXG4gIG5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogRGVwbG95bWVudCBzdGFnZSAoZS5nLiBkZXYpXG4gICAqL1xuICBzdGFnZU5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogRHluYW1vREIgdGhhdCBpcyB1c2VkIGFzIGRhdGFzdG9yZVxuICAgKiBUaGUgTGFtYmRhIGZ1bmN0aW9uIHdpbGwgaGF2ZSByZWFkIGFjY2VzcyB0byB0aGlzIHRhYmxlIGF1dG9tYXRpY2FsbHlcbiAgICogVGhlIG5hbWUgb2YgdGhlIHRhYmxlIGlzIGF2YWlsYWJsZSBhcyBwcm9jZXNzLmVudi5UQUJMRVxuICAgKi9cbiAgdGFibGU/OiBkeW5hbW9kYi5JVGFibGU7XG5cbiAgLyoqXG4gICAqIEFjdGl2YXRlIHdyaXRlIHBlcm1pc3Npb25zIHRvIHRoZSBEeW5hbW9EQiB0YWJsZVxuICAgKi9cbiAgdGFibGVXcml0ZXM/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBDb2duaXRvIHVzZXIgcG9vbFxuICAgKiBUaGUgbmFtZSBvZiB0aGUgcG9vbCBpcyBhdmFpbGFibGUgYXMgcHJvY2Vzcy5lbnYuVVNFUl9QT09MX0lEXG4gICAqL1xuICB1c2VyUG9vbD86IGNvZ25pdG8uSVVzZXJQb29sO1xuXG4gIC8qKlxuICAgKiBCdWNrZXQgdGhhdCBpcyB1c2VkIGZvciBhc3NldHMgYW5kIHB1Ymxpc2hlZCB1c2luZyB0aGUgYXNzZXQgQ0ROXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBidWNrZXQgaXMgYXZhaWxhYmxlIGFzIHByb2Nlc3MuZW52LkFTU0VUX0JVQ0tFVFxuICAgKi9cbiAgYXNzZXRCdWNrZXQ/OiBzMy5CdWNrZXQ7XG5cbiAgLyoqXG4gICAqIEZ1bGx5IHF1YWxpZmllZCBkb21haW4gbmFtZSBvZiB0aGUgYXNzZXQgQ0ROXG4gICAqIEl0IGlzIGF2YWlsYWJsZSBhcyBwcm9jZXNzLmVudi5BU1NFVF9ET01BSU5fTkFNRVxuICAgKi9cbiAgYXNzZXREb21haW5OYW1lPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBTaG91bGQgdGhlIEFXUy1TREsgYmUgcGFja2FnZWQgd2l0aCB0aGUgTGFtYmRhIGNvZGUgb3IgZXhjbHVkZWRcbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2UgKGV4Y2x1ZGUgU0RLIGFuZCB1c2UgcnVudGltZSBwcm92aWRlZCBvbmUpXG4gICAqL1xuICBpbmNsdWRlU0RLPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogYWRkaXRpb25hbCBlbnZpcm9ubWVudCB2YXJpYWJsZXMgb2YgdGhlIExhbWJkYSBmdW5jdGlvblxuICAgKi9cbiAgYWRkaXRpb25hbEVudj86IHtcbiAgICBba2V5OiBzdHJpbmddOiBzdHJpbmc7XG4gIH07XG5cbiAgLyoqXG4gICAqIGFkZGl0aW9uYWwgb3B0aW9ucyBmb3IgdGhlIHVuZGVybHlpbmcgTGFtYmRhIGZ1bmN0aW9uIGNvbnN0cnVjdFxuICAgKi9cbiAgbGFtYmRhT3B0aW9ucz86IExhbWJkYU9wdGlvbnM7XG5cbiAgLyoqXG4gICAqIFRoZSBzY2hlZHVsZSB0byBydW4gdGhlIGZ1bmN0aW9uXG4gICAqL1xuICBzY2hlZHVsZTogZXZlbnRzLlNjaGVkdWxlO1xufVxuXG5leHBvcnQgY2xhc3MgU2NoZWR1bGVkRnVuY3Rpb24gZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuXG4gIHB1YmxpYyByZWFkb25seSBsYW1iZGFGdW5jdGlvbjogTGFtYmRhRnVuY3Rpb247XG4gIHB1YmxpYyByZWFkb25seSBydWxlOiBldmVudHMuUnVsZTtcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogU2NoZWR1bGVkRnVuY3Rpb25Qcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICBjb25zdCBlbnRyeUZpbGUgPSBgLi9zcmMvbGFtYmRhL3NjaGVkdWxlLiR7cHJvcHMubmFtZS50b0xvd2VyQ2FzZSgpLnJlcGxhY2UoL1teXFx3LV0vZywgJy0nKX0udHNgO1xuICAgIGlmICghZnMuZXhpc3RzU3luYyhlbnRyeUZpbGUpKSB7XG4gICAgICBmcy53cml0ZUZpbGVTeW5jKGVudHJ5RmlsZSwgYGV4cG9ydCBhc3luYyBmdW5jdGlvbiBoYW5kbGVyKF9ldmVudDogQVdTTGFtYmRhLlNjaGVkdWxlZEV2ZW50KTogUHJvbWlzZTx2b2lkPiB7XG4gIHRocm93IG5ldyBFcnJvcignTm90IHlldCBpbXBsZW1lbnRlZCcpO1xufSk7YCwge1xuICAgICAgICBlbmNvZGluZzogJ3V0Zi04JyxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHRoaXMubGFtYmRhRnVuY3Rpb24gPSBuZXcgTGFtYmRhRnVuY3Rpb24odGhpcywgJ1Jlc291cmNlJywge1xuICAgICAgZW50cnk6IGVudHJ5RmlsZSxcbiAgICAgIGRlc2NyaXB0aW9uOiBgU2NoZWR1bGVyIGZvciAke3Byb3BzLm5hbWV9YCxcbiAgICAgIC4uLnByb3BzLFxuICAgIH0pO1xuICAgIHRoaXMucnVsZSA9IG5ldyBldmVudHMuUnVsZSh0aGlzLCAnUnVsZU5vdGlmeUhvc3RzJywge1xuICAgICAgc2NoZWR1bGU6IHByb3BzLnNjaGVkdWxlLFxuICAgICAgdGFyZ2V0czogW25ldyBldmVudHNUYXJnZXRzLkxhbWJkYUZ1bmN0aW9uKHRoaXMubGFtYmRhRnVuY3Rpb24pXSxcbiAgICB9KTtcbiAgfVxufSJdfQ==
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
import * as cdk from '@aws-cdk/core';
|
|
1
|
+
import { aws_dynamodb as dynamodb, aws_kms as kms } from 'aws-cdk-lib';
|
|
2
|
+
import { Construct } from 'constructs';
|
|
4
3
|
import * as tableTypes from '../types/table';
|
|
5
4
|
export interface SingleTableDatastoreProps {
|
|
6
5
|
/**
|
|
@@ -25,9 +24,9 @@ export interface SingleTableDatastoreProps {
|
|
|
25
24
|
*/
|
|
26
25
|
readonly encryptionKey?: kms.IKey;
|
|
27
26
|
}
|
|
28
|
-
export declare class SingleTableDatastore extends
|
|
27
|
+
export declare class SingleTableDatastore extends Construct {
|
|
29
28
|
readonly table: dynamodb.Table;
|
|
30
|
-
constructor(scope:
|
|
29
|
+
constructor(scope: Construct, id: string, props: SingleTableDatastoreProps);
|
|
31
30
|
/**
|
|
32
31
|
* addGlobalSecondaryIndex
|
|
33
32
|
*/
|