@sylvesterllc/aws-constructs 1.1.55 → 1.1.60
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.
|
@@ -39,7 +39,7 @@ const createBasicLambdaProps = (props) => {
|
|
|
39
39
|
const lambdaProp = {
|
|
40
40
|
entry: resolvedEntry,
|
|
41
41
|
functionName: `${props.appPrefix ? `${props.appPrefix}-` : ""}${props.functionName}`,
|
|
42
|
-
handler: "main
|
|
42
|
+
handler: "main",
|
|
43
43
|
logRetention: aws_logs_1.RetentionDays.TWO_WEEKS,
|
|
44
44
|
runtime: aws_lambda_1.Runtime.NODEJS_LATEST,
|
|
45
45
|
timeout: aws_cdk_lib_1.Duration.minutes(props.timeoutInMinutes ? props.timeoutInMinutes : 1),
|
|
@@ -81,4 +81,4 @@ const addLambdaLayers = (scope, lambda, layerArns) => {
|
|
|
81
81
|
});
|
|
82
82
|
}
|
|
83
83
|
};
|
|
84
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
84
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWJhc2ljLWxhbWJkYS1oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcmVzb3VyY2VzL2xhbWJkYS9jcmVhdGUtYmFzaWMtbGFtYmRhLWhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw2Q0FBdUM7QUFFdkMsdURBQStEO0FBQy9ELHFFQUl1QztBQUN2QyxtREFBcUQ7QUFDckQsNkJBQThCO0FBRzlCLDJEQUFpRDtBQUUxQyxNQUFNLGlCQUFpQixHQUFHLENBQy9CLEtBQWdCLEVBQ2hCLEtBQWtCLEVBQ0YsRUFBRTtJQUNsQixNQUFNLFdBQVcsR0FBRyxzQkFBc0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUVsRCxJQUFJLGNBQWMsR0FBRyxJQUFJLGtDQUFjLENBQ3JDLEtBQUssRUFDTCxHQUFHLEtBQUssQ0FBQyxTQUFTLElBQUksRUFBRSxHQUFHLEtBQUssQ0FBQyxZQUFZLEVBQUUsRUFDL0MsV0FBVyxDQUNaLENBQUM7SUFFRix5QkFBeUIsQ0FBQyxLQUFLLEVBQUUsY0FBYyxFQUFFLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBRXpFLGVBQWUsQ0FBQyxLQUFLLEVBQUUsY0FBYyxFQUFFLEtBQUssQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUU3RCxPQUFPLGNBQWMsQ0FBQztBQUN4QixDQUFDLENBQUM7QUFqQlcsUUFBQSxpQkFBaUIscUJBaUI1QjtBQUVGLE1BQU0sc0JBQXNCLEdBQUcsQ0FBQyxLQUFrQixFQUF1QixFQUFFO0lBQ3pFLElBQUksYUFBcUIsQ0FBQztJQUUxQixJQUFJLEtBQUssQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztRQUN0RCxhQUFhLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQztJQUNqQyxDQUFDO1NBQU0sSUFBSSxLQUFLLENBQUMsUUFBUSxJQUFJLEtBQUssQ0FBQyxXQUFX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LFNBQW9CLEVBQ3BCLEVBQUU7SUFDRixJQUFJLFNBQVMsSUFBSSxTQUFTLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQ3RDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFXLEVBQUUsR0FBVyxFQUFFLEVBQUU7WUFDN0MsTUFBTSxLQUFLLEdBQUcseUJBQVksQ0FBQyxtQkFBbUIsQ0FDNUMsS0FBSyxFQUNMLGdCQUFnQixHQUFHLEVBQUUsRUFDckIsR0FBRyxDQUNKLENBQUM7WUFFRixNQUFNLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzFCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztBQUNILENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IER1cmF0aW9uIH0gZnJvbSBcImF3cy1jZGstbGliXCI7XHJcbmltcG9ydCB7IFNlcnZpY2VQcmluY2lwYWwgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWlhbVwiO1xyXG5pbXBvcnQgeyBMYXllclZlcnNpb24sIFJ1bnRpbWUgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWxhbWJkYVwiO1xyXG5pbXBvcnQge1xyXG4gIE5vZGVqc0Z1bmN0aW9uLFxyXG4gIE5vZGVqc0Z1bmN0aW9uUHJvcHMsXHJcbiAgU291cmNlTWFwTW9kZSxcclxufSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWxhbWJkYS1ub2RlanNcIjtcclxuaW1wb3J0IHsgUmV0ZW50aW9uRGF5cyB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtbG9nc1wiO1xyXG5pbXBvcnQgcGF0aCA9IHJlcXVpcmUoXCJwYXRoXCIpO1xyXG5pbXBvcnQgeyBMYW1iZGFQcm9wcyB9IGZyb20gXCIuLi8uLi9pbnRlcmZhY2VzL2xhbWJkYVwiO1xyXG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xyXG5pbXBvcnQgeyBUYWJsZSB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtZHluYW1vZGJcIjtcclxuXHJcbmV4cG9ydCBjb25zdCBjcmVhdGVCYXNpY0xhbWJkYSA9IChcclxuICBzY29wZTogQ29uc3RydWN0LFxyXG4gIHByb3BzOiBMYW1iZGFQcm9wcyxcclxuKTogTm9kZWpzRnVuY3Rpb24gPT4ge1xyXG4gIGNvbnN0IGxhbWJkYVByb3BzID0gY3JlYXRlQmFzaWNMYW1iZGFQcm9wcyhwcm9wcyk7XHJcblxyXG4gIGxldCBsYW1iZGFGdW5jdGlvbiA9IG5ldyBOb2RlanNGdW5jdGlvbihcclxuICAgIHNjb3BlLFxyXG4gICAgYCR7cHJvcHMuYXBwUHJlZml4IHx8IFwiXCJ9JHtwcm9wcy5mdW5jdGlvbk5hbWV9YCxcclxuICAgIGxhbWJkYVByb3BzLFxyXG4gICk7XHJcblxyXG4gIGdyYW50QWNjZXNzVG9EeW5hbW9UYWJsZXMoc2NvcGUsIGxhbWJkYUZ1bmN0aW9uLCBwcm9wcy5keW5hbW9UYWJsZU5hbWVzKTtcclxuXHJcbiAgYWRkTGFtYmRhTGF5ZXJzKHNjb3BlLCBsYW1iZGFGdW5jdGlvbiwgcHJvcHMubGFtYmRhTGF5ZXJBcm4pO1xyXG5cclxuICByZXR1cm4gbGFtYmRhRnVuY3Rpb247XHJcbn07XHJcblxyXG5jb25zdCBjcmVhdGVCYXNpY0xhbWJkYVByb3BzID0gKHByb3BzOiBMYW1iZGFQcm9wcyk6IE5vZGVqc0Z1bmN0aW9uUHJvcHMgPT4ge1xyXG4gIGxldCByZXNvbHZlZEVudHJ5OiBzdHJpbmc7XHJcblxyXG4gIGlmIChwcm9wcy5jb2RlUGF0aCAmJiBwYXRoLmlzQWJzb2x1dGUocHJvcHMuY29kZVBhdGgpKSB7XHJcbiAgICByZXNvbHZlZEVudHJ5ID0gcHJvcHMuY29kZVBhdGg7XHJcbiAgfSBlbHNlIGlmIChwcm9wcy5jb2RlUGF0aCAmJiBwcm9wcy5wcm9qZWN0Um9vdCkge1xyXG4gICAgLy8gY29kZVBhdGggaXMgcmVsYXRpdmUsIHJlc29sdmUgZnJvbSBjdXJyZW50IGRpcmVjdG9yeSArIHByb2plY3RSb290XHJcbiAgICByZXNvbHZlZEVudHJ5ID0gcGF0aC5yZXNvbHZlKHByb2Nlc3MuY3dkKCksIHByb3BzLmNvZGVQYXRoKTtcclxuICB9IGVsc2UgaWYgKHByb3BzLnByb2plY3RSb290KSB7XHJcbiAgICAvLyBObyBjb2RlUGF0aCwgdXNlIGRlZmF1bHQgcGF0aCB3aXRoIHByb2plY3RSb290XHJcbiAgICByZXNvbHZlZEVudHJ5ID0gcGF0aC5yZXNvbHZlKFxyXG4gICAgICBwcm9jZXNzLmN3ZCgpLFxyXG4gICAgICBwcm9wcy5wcm9qZWN0Um9vdCxcclxuICAgICAgYHJlc291cmNlcy9sYW1iZGFzLyR7cHJvcHMuZnVuY3Rpb25OYW1lfS9tYWluLm10c2AsXHJcbiAgICApO1xyXG4gIH0gZWxzZSBpZiAocHJvcHMuY29kZVBhdGgpIHtcclxuICAgIC8vIGNvZGVQYXRoIHdpdGhvdXQgcHJvamVjdFJvb3RcclxuICAgIHJlc29sdmVkRW50cnkgPSBwYXRoLnJlc29sdmUocHJvY2Vzcy5jd2QoKSwgcHJvcHMuY29kZVBhdGgpO1xyXG4gIH0gZWxzZSB7XHJcbiAgICAvLyBEZWZhdWx0IHBhdGggd2l0aG91dCBwcm9qZWN0Um9vdFxyXG4gICAgcmVzb2x2ZWRFbnRyeSA9IHBhdGguam9pbihcclxuICAgICAgYC4vcmVzb3VyY2VzL2xhbWJkYXMvJHtwcm9wcy5mdW5jdGlvbk5hbWV9L21haW4ubXRzYCxcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBjb25zdCBsYW1iZGFQcm9wOiBOb2RlanNGdW5jdGlvblByb3BzID0ge1xyXG4gICAgZW50cnk6IHJlc29sdmVkRW50cnksXHJcbiAgICBmdW5jdGlvbk5hbWU6IGAke3Byb3BzLmFwcFByZWZpeCA/IGAke3Byb3BzLmFwcFByZWZpeH0tYCA6IFwiXCJ9JHtcclxuICAgICAgcHJvcHMuZnVuY3Rpb25OYW1lXHJcbiAgICB9YCxcclxuICAgIGhhbmRsZXI6IFwibWFpblwiLFxyXG4gICAgbG9nUmV0ZW50aW9uOiBSZXRlbnRpb25EYXlzLlRXT19XRUVLUyxcclxuICAgIHJ1bnRpbWU6IFJ1bnRpbWUuTk9ERUpTX0xBVEVTVCxcclxuICAgIHRpbWVvdXQ6IER1cmF0aW9uLm1pbnV0ZXMoXHJcbiAgICAgIHByb3BzLnRpbWVvdXRJbk1pbnV0ZXMgPyBwcm9wcy50aW1lb3V0SW5NaW51dGVzIDogMSxcclxuICAgICksXHJcbiAgICBtZW1vcnlTaXplOiBwcm9wcy5tZW1vcnksXHJcbiAgICBlbnZpcm9ubWVudDoge1xyXG4gICAgICAuLi5wcm9wcy5lbnZzLFxyXG4gICAgfSxcclxuICAgIGJ1bmRsaW5nOiB7XHJcbiAgICAgIG1pbmlmeTogdHJ1ZSxcclxuICAgICAgdGFyZ2V0OiBgZXNuZXh0YCxcclxuICAgICAgc291cmNlTWFwOiB0cnVlLFxyXG4gICAgICBzb3VyY2VNYXBNb2RlOiBTb3VyY2VNYXBNb2RlLkVYVEVSTkFMLFxyXG4gICAgICBlbnZpcm9ubWVudDoge1xyXG4gICAgICAgIC4uLnByb3BzLmVudnMsXHJcbiAgICAgIH0sXHJcbiAgICAgIC4uLihwcm9wcy5wcm9qZWN0Um9vdCAmJiB7IHByb2plY3RSb290OiBwcm9wcy5wcm9qZWN0Um9vdCB9KSxcclxuICAgICAgLi4uKHByb3BzLmRlcHNMb2NrRmlsZVBhdGggJiYge1xyXG4gICAgICAgIGRlcHNMb2NrRmlsZVBhdGg6IHByb3BzLmRlcHNMb2NrRmlsZVBhdGgsXHJcbiAgICAgIH0pLFxyXG4gICAgfSxcclxuICAgIHJvbGU6IHByb3BzLnJvbGUsXHJcbiAgICBsYXllcnM6IHVuZGVmaW5lZCxcclxuICB9O1xyXG5cclxuICByZXR1cm4gbGFtYmRhUHJvcDtcclxufTtcclxuXHJcbmNvbnN0IGdyYW50QWNjZXNzVG9EeW5hbW9UYWJsZXMgPSAoXHJcbiAgc2NvcGU6IENvbnN0cnVjdCxcclxuICBsYW1iZGE6IE5vZGVqc0Z1bmN0aW9uLFxyXG4gIHRhYmxlTmFtZXM/OiBzdHJpbmdbXSxcclxuKSA9PiB7XHJcbiAgaWYgKHRhYmxlTmFtZXMgJiYgdGFibGVOYW1lcy5sZW5ndGggPiAwKSB7XHJcbiAgICB0YWJsZU5hbWVzLmZvckVhY2goKHRhYmxlTmFtZSkgPT4ge1xyXG4gICAgICBjb25zdCB0YWJsZSA9IFRhYmxlLmZyb21UYWJsZU5hbWUoc2NvcGUsIGAke3RhYmxlTmFtZX0tdGFibGVgLCB0YWJsZU5hbWUpO1xyXG5cclxuICAgICAgdGFibGUuZ3JhbnRSZWFkV3JpdGVEYXRhKGxhbWJkYSk7XHJcbiAgICB9KTtcclxuICB9XHJcbn07XHJcblxyXG5jb25zdCBhZGRMYW1iZGFMYXllcnMgPSAoXHJcbiAgc2NvcGU6IENvbnN0cnVjdCxcclxuICBsYW1iZGE6IE5vZGVqc0Z1bmN0aW9uLFxyXG4gIGxheWVyQXJucz86IHN0cmluZ1tdLFxyXG4pID0+IHtcclxuICBpZiAobGF5ZXJBcm5zICYmIGxheWVyQXJucy5sZW5ndGggPiAwKSB7XHJcbiAgICBsYXllckFybnMuZm9yRWFjaCgoYXJuOiBzdHJpbmcsIGlkeDogbnVtYmVyKSA9PiB7XHJcbiAgICAgIGNvbnN0IGxheWVyID0gTGF5ZXJWZXJzaW9uLmZyb21MYXllclZlcnNpb25Bcm4oXHJcbiAgICAgICAgc2NvcGUsXHJcbiAgICAgICAgYGNvbW1vbi1sYXllci0ke2lkeH1gLFxyXG4gICAgICAgIGFybixcclxuICAgICAgKTtcclxuXHJcbiAgICAgIGxhbWJkYS5hZGRMYXllcnMobGF5ZXIpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG59O1xyXG4iXX0=
|
|
@@ -46,7 +46,7 @@ const createBasicLambdaProps = (props) => {
|
|
|
46
46
|
const lambdaProp = {
|
|
47
47
|
entry: resolvedEntry,
|
|
48
48
|
functionName: `${props.appPrefix ? `${props.appPrefix}-` : ""}${props.functionName}`,
|
|
49
|
-
handler: "main
|
|
49
|
+
handler: "main",
|
|
50
50
|
logRetention: aws_logs_1.RetentionDays.TWO_WEEKS,
|
|
51
51
|
runtime: aws_lambda_1.Runtime.NODEJS_LATEST,
|
|
52
52
|
timeout: aws_cdk_lib_1.Duration.minutes(props.timeoutInMinutes ? props.timeoutInMinutes : 1),
|
|
@@ -99,4 +99,4 @@ const addLambdaLayers = (scope, lambda, layerArns) => {
|
|
|
99
99
|
});
|
|
100
100
|
}
|
|
101
101
|
};
|
|
102
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWJhc2ljLWxhbWJkYS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9yZXNvdXJjZXMvbGFtYmRhL2NyZWF0ZS1iYXNpYy1sYW1iZGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNkNBQXVDO0FBQ3ZDLGlEQUF1RDtBQUN2RCx1REFBK0Q7QUFDL0QscUVBSXVDO0FBQ3ZDLG1EQUFxRDtBQUNyRCw2QkFBOEI7QUFHOUIscUdBQW9GO0FBQ3BGLHVEQUFxRTtBQUNyRSx1RUFBZ0U7QUFDaEUsMkRBQWlEO0FBRTFDLE1BQU0seUJBQXlCLEdBQUcsQ0FDdkMsS0FBZ0IsRUFDaEIsS0FBb0IsRUFDSixFQUFFO0lBQ2xCLE1BQU0sV0FBVyxHQUFHLHNCQUFzQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBRWxELElBQUksY0FBYyxHQUFHLElBQUksa0NBQWMsQ0FDckMsS0FBSyxFQUNMLEdBQUcsS0FBSyxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUMsWUFBWSxFQUFFLEVBQ3pDLFdBQVcsQ0FDWixDQUFDO0lBRUYsb0NBQW9DLENBQUMsY0FBYyxFQUFFLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUV6RSxNQUFNLFNBQVMsR0FBRyx3QkFBd0IsQ0FDeEMsS0FBSyxFQUNMLGNBQWMsRUFDZCxLQUFLLENBQUMsV0FBVyxDQUNsQixDQUFDO0lBRUYsU0FBUyxDQUFDLFNBQVMsQ0FBQyxJQUFJLG1DQUFjLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQztJQUV4RCx5QkFBeUIsQ0FBQyxLQUFLLEVBQUUsY0FBYyxFQUFFLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBRXpFLGVBQWUsQ0FBQyxLQUFLLEVBQUUsY0FBYyxFQUFFLEtBQUssQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUU3RCxPQUFPLGNBQWMsQ0FBQztBQUN4QixDQUFDLENBQUM7QUEzQlcsUUFBQSx5QkFBeUIsNkJBMkJwQztBQUVGLE1BQU0sc0JBQXNC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WUFFRixNQUFNLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzFCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztBQUNILENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IER1cmF0aW9uIH0gZnJvbSBcImF3cy1jZGstbGliXCI7XHJcbmltcG9ydCB7IFNlcnZpY2VQcmluY2lwYWwgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWlhbVwiO1xyXG5pbXBvcnQgeyBMYXllclZlcnNpb24sIFJ1bnRpbWUgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWxhbWJkYVwiO1xyXG5pbXBvcnQge1xyXG4gIE5vZGVqc0Z1bmN0aW9uLFxyXG4gIE5vZGVqc0Z1bmN0aW9uUHJvcHMsXHJcbiAgU291cmNlTWFwTW9kZSxcclxufSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWxhbWJkYS1ub2RlanNcIjtcclxuaW1wb3J0IHsgUmV0ZW50aW9uRGF5cyB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtbG9nc1wiO1xyXG5pbXBvcnQgcGF0aCA9IHJlcXVpcmUoXCJwYXRoXCIpO1xyXG5pbXBvcnQgeyBUaW1lckpvYlByb3BzIH0gZnJvbSBcIi4uLy4uL2ludGVyZmFjZXMvdGltZXItam9iXCI7XHJcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XHJcbmltcG9ydCB7IFNFUlZJQ0VfUFJJTkNJUEFMIH0gZnJvbSBcIi4uLy4uL2NvbnN0YW50cy9hd3Mtc2VydmljZS1wcmluY2lwYWwtY29uc3RhbnRzXCI7XHJcbmltcG9ydCB7IENyb25PcHRpb25zLCBSdWxlLCBTY2hlZHVsZSB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtZXZlbnRzXCI7XHJcbmltcG9ydCB7IExhbWJkYUZ1bmN0aW9uIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1ldmVudHMtdGFyZ2V0c1wiO1xyXG5pbXBvcnQgeyBUYWJsZSB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtZHluYW1vZGJcIjtcclxuXHJcbmV4cG9ydCBjb25zdCBjcmVhdGVCYXNpY0xhbWJkYVRpbWVySm9iID0gKFxyXG4gIHNjb3BlOiBDb25zdHJ1Y3QsXHJcbiAgcHJvcHM6IFRpbWVySm9iUHJvcHNcclxuKTogTm9kZWpzRnVuY3Rpb24gPT4ge1xyXG4gIGNvbnN0IGxhbWJkYVByb3BzID0gY3JlYXRlQmFzaWNMYW1iZGFQcm9wcyhwcm9wcyk7XHJcblxyXG4gIGxldCBsYW1iZGFGdW5jdGlvbiA9IG5ldyBOb2RlanNGdW5jdGlvbihcclxuICAgIHNjb3BlLFxyXG4gICAgYCR7cHJvcHMuYXBwUHJlZml4fSR7cHJvcHMuZnVuY3Rpb25OYW1lfWAsXHJcbiAgICBsYW1iZGFQcm9wc1xyXG4gICk7XHJcblxyXG4gIGFkZEludm9rZVBlcm1pc3Npb25Ub0xhbWJkYUZvckV2ZW50cyhsYW1iZGFGdW5jdGlvbiwgcHJvcHMuZnVuY3Rpb25OYW1lKTtcclxuXHJcbiAgY29uc3QgZXZlbnRSdWxlID0gY3JlYXRlRXZlbnRSdWxlRm9yTGFtYmRhKFxyXG4gICAgc2NvcGUsXHJcbiAgICBsYW1iZGFGdW5jdGlvbixcclxuICAgIHByb3BzLmNyb25PcHRpb25zXHJcbiAgKTtcclxuXHJcbiAgZXZlbnRSdWxlLmFkZFRhcmdldChuZXcgTGFtYmRhRnVuY3Rpb24obGFtYmRhRnVuY3Rpb24pKTtcclxuXHJcbiAgZ3JhbnRBY2Nlc3NUb0R5bmFtb1RhYmxlcyhzY29wZSwgbGFtYmRhRnVuY3Rpb24sIHByb3BzLmR5bmFtb1RhYmxlTmFtZXMpO1xyXG5cclxuICBhZGRMYW1iZGFMYXllcnMoc2NvcGUsIGxhbWJkYUZ1bmN0aW9uLCBwcm9wcy5sYW1iZGFMYXllckFybik7XHJcblxyXG4gIHJldHVybiBsYW1iZGFGdW5jdGlvbjtcclxufTtcclxuXHJcbmNvbnN0IGNyZWF0ZUJhc2ljTGFtYmRhUHJvcHMgPSAocHJvcHM6IFRpbWVySm9iUHJvcHMpOiBOb2RlanNGdW5jdGlvblByb3BzID0+IHtcclxuICBsZXQgcmVzb2x2ZWRFbnRyeTogc3RyaW5nO1xyXG5cclxuICBpZiAocHJvcHMuY29kZVBhdGggJiYgcGF0aC5pc0Fic29sdXRlKHByb3BzLmNvZGVQYXRoKSkge1xyXG4gICAgcmVzb2x2ZWRFbnRyeSA9IHByb3BzLmNvZGVQYXRoO1xyXG4gIH0gZWxzZSBpZiAocHJvcHMuY29kZVBhdGggJiYgcHJvcHMucHJvamVjdFJvb3QpIHtcclxuICAgIC8vIGNvZGVQYXRoIGlzIHJlbGF0aXZlLCByZXNvbHZlIGZyb20gY3VycmVudCBkaXJlY3RvcnkgKyBwcm9qZWN0Um9vdFxyXG4gICAgcmVzb2x2ZWRFbnRyeSA9IHBhdGgucmVzb2x2ZShwcm9jZXNzLmN3ZCgpLCBwcm9wcy5jb2RlUGF0aCk7XHJcbiAgfSBlbHNlIGlmIChwcm9wcy5wcm9qZWN0Um9vdCkge1xyXG4gICAgLy8gTm8gY29kZVBhdGgsIHVzZSBkZWZhdWx0IHBhdGggd2l0aCBwcm9qZWN0Um9vdFxyXG4gICAgcmVzb2x2ZWRFbnRyeSA9IHBhdGgucmVzb2x2ZShcclxuICAgICAgcHJvY2Vzcy5jd2QoKSxcclxuICAgICAgcHJvcHMucHJvamVjdFJvb3QsXHJcbiAgICAgIGByZXNvdXJjZXMvbGFtYmRhcy90aW1lci1qb2JzLyR7cHJvcHMuZnVuY3Rpb25OYW1lfS9tYWluLm10c2BcclxuICAgICk7XHJcbiAgfSBlbHNlIGlmIChwcm9wcy5jb2RlUGF0aCkge1xyXG4gICAgLy8gY29kZVBhdGggd2l0aG91dCBwcm9qZWN0Um9vdFxyXG4gICAgcmVzb2x2ZWRFbnRyeSA9IHBhdGgucmVzb2x2ZShwcm9jZXNzLmN3ZCgpLCBwcm9wcy5jb2RlUGF0aCk7XHJcbiAgfSBlbHNlIHtcclxuICAgIC8vIERlZmF1bHQgcGF0aCB3aXRob3V0IHByb2plY3RSb290XHJcbiAgICByZXNvbHZlZEVudHJ5ID0gcGF0aC5qb2luKFxyXG4gICAgICBgLi9yZXNvdXJjZXMvbGFtYmRhcy90aW1lci1qb2JzLyR7cHJvcHMuZnVuY3Rpb25OYW1lfS9tYWluLm10c2BcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBjb25zdCBsYW1iZGFQcm9wOiBOb2RlanNGdW5jdGlvblByb3BzID0ge1xyXG4gICAgZW50cnk6IHJlc29sdmVkRW50cnksXHJcbiAgICBmdW5jdGlvbk5hbWU6IGAke3Byb3BzLmFwcFByZWZpeCA/IGAke3Byb3BzLmFwcFByZWZpeH0tYCA6IFwiXCJ9JHtcclxuICAgICAgcHJvcHMuZnVuY3Rpb25OYW1lXHJcbiAgICB9YCxcclxuICAgIGhhbmRsZXI6IFwibWFpbi50c1wiLFxyXG4gICAgbG9nUmV0ZW50aW9uOiBSZXRlbnRpb25EYXlzLlRXT19XRUVLUyxcclxuICAgIHJ1bnRpbWU6IFJ1bnRpbWUuTk9ERUpTX0xBVEVTVCxcclxuICAgIHRpbWVvdXQ6IER1cmF0aW9uLm1pbnV0ZXMoXHJcbiAgICAgIHByb3BzLnRpbWVvdXRJbk1pbnV0ZXMgPyBwcm9wcy50aW1lb3V0SW5NaW51dGVzIDogMVxyXG4gICAgKSxcclxuICAgIG1lbW9yeVNpemU6IHByb3BzLm1lbW9yeSxcclxuICAgIGVudmlyb25tZW50OiB7XHJcbiAgICAgIC4uLnByb3BzLmVudnMsXHJcbiAgICB9LFxyXG4gICAgYnVuZGxpbmc6IHtcclxuICAgICAgbWluaWZ5OiB0cnVlLFxyXG4gICAgICB0YXJnZXQ6IGBlc25leHRgLFxyXG4gICAgICBzb3VyY2VNYXA6IHRydWUsXHJcbiAgICAgIHNvdXJjZU1hcE1vZGU6IFNvdXJjZU1hcE1vZGUuRVhURVJOQUwsXHJcbiAgICAgIGVudmlyb25tZW50OiB7XHJcbiAgICAgICAgLi4ucHJvcHMuZW52cyxcclxuICAgICAgfSxcclxuICAgICAgLi4uKHByb3BzLnByb2plY3RSb290ICYmIHsgcHJvamVjdFJvb3Q6IHByb3BzLnByb2plY3RSb290IH0pLFxyXG4gICAgICAuLi4ocHJvcHMuZGVwc0xvY2tGaWxlUGF0aCAmJiB7XHJcbiAgICAgICAgZGVwc0xvY2tGaWxlUGF0aDogcHJvcHMuZGVwc0xvY2tGaWxlUGF0aCxcclxuICAgICAgfSksXHJcbiAgICB9LFxyXG4gICAgcm9sZTogcHJvcHMucm9sZSxcclxuICAgIGxheWVyczogdW5kZWZpbmVkLFxyXG4gIH07XHJcblxyXG4gIHJldHVybiBsYW1iZGFQcm9wO1xyXG59O1xyXG5cclxuY29uc3QgYWRkSW52b2tlUGVybWlzc2lvblRvTGFtYmRhRm9yRXZlbnRzID0gKGxhbWJkYTogTm9kZWpzRnVuY3Rpb24sIGZ1bmN0aW9uTmFtZTogc3RyaW5nKSA9PiB7XHJcbiAgbGFtYmRhLmFkZFBlcm1pc3Npb24oYEludm9rZVBlcm1pc3Npb24tJHtmdW5jdGlvbk5hbWV9YCwge1xyXG4gICAgcHJpbmNpcGFsOiBuZXcgU2VydmljZVByaW5jaXBhbChTRVJWSUNFX1BSSU5DSVBBTC5FVkVOVFMpLFxyXG4gIH0pO1xyXG59O1xyXG5cclxuY29uc3QgY3JlYXRlRXZlbnRSdWxlRm9yTGFtYmRhID0gKFxyXG4gIHNjb3BlOiBDb25zdHJ1Y3QsXHJcbiAgbGFtYmRhOiBOb2RlanNGdW5jdGlvbixcclxuICBvcHRpb25zOiBDcm9uT3B0aW9uc1xyXG4pID0+IHtcclxuICBjb25zdCBldmVudFJ1bGUgPSBuZXcgUnVsZShcclxuICAgIHNjb3BlLFxyXG4gICAgYHNjaGVkdWxlUnVsZS0ke2xhbWJkYT8ubm9kZS5pZCB8fCBcIjAxMFwifWAsXHJcbiAgICB7XHJcbiAgICAgIHNjaGVkdWxlOiBTY2hlZHVsZS5jcm9uKG9wdGlvbnMpLFxyXG4gICAgfVxyXG4gICk7XHJcblxyXG4gIHJldHVybiBldmVudFJ1bGU7XHJcbn07XHJcblxyXG5jb25zdCBncmFudEFjY2Vzc1RvRHluYW1vVGFibGVzID0gKFxyXG4gIHNjb3BlOiBDb25zdHJ1Y3QsXHJcbiAgbGFtYmRhOiBOb2RlanNGdW5jdGlvbixcclxuICB0YWJsZU5hbWVzPzogc3RyaW5nW11cclxuKSA9PiB7XHJcbiAgaWYgKHRhYmxlTmFtZXMgJiYgdGFibGVOYW1lcy5sZW5ndGggPiAwKSB7XHJcbiAgICB0YWJsZU5hbWVzLmZvckVhY2goKHRhYmxlTmFtZSkgPT4ge1xyXG4gICAgICBjb25zdCB0YWJsZSA9IFRhYmxlLmZyb21UYWJsZU5hbWUoc2NvcGUsIGAke3RhYmxlTmFtZX0tdGFibGVgLCB0YWJsZU5hbWUpO1xyXG5cclxuICAgICAgdGFibGUuZ3JhbnRSZWFkV3JpdGVEYXRhKGxhbWJkYSk7XHJcbiAgICB9KTtcclxuICB9XHJcbn07XHJcblxyXG5jb25zdCBhZGRMYW1iZGFMYXllcnMgPSAoXHJcbiAgc2NvcGU6IENvbnN0cnVjdCxcclxuICBsYW1iZGE6IE5vZGVqc0Z1bmN0aW9uLFxyXG4gIGxheWVyQXJucz86IHN0cmluZ1tdXHJcbikgPT4ge1xyXG4gIGlmIChsYXllckFybnMgJiYgbGF5ZXJBcm5zLmxlbmd0aCA+IDApIHtcclxuICAgIGxheWVyQXJucy5mb3JFYWNoKChhcm46IHN0cmluZywgaWR4OiBudW1iZXIpID0+IHtcclxuICAgICAgY29uc3QgbGF5ZXIgPSBMYXllclZlcnNpb24uZnJvbUxheWVyVmVyc2lvbkFybihcclxuICAgICAgICBzY29wZSxcclxuICAgICAgICBgY29tbW9uLWxheWVyLSR7aWR4fWAsXHJcbiAgICAgICAgYXJuXHJcbiAgICAgICk7XHJcblxyXG4gICAgICBsYW1iZGEuYWRkTGF5ZXJzKGxheWVyKTtcclxuICAgIH0pO1xyXG4gIH1cclxufTtcclxuIl19
|
|
102
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWJhc2ljLWxhbWJkYS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9yZXNvdXJjZXMvbGFtYmRhL2NyZWF0ZS1iYXNpYy1sYW1iZGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNkNBQXVDO0FBQ3ZDLGlEQUF1RDtBQUN2RCx1REFBK0Q7QUFDL0QscUVBSXVDO0FBQ3ZDLG1EQUFxRDtBQUNyRCw2QkFBOEI7QUFHOUIscUdBQW9GO0FBQ3BGLHVEQUFxRTtBQUNyRSx1RUFBZ0U7QUFDaEUsMkRBQWlEO0FBRTFDLE1BQU0seUJBQXlCLEdBQUcsQ0FDdkMsS0FBZ0IsRUFDaEIsS0FBb0IsRUFDSixFQUFFO0lBQ2xCLE1BQU0sV0FBVyxHQUFHLHNCQUFzQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBRWxELElBQUksY0FBYyxHQUFHLElBQUksa0NBQWMsQ0FDckMsS0FBSyxFQUNMLEdBQUcsS0FBSyxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUMsWUFBWSxFQUFFLEVBQ3pDLFdBQVcsQ0FDWixDQUFDO0lBRUYsb0NBQW9DLENBQUMsY0FBYyxFQUFFLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUV6RSxNQUFNLFNBQVMsR0FBRyx3QkFBd0IsQ0FDeEMsS0FBSyxFQUNMLGNBQWMsRUFDZCxLQUFLLENBQUMsV0FBVyxDQUNsQixDQUFDO0lBRUYsU0FBUyxDQUFDLFNBQVMsQ0FBQyxJQUFJLG1DQUFjLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQztJQUV4RCx5QkFBeUIsQ0FBQyxLQUFLLEVBQUUsY0FBYyxFQUFFLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBRXpFLGVBQWUsQ0FBQyxLQUFLLEVBQUUsY0FBYyxFQUFFLEtBQUssQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUU3RCxPQUFPLGNBQWMsQ0FBQztBQUN4QixDQUFDLENBQUM7QUEzQlcsUUFBQSx5QkFBeUIsNkJBMkJwQztBQUVGLE1BQU0sc0JBQXNC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O1lBRUYsTUFBTSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMxQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7QUFDSCxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEdXJhdGlvbiB9IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xyXG5pbXBvcnQgeyBTZXJ2aWNlUHJpbmNpcGFsIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1pYW1cIjtcclxuaW1wb3J0IHsgTGF5ZXJWZXJzaW9uLCBSdW50aW1lIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1sYW1iZGFcIjtcclxuaW1wb3J0IHtcclxuICBOb2RlanNGdW5jdGlvbixcclxuICBOb2RlanNGdW5jdGlvblByb3BzLFxyXG4gIFNvdXJjZU1hcE1vZGUsXHJcbn0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1sYW1iZGEtbm9kZWpzXCI7XHJcbmltcG9ydCB7IFJldGVudGlvbkRheXMgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWxvZ3NcIjtcclxuaW1wb3J0IHBhdGggPSByZXF1aXJlKFwicGF0aFwiKTtcclxuaW1wb3J0IHsgVGltZXJKb2JQcm9wcyB9IGZyb20gXCIuLi8uLi9pbnRlcmZhY2VzL3RpbWVyLWpvYlwiO1xyXG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xyXG5pbXBvcnQgeyBTRVJWSUNFX1BSSU5DSVBBTCB9IGZyb20gXCIuLi8uLi9jb25zdGFudHMvYXdzLXNlcnZpY2UtcHJpbmNpcGFsLWNvbnN0YW50c1wiO1xyXG5pbXBvcnQgeyBDcm9uT3B0aW9ucywgUnVsZSwgU2NoZWR1bGUgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWV2ZW50c1wiO1xyXG5pbXBvcnQgeyBMYW1iZGFGdW5jdGlvbiB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtZXZlbnRzLXRhcmdldHNcIjtcclxuaW1wb3J0IHsgVGFibGUgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWR5bmFtb2RiXCI7XHJcblxyXG5leHBvcnQgY29uc3QgY3JlYXRlQmFzaWNMYW1iZGFUaW1lckpvYiA9IChcclxuICBzY29wZTogQ29uc3RydWN0LFxyXG4gIHByb3BzOiBUaW1lckpvYlByb3BzLFxyXG4pOiBOb2RlanNGdW5jdGlvbiA9PiB7XHJcbiAgY29uc3QgbGFtYmRhUHJvcHMgPSBjcmVhdGVCYXNpY0xhbWJkYVByb3BzKHByb3BzKTtcclxuXHJcbiAgbGV0IGxhbWJkYUZ1bmN0aW9uID0gbmV3IE5vZGVqc0Z1bmN0aW9uKFxyXG4gICAgc2NvcGUsXHJcbiAgICBgJHtwcm9wcy5hcHBQcmVmaXh9JHtwcm9wcy5mdW5jdGlvbk5hbWV9YCxcclxuICAgIGxhbWJkYVByb3BzLFxyXG4gICk7XHJcblxyXG4gIGFkZEludm9rZVBlcm1pc3Npb25Ub0xhbWJkYUZvckV2ZW50cyhsYW1iZGFGdW5jdGlvbiwgcHJvcHMuZnVuY3Rpb25OYW1lKTtcclxuXHJcbiAgY29uc3QgZXZlbnRSdWxlID0gY3JlYXRlRXZlbnRSdWxlRm9yTGFtYmRhKFxyXG4gICAgc2NvcGUsXHJcbiAgICBsYW1iZGFGdW5jdGlvbixcclxuICAgIHByb3BzLmNyb25PcHRpb25zLFxyXG4gICk7XHJcblxyXG4gIGV2ZW50UnVsZS5hZGRUYXJnZXQobmV3IExhbWJkYUZ1bmN0aW9uKGxhbWJkYUZ1bmN0aW9uKSk7XHJcblxyXG4gIGdyYW50QWNjZXNzVG9EeW5hbW9UYWJsZXMoc2NvcGUsIGxhbWJkYUZ1bmN0aW9uLCBwcm9wcy5keW5hbW9UYWJsZU5hbWVzKTtcclxuXHJcbiAgYWRkTGFtYmRhTGF5ZXJzKHNjb3BlLCBsYW1iZGFGdW5jdGlvbiwgcHJvcHMubGFtYmRhTGF5ZXJBcm4pO1xyXG5cclxuICByZXR1cm4gbGFtYmRhRnVuY3Rpb247XHJcbn07XHJcblxyXG5jb25zdCBjcmVhdGVCYXNpY0xhbWJkYVByb3BzID0gKHByb3BzOiBUaW1lckpvYlByb3BzKTogTm9kZWpzRnVuY3Rpb25Qcm9wcyA9PiB7XHJcbiAgbGV0IHJlc29sdmVkRW50cnk6IHN0cmluZztcclxuXHJcbiAgaWYgKHByb3BzLmNvZGVQYXRoICYmIHBhdGguaXNBYnNvbHV0ZShwcm9wcy5jb2RlUGF0aCkpIHtcclxuICAgIHJlc29sdmVkRW50cnkgPSBwcm9wcy5jb2RlUGF0aDtcclxuICB9IGVsc2UgaWYgKHByb3BzLmNvZGVQYXRoICYmIHByb3BzLnByb2plY3RSb290KSB7XHJcbiAgICAvLyBjb2RlUGF0aCBpcyByZWxhdGl2ZSwgcmVzb2x2ZSBmcm9tIGN1cnJlbnQgZGlyZWN0b3J5ICsgcHJvamVjdFJvb3RcclxuICAgIHJlc29sdmVkRW50cnkgPSBwYXRoLnJlc29sdmUocHJvY2Vzcy5jd2QoKSwgcHJvcHMuY29kZVBhdGgpO1xyXG4gIH0gZWxzZSBpZiAocHJvcHMucHJvamVjdFJvb3QpIHtcclxuICAgIC8vIE5vIGNvZGVQYXRoLCB1c2UgZGVmYXVsdCBwYXRoIHdpdGggcHJvamVjdFJvb3RcclxuICAgIHJlc29sdmVkRW50cnkgPSBwYXRoLnJlc29sdmUoXHJcbiAgICAgIHByb2Nlc3MuY3dkKCksXHJcbiAgICAgIHByb3BzLnByb2plY3RSb290LFxyXG4gICAgICBgcmVzb3VyY2VzL2xhbWJkYXMvdGltZXItam9icy8ke3Byb3BzLmZ1bmN0aW9uTmFtZX0vbWFpbi5tdHNgLFxyXG4gICAgKTtcclxuICB9IGVsc2UgaWYgKHByb3BzLmNvZGVQYXRoKSB7XHJcbiAgICAvLyBjb2RlUGF0aCB3aXRob3V0IHByb2plY3RSb290XHJcbiAgICByZXNvbHZlZEVudHJ5ID0gcGF0aC5yZXNvbHZlKHByb2Nlc3MuY3dkKCksIHByb3BzLmNvZGVQYXRoKTtcclxuICB9IGVsc2Uge1xyXG4gICAgLy8gRGVmYXVsdCBwYXRoIHdpdGhvdXQgcHJvamVjdFJvb3RcclxuICAgIHJlc29sdmVkRW50cnkgPSBwYXRoLmpvaW4oXHJcbiAgICAgIGAuL3Jlc291cmNlcy9sYW1iZGFzL3RpbWVyLWpvYnMvJHtwcm9wcy5mdW5jdGlvbk5hbWV9L21haW4ubXRzYCxcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBjb25zdCBsYW1iZGFQcm9wOiBOb2RlanNGdW5jdGlvblByb3BzID0ge1xyXG4gICAgZW50cnk6IHJlc29sdmVkRW50cnksXHJcbiAgICBmdW5jdGlvbk5hbWU6IGAke3Byb3BzLmFwcFByZWZpeCA/IGAke3Byb3BzLmFwcFByZWZpeH0tYCA6IFwiXCJ9JHtcclxuICAgICAgcHJvcHMuZnVuY3Rpb25OYW1lXHJcbiAgICB9YCxcclxuICAgIGhhbmRsZXI6IFwibWFpblwiLFxyXG4gICAgbG9nUmV0ZW50aW9uOiBSZXRlbnRpb25EYXlzLlRXT19XRUVLUyxcclxuICAgIHJ1bnRpbWU6IFJ1bnRpbWUuTk9ERUpTX0xBVEVTVCxcclxuICAgIHRpbWVvdXQ6IER1cmF0aW9uLm1pbnV0ZXMoXHJcbiAgICAgIHByb3BzLnRpbWVvdXRJbk1pbnV0ZXMgPyBwcm9wcy50aW1lb3V0SW5NaW51dGVzIDogMSxcclxuICAgICksXHJcbiAgICBtZW1vcnlTaXplOiBwcm9wcy5tZW1vcnksXHJcbiAgICBlbnZpcm9ubWVudDoge1xyXG4gICAgICAuLi5wcm9wcy5lbnZzLFxyXG4gICAgfSxcclxuICAgIGJ1bmRsaW5nOiB7XHJcbiAgICAgIG1pbmlmeTogdHJ1ZSxcclxuICAgICAgdGFyZ2V0OiBgZXNuZXh0YCxcclxuICAgICAgc291cmNlTWFwOiB0cnVlLFxyXG4gICAgICBzb3VyY2VNYXBNb2RlOiBTb3VyY2VNYXBNb2RlLkVYVEVSTkFMLFxyXG4gICAgICBlbnZpcm9ubWVudDoge1xyXG4gICAgICAgIC4uLnByb3BzLmVudnMsXHJcbiAgICAgIH0sXHJcbiAgICAgIC4uLihwcm9wcy5wcm9qZWN0Um9vdCAmJiB7IHByb2plY3RSb290OiBwcm9wcy5wcm9qZWN0Um9vdCB9KSxcclxuICAgICAgLi4uKHByb3BzLmRlcHNMb2NrRmlsZVBhdGggJiYge1xyXG4gICAgICAgIGRlcHNMb2NrRmlsZVBhdGg6IHByb3BzLmRlcHNMb2NrRmlsZVBhdGgsXHJcbiAgICAgIH0pLFxyXG4gICAgfSxcclxuICAgIHJvbGU6IHByb3BzLnJvbGUsXHJcbiAgICBsYXllcnM6IHVuZGVmaW5lZCxcclxuICB9O1xyXG5cclxuICByZXR1cm4gbGFtYmRhUHJvcDtcclxufTtcclxuXHJcbmNvbnN0IGFkZEludm9rZVBlcm1pc3Npb25Ub0xhbWJkYUZvckV2ZW50cyA9IChcclxuICBsYW1iZGE6IE5vZGVqc0Z1bmN0aW9uLFxyXG4gIGZ1bmN0aW9uTmFtZTogc3RyaW5nLFxyXG4pID0+IHtcclxuICBsYW1iZGEuYWRkUGVybWlzc2lvbihgSW52b2tlUGVybWlzc2lvbi0ke2Z1bmN0aW9uTmFtZX1gLCB7XHJcbiAgICBwcmluY2lwYWw6IG5ldyBTZXJ2aWNlUHJpbmNpcGFsKFNFUlZJQ0VfUFJJTkNJUEFMLkVWRU5UUyksXHJcbiAgfSk7XHJcbn07XHJcblxyXG5jb25zdCBjcmVhdGVFdmVudFJ1bGVGb3JMYW1iZGEgPSAoXHJcbiAgc2NvcGU6IENvbnN0cnVjdCxcclxuICBsYW1iZGE6IE5vZGVqc0Z1bmN0aW9uLFxyXG4gIG9wdGlvbnM6IENyb25PcHRpb25zLFxyXG4pID0+IHtcclxuICBjb25zdCBldmVudFJ1bGUgPSBuZXcgUnVsZShcclxuICAgIHNjb3BlLFxyXG4gICAgYHNjaGVkdWxlUnVsZS0ke2xhbWJkYT8ubm9kZS5pZCB8fCBcIjAxMFwifWAsXHJcbiAgICB7XHJcbiAgICAgIHNjaGVkdWxlOiBTY2hlZHVsZS5jcm9uKG9wdGlvbnMpLFxyXG4gICAgfSxcclxuICApO1xyXG5cclxuICByZXR1cm4gZXZlbnRSdWxlO1xyXG59O1xyXG5cclxuY29uc3QgZ3JhbnRBY2Nlc3NUb0R5bmFtb1RhYmxlcyA9IChcclxuICBzY29wZTogQ29uc3RydWN0LFxyXG4gIGxhbWJkYTogTm9kZWpzRnVuY3Rpb24sXHJcbiAgdGFibGVOYW1lcz86IHN0cmluZ1tdLFxyXG4pID0+IHtcclxuICBpZiAodGFibGVOYW1lcyAmJiB0YWJsZU5hbWVzLmxlbmd0aCA+IDApIHtcclxuICAgIHRhYmxlTmFtZXMuZm9yRWFjaCgodGFibGVOYW1lKSA9PiB7XHJcbiAgICAgIGNvbnN0IHRhYmxlID0gVGFibGUuZnJvbVRhYmxlTmFtZShzY29wZSwgYCR7dGFibGVOYW1lfS10YWJsZWAsIHRhYmxlTmFtZSk7XHJcblxyXG4gICAgICB0YWJsZS5ncmFudFJlYWRXcml0ZURhdGEobGFtYmRhKTtcclxuICAgIH0pO1xyXG4gIH1cclxufTtcclxuXHJcbmNvbnN0IGFkZExhbWJkYUxheWVycyA9IChcclxuICBzY29wZTogQ29uc3RydWN0LFxyXG4gIGxhbWJkYTogTm9kZWpzRnVuY3Rpb24sXHJcbiAgbGF5ZXJBcm5zPzogc3RyaW5nW10sXHJcbikgPT4ge1xyXG4gIGlmIChsYXllckFybnMgJiYgbGF5ZXJBcm5zLmxlbmd0aCA+IDApIHtcclxuICAgIGxheWVyQXJucy5mb3JFYWNoKChhcm46IHN0cmluZywgaWR4OiBudW1iZXIpID0+IHtcclxuICAgICAgY29uc3QgbGF5ZXIgPSBMYXllclZlcnNpb24uZnJvbUxheWVyVmVyc2lvbkFybihcclxuICAgICAgICBzY29wZSxcclxuICAgICAgICBgY29tbW9uLWxheWVyLSR7aWR4fWAsXHJcbiAgICAgICAgYXJuLFxyXG4gICAgICApO1xyXG5cclxuICAgICAgbGFtYmRhLmFkZExheWVycyhsYXllcik7XHJcbiAgICB9KTtcclxuICB9XHJcbn07XHJcbiJdfQ==
|
package/package.json
CHANGED
|
@@ -14,14 +14,14 @@ import { Table } from "aws-cdk-lib/aws-dynamodb";
|
|
|
14
14
|
|
|
15
15
|
export const createBasicLambda = (
|
|
16
16
|
scope: Construct,
|
|
17
|
-
props: LambdaProps
|
|
17
|
+
props: LambdaProps,
|
|
18
18
|
): NodejsFunction => {
|
|
19
19
|
const lambdaProps = createBasicLambdaProps(props);
|
|
20
20
|
|
|
21
21
|
let lambdaFunction = new NodejsFunction(
|
|
22
22
|
scope,
|
|
23
23
|
`${props.appPrefix || ""}${props.functionName}`,
|
|
24
|
-
lambdaProps
|
|
24
|
+
lambdaProps,
|
|
25
25
|
);
|
|
26
26
|
|
|
27
27
|
grantAccessToDynamoTables(scope, lambdaFunction, props.dynamoTableNames);
|
|
@@ -44,7 +44,7 @@ const createBasicLambdaProps = (props: LambdaProps): NodejsFunctionProps => {
|
|
|
44
44
|
resolvedEntry = path.resolve(
|
|
45
45
|
process.cwd(),
|
|
46
46
|
props.projectRoot,
|
|
47
|
-
`resources/lambdas/${props.functionName}/main.mts
|
|
47
|
+
`resources/lambdas/${props.functionName}/main.mts`,
|
|
48
48
|
);
|
|
49
49
|
} else if (props.codePath) {
|
|
50
50
|
// codePath without projectRoot
|
|
@@ -52,7 +52,7 @@ const createBasicLambdaProps = (props: LambdaProps): NodejsFunctionProps => {
|
|
|
52
52
|
} else {
|
|
53
53
|
// Default path without projectRoot
|
|
54
54
|
resolvedEntry = path.join(
|
|
55
|
-
`./resources/lambdas/${props.functionName}/main.mts
|
|
55
|
+
`./resources/lambdas/${props.functionName}/main.mts`,
|
|
56
56
|
);
|
|
57
57
|
}
|
|
58
58
|
|
|
@@ -61,11 +61,11 @@ const createBasicLambdaProps = (props: LambdaProps): NodejsFunctionProps => {
|
|
|
61
61
|
functionName: `${props.appPrefix ? `${props.appPrefix}-` : ""}${
|
|
62
62
|
props.functionName
|
|
63
63
|
}`,
|
|
64
|
-
handler: "main
|
|
64
|
+
handler: "main",
|
|
65
65
|
logRetention: RetentionDays.TWO_WEEKS,
|
|
66
66
|
runtime: Runtime.NODEJS_LATEST,
|
|
67
67
|
timeout: Duration.minutes(
|
|
68
|
-
props.timeoutInMinutes ? props.timeoutInMinutes : 1
|
|
68
|
+
props.timeoutInMinutes ? props.timeoutInMinutes : 1,
|
|
69
69
|
),
|
|
70
70
|
memorySize: props.memory,
|
|
71
71
|
environment: {
|
|
@@ -94,7 +94,7 @@ const createBasicLambdaProps = (props: LambdaProps): NodejsFunctionProps => {
|
|
|
94
94
|
const grantAccessToDynamoTables = (
|
|
95
95
|
scope: Construct,
|
|
96
96
|
lambda: NodejsFunction,
|
|
97
|
-
tableNames?: string[]
|
|
97
|
+
tableNames?: string[],
|
|
98
98
|
) => {
|
|
99
99
|
if (tableNames && tableNames.length > 0) {
|
|
100
100
|
tableNames.forEach((tableName) => {
|
|
@@ -108,14 +108,14 @@ const grantAccessToDynamoTables = (
|
|
|
108
108
|
const addLambdaLayers = (
|
|
109
109
|
scope: Construct,
|
|
110
110
|
lambda: NodejsFunction,
|
|
111
|
-
layerArns?: string[]
|
|
111
|
+
layerArns?: string[],
|
|
112
112
|
) => {
|
|
113
113
|
if (layerArns && layerArns.length > 0) {
|
|
114
114
|
layerArns.forEach((arn: string, idx: number) => {
|
|
115
115
|
const layer = LayerVersion.fromLayerVersionArn(
|
|
116
116
|
scope,
|
|
117
117
|
`common-layer-${idx}`,
|
|
118
|
-
arn
|
|
118
|
+
arn,
|
|
119
119
|
);
|
|
120
120
|
|
|
121
121
|
lambda.addLayers(layer);
|
|
@@ -17,14 +17,14 @@ import { Table } from "aws-cdk-lib/aws-dynamodb";
|
|
|
17
17
|
|
|
18
18
|
export const createBasicLambdaTimerJob = (
|
|
19
19
|
scope: Construct,
|
|
20
|
-
props: TimerJobProps
|
|
20
|
+
props: TimerJobProps,
|
|
21
21
|
): NodejsFunction => {
|
|
22
22
|
const lambdaProps = createBasicLambdaProps(props);
|
|
23
23
|
|
|
24
24
|
let lambdaFunction = new NodejsFunction(
|
|
25
25
|
scope,
|
|
26
26
|
`${props.appPrefix}${props.functionName}`,
|
|
27
|
-
lambdaProps
|
|
27
|
+
lambdaProps,
|
|
28
28
|
);
|
|
29
29
|
|
|
30
30
|
addInvokePermissionToLambdaForEvents(lambdaFunction, props.functionName);
|
|
@@ -32,7 +32,7 @@ export const createBasicLambdaTimerJob = (
|
|
|
32
32
|
const eventRule = createEventRuleForLambda(
|
|
33
33
|
scope,
|
|
34
34
|
lambdaFunction,
|
|
35
|
-
props.cronOptions
|
|
35
|
+
props.cronOptions,
|
|
36
36
|
);
|
|
37
37
|
|
|
38
38
|
eventRule.addTarget(new LambdaFunction(lambdaFunction));
|
|
@@ -57,7 +57,7 @@ const createBasicLambdaProps = (props: TimerJobProps): NodejsFunctionProps => {
|
|
|
57
57
|
resolvedEntry = path.resolve(
|
|
58
58
|
process.cwd(),
|
|
59
59
|
props.projectRoot,
|
|
60
|
-
`resources/lambdas/timer-jobs/${props.functionName}/main.mts
|
|
60
|
+
`resources/lambdas/timer-jobs/${props.functionName}/main.mts`,
|
|
61
61
|
);
|
|
62
62
|
} else if (props.codePath) {
|
|
63
63
|
// codePath without projectRoot
|
|
@@ -65,7 +65,7 @@ const createBasicLambdaProps = (props: TimerJobProps): NodejsFunctionProps => {
|
|
|
65
65
|
} else {
|
|
66
66
|
// Default path without projectRoot
|
|
67
67
|
resolvedEntry = path.join(
|
|
68
|
-
`./resources/lambdas/timer-jobs/${props.functionName}/main.mts
|
|
68
|
+
`./resources/lambdas/timer-jobs/${props.functionName}/main.mts`,
|
|
69
69
|
);
|
|
70
70
|
}
|
|
71
71
|
|
|
@@ -74,11 +74,11 @@ const createBasicLambdaProps = (props: TimerJobProps): NodejsFunctionProps => {
|
|
|
74
74
|
functionName: `${props.appPrefix ? `${props.appPrefix}-` : ""}${
|
|
75
75
|
props.functionName
|
|
76
76
|
}`,
|
|
77
|
-
handler: "main
|
|
77
|
+
handler: "main",
|
|
78
78
|
logRetention: RetentionDays.TWO_WEEKS,
|
|
79
79
|
runtime: Runtime.NODEJS_LATEST,
|
|
80
80
|
timeout: Duration.minutes(
|
|
81
|
-
props.timeoutInMinutes ? props.timeoutInMinutes : 1
|
|
81
|
+
props.timeoutInMinutes ? props.timeoutInMinutes : 1,
|
|
82
82
|
),
|
|
83
83
|
memorySize: props.memory,
|
|
84
84
|
environment: {
|
|
@@ -104,7 +104,10 @@ const createBasicLambdaProps = (props: TimerJobProps): NodejsFunctionProps => {
|
|
|
104
104
|
return lambdaProp;
|
|
105
105
|
};
|
|
106
106
|
|
|
107
|
-
const addInvokePermissionToLambdaForEvents = (
|
|
107
|
+
const addInvokePermissionToLambdaForEvents = (
|
|
108
|
+
lambda: NodejsFunction,
|
|
109
|
+
functionName: string,
|
|
110
|
+
) => {
|
|
108
111
|
lambda.addPermission(`InvokePermission-${functionName}`, {
|
|
109
112
|
principal: new ServicePrincipal(SERVICE_PRINCIPAL.EVENTS),
|
|
110
113
|
});
|
|
@@ -113,14 +116,14 @@ const addInvokePermissionToLambdaForEvents = (lambda: NodejsFunction, functionNa
|
|
|
113
116
|
const createEventRuleForLambda = (
|
|
114
117
|
scope: Construct,
|
|
115
118
|
lambda: NodejsFunction,
|
|
116
|
-
options: CronOptions
|
|
119
|
+
options: CronOptions,
|
|
117
120
|
) => {
|
|
118
121
|
const eventRule = new Rule(
|
|
119
122
|
scope,
|
|
120
123
|
`scheduleRule-${lambda?.node.id || "010"}`,
|
|
121
124
|
{
|
|
122
125
|
schedule: Schedule.cron(options),
|
|
123
|
-
}
|
|
126
|
+
},
|
|
124
127
|
);
|
|
125
128
|
|
|
126
129
|
return eventRule;
|
|
@@ -129,7 +132,7 @@ const createEventRuleForLambda = (
|
|
|
129
132
|
const grantAccessToDynamoTables = (
|
|
130
133
|
scope: Construct,
|
|
131
134
|
lambda: NodejsFunction,
|
|
132
|
-
tableNames?: string[]
|
|
135
|
+
tableNames?: string[],
|
|
133
136
|
) => {
|
|
134
137
|
if (tableNames && tableNames.length > 0) {
|
|
135
138
|
tableNames.forEach((tableName) => {
|
|
@@ -143,14 +146,14 @@ const grantAccessToDynamoTables = (
|
|
|
143
146
|
const addLambdaLayers = (
|
|
144
147
|
scope: Construct,
|
|
145
148
|
lambda: NodejsFunction,
|
|
146
|
-
layerArns?: string[]
|
|
149
|
+
layerArns?: string[],
|
|
147
150
|
) => {
|
|
148
151
|
if (layerArns && layerArns.length > 0) {
|
|
149
152
|
layerArns.forEach((arn: string, idx: number) => {
|
|
150
153
|
const layer = LayerVersion.fromLayerVersionArn(
|
|
151
154
|
scope,
|
|
152
155
|
`common-layer-${idx}`,
|
|
153
|
-
arn
|
|
156
|
+
arn,
|
|
154
157
|
);
|
|
155
158
|
|
|
156
159
|
lambda.addLayers(layer);
|