truemark-cdk-lib 0.0.23 → 0.0.24
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/aws-lambda/lib/index.d.ts +7 -6
- package/aws-lambda/lib/index.js +2 -1
- package/aws-lambda/lib/nodejs-function.d.ts +12 -0
- package/aws-lambda/lib/nodejs-function.js +33 -0
- package/package.json +2 -2
- package/test/aws-lambda/nodejs-function.test.d.ts +1 -0
- package/test/aws-lambda/nodejs-function.test.js +18 -0
- package/test/aws-lambda/python-function.test.js +5 -5
- package/test/aws-lambda/typescript-lambda/package.json +7 -0
- package/tsconfig.json +2 -1
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
export * from
|
|
2
|
-
export * from
|
|
3
|
-
export * from
|
|
4
|
-
export * from
|
|
5
|
-
export * from
|
|
6
|
-
export * from
|
|
1
|
+
export * from "./bundled-function";
|
|
2
|
+
export * from "./deployed-function";
|
|
3
|
+
export * from "./function-alarms";
|
|
4
|
+
export * from "./function-deployment";
|
|
5
|
+
export * from "./nodejs-function";
|
|
6
|
+
export * from "./observed-function";
|
|
7
|
+
export * from "./python-function";
|
package/aws-lambda/lib/index.js
CHANGED
|
@@ -14,6 +14,7 @@ __exportStar(require("./bundled-function"), exports);
|
|
|
14
14
|
__exportStar(require("./deployed-function"), exports);
|
|
15
15
|
__exportStar(require("./function-alarms"), exports);
|
|
16
16
|
__exportStar(require("./function-deployment"), exports);
|
|
17
|
+
__exportStar(require("./nodejs-function"), exports);
|
|
17
18
|
__exportStar(require("./observed-function"), exports);
|
|
18
19
|
__exportStar(require("./python-function"), exports);
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFBQSxxREFBbUM7QUFDbkMsc0RBQW9DO0FBQ3BDLG9EQUFrQztBQUNsQyx3REFBc0M7QUFDdEMsb0RBQWtDO0FBQ2xDLHNEQUFvQztBQUNwQyxvREFBa0MiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLi9idW5kbGVkLWZ1bmN0aW9uXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9kZXBsb3llZC1mdW5jdGlvblwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZnVuY3Rpb24tYWxhcm1zXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9mdW5jdGlvbi1kZXBsb3ltZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9ub2RlanMtZnVuY3Rpb25cIjtcbmV4cG9ydCAqIGZyb20gXCIuL29ic2VydmVkLWZ1bmN0aW9uXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9weXRob24tZnVuY3Rpb25cIjtcbiJdfQ==
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import * as nodejs from "aws-cdk-lib/aws-lambda-nodejs";
|
|
2
|
+
import { Construct } from "constructs";
|
|
3
|
+
import { FunctionAlarms, FunctionAlarmsOptions } from "./function-alarms";
|
|
4
|
+
import { FunctionDeployment } from "./function-deployment";
|
|
5
|
+
import { DeployedFunctionOptions } from "./deployed-function";
|
|
6
|
+
export interface NodejsFunctionProps extends nodejs.NodejsFunctionProps, FunctionAlarmsOptions, DeployedFunctionOptions {
|
|
7
|
+
}
|
|
8
|
+
export declare class NodejsFunction extends nodejs.NodejsFunction {
|
|
9
|
+
readonly alarms: FunctionAlarms;
|
|
10
|
+
readonly deployment: FunctionDeployment;
|
|
11
|
+
constructor(scope: Construct, id: string, props: NodejsFunctionProps);
|
|
12
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.NodejsFunction = void 0;
|
|
4
|
+
const nodejs = require("aws-cdk-lib/aws-lambda-nodejs");
|
|
5
|
+
const function_alarms_1 = require("./function-alarms");
|
|
6
|
+
const function_deployment_1 = require("./function-deployment");
|
|
7
|
+
class NodejsFunction extends nodejs.NodejsFunction {
|
|
8
|
+
constructor(scope, id, props) {
|
|
9
|
+
var _a, _b, _c, _d, _e, _f;
|
|
10
|
+
super(scope, id, {
|
|
11
|
+
...props
|
|
12
|
+
});
|
|
13
|
+
this.alarms = new function_alarms_1.FunctionAlarms(this, "Alarms", {
|
|
14
|
+
function: this,
|
|
15
|
+
logGroup: this.logGroup,
|
|
16
|
+
...props
|
|
17
|
+
});
|
|
18
|
+
if ((_b = (_a = props.deploymentOptions) === null || _a === void 0 ? void 0 : _a.createDeployment) !== null && _b !== void 0 ? _b : true) {
|
|
19
|
+
this.deployment = new function_deployment_1.FunctionDeployment(this, "Deployment", {
|
|
20
|
+
...props.deploymentOptions,
|
|
21
|
+
function: this
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
if ((_d = (_c = props.deploymentOptions) === null || _c === void 0 ? void 0 : _c.includeCriticalAlarms) !== null && _d !== void 0 ? _d : true) {
|
|
25
|
+
this.deployment.addAlarms(...this.alarms.getCriticalAlarms());
|
|
26
|
+
}
|
|
27
|
+
if ((_f = (_e = props.deploymentOptions) === null || _e === void 0 ? void 0 : _e.includeWarningAlarms) !== null && _f !== void 0 ? _f : false) {
|
|
28
|
+
this.deployment.addAlarms(...this.alarms.getWarningAlarms());
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
exports.NodejsFunction = NodejsFunction;
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZWpzLWZ1bmN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsibm9kZWpzLWZ1bmN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHdEQUF1RDtBQUV2RCx1REFBd0U7QUFDeEUsK0RBQXlEO0FBS3pELE1BQWEsY0FBZSxTQUFRLE1BQU0sQ0FBQyxjQUFjO0lBS3ZELFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBMEI7O1FBQ2xFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFO1lBQ2YsR0FBRyxLQUFLO1NBQ1QsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLGdDQUFjLENBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRTtZQUMvQyxRQUFRLEVBQUUsSUFBSTtZQUNkLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTtZQUN2QixHQUFHLEtBQUs7U0FDVCxDQUFDLENBQUM7UUFFSCxnQkFBSSxLQUFLLENBQUMsaUJBQWlCLDBDQUFFLGdCQUFnQixtQ0FBRSxJQUFJLEVBQUU7WUFDbkQsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLHdDQUFrQixDQUFDLElBQUksRUFBRSxZQUFZLEVBQUU7Z0JBQzNELEdBQUcsS0FBSyxDQUFDLGlCQUFpQjtnQkFDMUIsUUFBUSxFQUFFLElBQUk7YUFDZixDQUFDLENBQUM7U0FDSjtRQUNELGdCQUFJLEtBQUssQ0FBQyxpQkFBaUIsMENBQUUscUJBQXFCLG1DQUFFLElBQUksRUFBRTtZQUN4RCxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxDQUFDO1NBQy9EO1FBQ0QsZ0JBQUksS0FBSyxDQUFDLGlCQUFpQiwwQ0FBRSxvQkFBb0IsbUNBQUUsS0FBSyxFQUFFO1lBQ3hELElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLENBQUM7U0FDOUQ7SUFDSCxDQUFDO0NBRUY7QUE5QkQsd0NBOEJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgbm9kZWpzIGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtbGFtYmRhLW5vZGVqc1wiXG5pbXBvcnQge0NvbnN0cnVjdH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7RnVuY3Rpb25BbGFybXMsIEZ1bmN0aW9uQWxhcm1zT3B0aW9uc30gZnJvbSBcIi4vZnVuY3Rpb24tYWxhcm1zXCI7XG5pbXBvcnQge0Z1bmN0aW9uRGVwbG95bWVudH0gZnJvbSBcIi4vZnVuY3Rpb24tZGVwbG95bWVudFwiO1xuaW1wb3J0IHtEZXBsb3llZEZ1bmN0aW9uT3B0aW9uc30gZnJvbSBcIi4vZGVwbG95ZWQtZnVuY3Rpb25cIjtcblxuZXhwb3J0IGludGVyZmFjZSBOb2RlanNGdW5jdGlvblByb3BzIGV4dGVuZHMgbm9kZWpzLk5vZGVqc0Z1bmN0aW9uUHJvcHMsIEZ1bmN0aW9uQWxhcm1zT3B0aW9ucywgRGVwbG95ZWRGdW5jdGlvbk9wdGlvbnMge31cblxuZXhwb3J0IGNsYXNzIE5vZGVqc0Z1bmN0aW9uIGV4dGVuZHMgbm9kZWpzLk5vZGVqc0Z1bmN0aW9uIHtcblxuICByZWFkb25seSBhbGFybXM6IEZ1bmN0aW9uQWxhcm1zO1xuICByZWFkb25seSBkZXBsb3ltZW50OiBGdW5jdGlvbkRlcGxveW1lbnQ7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IE5vZGVqc0Z1bmN0aW9uUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHtcbiAgICAgIC4uLnByb3BzXG4gICAgfSk7XG5cbiAgICB0aGlzLmFsYXJtcyA9IG5ldyBGdW5jdGlvbkFsYXJtcyh0aGlzLCBcIkFsYXJtc1wiLCB7XG4gICAgICBmdW5jdGlvbjogdGhpcyxcbiAgICAgIGxvZ0dyb3VwOiB0aGlzLmxvZ0dyb3VwLFxuICAgICAgLi4ucHJvcHNcbiAgICB9KTtcblxuICAgIGlmIChwcm9wcy5kZXBsb3ltZW50T3B0aW9ucz8uY3JlYXRlRGVwbG95bWVudD8/dHJ1ZSkge1xuICAgICAgdGhpcy5kZXBsb3ltZW50ID0gbmV3IEZ1bmN0aW9uRGVwbG95bWVudCh0aGlzLCBcIkRlcGxveW1lbnRcIiwge1xuICAgICAgICAuLi5wcm9wcy5kZXBsb3ltZW50T3B0aW9ucyxcbiAgICAgICAgZnVuY3Rpb246IHRoaXNcbiAgICAgIH0pO1xuICAgIH1cbiAgICBpZiAocHJvcHMuZGVwbG95bWVudE9wdGlvbnM/LmluY2x1ZGVDcml0aWNhbEFsYXJtcz8/dHJ1ZSkge1xuICAgICAgdGhpcy5kZXBsb3ltZW50LmFkZEFsYXJtcyguLi50aGlzLmFsYXJtcy5nZXRDcml0aWNhbEFsYXJtcygpKTtcbiAgICB9XG4gICAgaWYgKHByb3BzLmRlcGxveW1lbnRPcHRpb25zPy5pbmNsdWRlV2FybmluZ0FsYXJtcz8/ZmFsc2UpIHtcbiAgICAgIHRoaXMuZGVwbG95bWVudC5hZGRBbGFybXMoLi4udGhpcy5hbGFybXMuZ2V0V2FybmluZ0FsYXJtcygpKTtcbiAgICB9XG4gIH1cblxufVxuIl19
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "truemark-cdk-lib",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.24",
|
|
4
4
|
"main": "index.js",
|
|
5
5
|
"types": "index.d.ts",
|
|
6
6
|
"scripts": {
|
|
@@ -47,5 +47,5 @@
|
|
|
47
47
|
"@aws-cdk/aws-synthetics-alpha": "^2.18.0-alpha.0",
|
|
48
48
|
"cdk-monitoring-constructs": "^1.6.4"
|
|
49
49
|
},
|
|
50
|
-
"gitHead": "
|
|
50
|
+
"gitHead": "444d5db0427c569ee0511c8507f254abd5055529"
|
|
51
51
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const test_helper_1 = require("../test-helper");
|
|
4
|
+
const aws_lambda_1 = require("../../aws-lambda");
|
|
5
|
+
const path = require("path");
|
|
6
|
+
const assertions_1 = require("aws-cdk-lib/assertions");
|
|
7
|
+
test("Test Nodejs Function", () => {
|
|
8
|
+
const stack = test_helper_1.TestHelper.stack();
|
|
9
|
+
new aws_lambda_1.NodejsFunction(stack, "TestFunction", {
|
|
10
|
+
entry: path.join(__dirname, "typescript-lambda", "index.ts")
|
|
11
|
+
});
|
|
12
|
+
const template = assertions_1.Template.fromStack(stack);
|
|
13
|
+
template.hasResourceProperties(test_helper_1.ResourceType.LAMBDA_FUNCTION, {
|
|
14
|
+
Runtime: "nodejs14.x"
|
|
15
|
+
});
|
|
16
|
+
template.resourceCountIs(test_helper_1.ResourceType.CLOUDWATCH_ALARM, 3);
|
|
17
|
+
});
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZWpzLWZ1bmN0aW9uLnRlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJub2RlanMtZnVuY3Rpb24udGVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLGdEQUF3RDtBQUN4RCxpREFBZ0Q7QUFDaEQsNkJBQTZCO0FBQzdCLHVEQUFnRDtBQUVoRCxJQUFJLENBQUMsc0JBQXNCLEVBQUUsR0FBRyxFQUFFO0lBQ2hDLE1BQU0sS0FBSyxHQUFHLHdCQUFVLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDakMsSUFBSSwyQkFBYyxDQUFDLEtBQUssRUFBRSxjQUFjLEVBQUU7UUFDeEMsS0FBSyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLG1CQUFtQixFQUFFLFVBQVUsQ0FBQztLQUM3RCxDQUFDLENBQUM7SUFDSCxNQUFNLFFBQVEsR0FBRyxxQkFBUSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMzQyxRQUFRLENBQUMscUJBQXFCLENBQUMsMEJBQVksQ0FBQyxlQUFlLEVBQUU7UUFDM0QsT0FBTyxFQUFFLFlBQVk7S0FDdEIsQ0FBQyxDQUFDO0lBQ0gsUUFBUSxDQUFDLGVBQWUsQ0FBQywwQkFBWSxDQUFDLGdCQUFnQixFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQzdELENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtSZXNvdXJjZVR5cGUsIFRlc3RIZWxwZXJ9IGZyb20gXCIuLi90ZXN0LWhlbHBlclwiO1xuaW1wb3J0IHtOb2RlanNGdW5jdGlvbn0gZnJvbSBcIi4uLy4uL2F3cy1sYW1iZGFcIjtcbmltcG9ydCAqIGFzIHBhdGggZnJvbSBcInBhdGhcIjtcbmltcG9ydCB7VGVtcGxhdGV9IGZyb20gXCJhd3MtY2RrLWxpYi9hc3NlcnRpb25zXCI7XG5cbnRlc3QoXCJUZXN0IE5vZGVqcyBGdW5jdGlvblwiLCAoKSA9PiB7XG4gIGNvbnN0IHN0YWNrID0gVGVzdEhlbHBlci5zdGFjaygpO1xuICBuZXcgTm9kZWpzRnVuY3Rpb24oc3RhY2ssIFwiVGVzdEZ1bmN0aW9uXCIsIHtcbiAgICBlbnRyeTogcGF0aC5qb2luKF9fZGlybmFtZSwgXCJ0eXBlc2NyaXB0LWxhbWJkYVwiLCBcImluZGV4LnRzXCIpXG4gIH0pO1xuICBjb25zdCB0ZW1wbGF0ZSA9IFRlbXBsYXRlLmZyb21TdGFjayhzdGFjayk7XG4gIHRlbXBsYXRlLmhhc1Jlc291cmNlUHJvcGVydGllcyhSZXNvdXJjZVR5cGUuTEFNQkRBX0ZVTkNUSU9OLCB7XG4gICAgUnVudGltZTogXCJub2RlanMxNC54XCJcbiAgfSk7XG4gIHRlbXBsYXRlLnJlc291cmNlQ291bnRJcyhSZXNvdXJjZVR5cGUuQ0xPVURXQVRDSF9BTEFSTSwgMyk7XG59KTtcbiJdfQ==
|
|
@@ -4,15 +4,15 @@ const path = require("path");
|
|
|
4
4
|
const assertions_1 = require("aws-cdk-lib/assertions");
|
|
5
5
|
const aws_lambda_1 = require("../../aws-lambda");
|
|
6
6
|
const test_helper_1 = require("../test-helper");
|
|
7
|
-
test(
|
|
7
|
+
test("Test Python Lambda", () => {
|
|
8
8
|
const stack = test_helper_1.TestHelper.stack();
|
|
9
|
-
new aws_lambda_1.PythonFunction(stack,
|
|
10
|
-
entry: path.join(__dirname,
|
|
9
|
+
new aws_lambda_1.PythonFunction(stack, "TestFunction", {
|
|
10
|
+
entry: path.join(__dirname, "python-lambda")
|
|
11
11
|
});
|
|
12
12
|
const template = assertions_1.Template.fromStack(stack);
|
|
13
|
-
template.hasResourceProperties(
|
|
13
|
+
template.hasResourceProperties(test_helper_1.ResourceType.LAMBDA_FUNCTION, {
|
|
14
14
|
Runtime: "python3.9"
|
|
15
15
|
});
|
|
16
16
|
template.resourceCountIs(test_helper_1.ResourceType.CLOUDWATCH_ALARM, 3);
|
|
17
17
|
});
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHl0aG9uLWZ1bmN0aW9uLnRlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJweXRob24tZnVuY3Rpb24udGVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLDZCQUE2QjtBQUM3Qix1REFBZ0Q7QUFDaEQsaURBQWdEO0FBQ2hELGdEQUF3RDtBQUV4RCxJQUFJLENBQUMsb0JBQW9CLEVBQUUsR0FBRyxFQUFFO0lBQzlCLE1BQU0sS0FBSyxHQUFHLHdCQUFVLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDakMsSUFBSSwyQkFBYyxDQUFDLEtBQUssRUFBRSxjQUFjLEVBQUU7UUFDeEMsS0FBSyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLGVBQWUsQ0FBQztLQUM3QyxDQUFDLENBQUM7SUFDSCxNQUFNLFFBQVEsR0FBRyxxQkFBUSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMzQyxRQUFRLENBQUMscUJBQXFCLENBQUMsMEJBQVksQ0FBQyxlQUFlLEVBQUU7UUFDM0QsT0FBTyxFQUFFLFdBQVc7S0FDckIsQ0FBQyxDQUFDO0lBQ0gsUUFBUSxDQUFDLGVBQWUsQ0FBQywwQkFBWSxDQUFDLGdCQUFnQixFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQzdELENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgcGF0aCBmcm9tIFwicGF0aFwiO1xuaW1wb3J0IHtUZW1wbGF0ZX0gZnJvbSBcImF3cy1jZGstbGliL2Fzc2VydGlvbnNcIjtcbmltcG9ydCB7UHl0aG9uRnVuY3Rpb259IGZyb20gXCIuLi8uLi9hd3MtbGFtYmRhXCI7XG5pbXBvcnQge1Jlc291cmNlVHlwZSwgVGVzdEhlbHBlcn0gZnJvbSBcIi4uL3Rlc3QtaGVscGVyXCI7XG5cbnRlc3QoXCJUZXN0IFB5dGhvbiBMYW1iZGFcIiwgKCkgPT4ge1xuICBjb25zdCBzdGFjayA9IFRlc3RIZWxwZXIuc3RhY2soKTtcbiAgbmV3IFB5dGhvbkZ1bmN0aW9uKHN0YWNrLCBcIlRlc3RGdW5jdGlvblwiLCB7XG4gICAgZW50cnk6IHBhdGguam9pbihfX2Rpcm5hbWUsIFwicHl0aG9uLWxhbWJkYVwiKVxuICB9KTtcbiAgY29uc3QgdGVtcGxhdGUgPSBUZW1wbGF0ZS5mcm9tU3RhY2soc3RhY2spO1xuICB0ZW1wbGF0ZS5oYXNSZXNvdXJjZVByb3BlcnRpZXMoUmVzb3VyY2VUeXBlLkxBTUJEQV9GVU5DVElPTiwge1xuICAgIFJ1bnRpbWU6IFwicHl0aG9uMy45XCJcbiAgfSk7XG4gIHRlbXBsYXRlLnJlc291cmNlQ291bnRJcyhSZXNvdXJjZVR5cGUuQ0xPVURXQVRDSF9BTEFSTSwgMyk7XG59KTtcbiJdfQ==
|