@sylvesterllc/aws-constructs 1.0.114 → 1.0.116

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.
@@ -6,8 +6,9 @@ import { LayerVersion } from "aws-cdk-lib/aws-lambda";
6
6
  import { IRestApi } from "aws-cdk-lib/aws-apigateway";
7
7
  import { ISecret } from "aws-cdk-lib/aws-secretsmanager";
8
8
  import { NodejsFunction } from "aws-cdk-lib/aws-lambda-nodejs";
9
- import { Environment } from "../config/Environments";
9
+ import { Logger } from "../helpers/logger";
10
10
  export declare class MicroService extends Construct {
11
+ private logger;
11
12
  protected readonly requireDynamoTables: boolean;
12
13
  protected requireSeedDatabase: boolean;
13
14
  protected readonly hasLambdaLayers: boolean;
@@ -24,7 +25,7 @@ export declare class MicroService extends Construct {
24
25
  get Lambdas(): NodejsFunction[];
25
26
  get LambdaRecords(): Record<string, NodejsFunction>;
26
27
  get RestApi(): IRestApi;
27
- constructor(scope: Construct, id: string, props: MicroserviceProps, env?: Environment);
28
+ constructor(scope: Construct, id: string, props: MicroserviceProps, logger?: Logger);
28
29
  private onInit;
29
30
  protected createTag(scope: Construct): void;
30
31
  }
@@ -10,7 +10,9 @@ const AppConfig_1 = require("../config/AppConfig");
10
10
  const aws_cdk_lib_1 = require("aws-cdk-lib");
11
11
  const CreateApiAndAttachLambdas_1 = require("../resources/gateway/CreateApiAndAttachLambdas");
12
12
  const createSeedDatabaseCustomResource_1 = require("../resources/customResource/createSeedDatabaseCustomResource");
13
+ const logger_1 = require("../helpers/logger");
13
14
  class MicroService extends constructs_1.Construct {
15
+ logger;
14
16
  requireDynamoTables;
15
17
  requireSeedDatabase = false;
16
18
  hasLambdaLayers = false;
@@ -39,8 +41,9 @@ class MicroService extends constructs_1.Construct {
39
41
  get RestApi() {
40
42
  return this.api;
41
43
  }
42
- constructor(scope, id, props, env = "prod") {
44
+ constructor(scope, id, props, logger = new logger_1.Logger()) {
43
45
  super(scope, id);
46
+ this.logger = logger;
44
47
  this.appConfig = new AppConfig_1.AppConfig(props);
45
48
  this.requireDynamoTables = (props.RESOURCES.DYNAMO?.TABLES &&
46
49
  props.RESOURCES.DYNAMO.TABLES.length > 0) ? true : false;
@@ -48,7 +51,7 @@ class MicroService extends constructs_1.Construct {
48
51
  props.RESOURCES.DYNAMO.SEED_LAMBDA) ? true : false;
49
52
  this.hasLambdaLayers = (props.RESOURCES.LAMBDA_LAYERS &&
50
53
  props.RESOURCES.LAMBDA_LAYERS.length > 0) ? true : false;
51
- const results = this.onInit(scope, env);
54
+ const results = this.onInit(scope);
52
55
  this.api = results.restApi;
53
56
  this.dynamoTables = results.dynamoTables;
54
57
  this.lambdaLayers = results.lambdaLayers;
@@ -56,7 +59,7 @@ class MicroService extends constructs_1.Construct {
56
59
  this.lambdas = results.lambdas;
57
60
  this.createTag(scope);
58
61
  }
59
- onInit(scope, env) {
62
+ onInit(scope) {
60
63
  let secretManager = null;
61
64
  let tables = undefined;
62
65
  let commonLayers = undefined;
@@ -68,7 +71,7 @@ class MicroService extends constructs_1.Construct {
68
71
  if (this.hasLambdaLayers) {
69
72
  commonLayers = (0, createCommonLayer_1.createCommonLayer)(scope, this.appConfig);
70
73
  }
71
- const gateway = new createApi_1.Api(scope, this.appConfig, env).APIs;
74
+ const gateway = new createApi_1.Api(scope, this.appConfig).APIs;
72
75
  const layers = commonLayers;
73
76
  // Creates DynamoDb Tables if required
74
77
  if (this.requireDynamoTables) {
@@ -81,7 +84,7 @@ class MicroService extends constructs_1.Construct {
81
84
  // CREATE API GATEWAY AND LAMBDA HERE
82
85
  const apiGateway = new CreateApiAndAttachLambdas_1.CreateApiAndAttachLambdas(scope, this.appConfig, gateway[0], layers, tables);
83
86
  this.lambdaRecords = apiGateway.LambdaRecords;
84
- // console.log('lambda Records:', this.lambdaRecords)
87
+ this.logger.log(`lambda Records: ${this.lambdaRecords}`);
85
88
  return {
86
89
  restApi: (gateway?.length > 0) ? gateway[0] : null,
87
90
  lambdaLayers: layers || null,
@@ -96,4 +99,4 @@ class MicroService extends constructs_1.Construct {
96
99
  }
97
100
  }
98
101
  exports.MicroService = MicroService;
99
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWljcm9TZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbnN0cnVjdHMvTWljcm9TZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLDJDQUF1QztBQUV2QyxxRUFBb0U7QUFDcEUsOERBQXFEO0FBQ3JELGtFQUFnRTtBQUNoRSw4RUFBMkU7QUFDM0UsbURBQWdEO0FBQ2hELDZDQUFtQztBQUVuQyw4RkFBMkY7QUFDM0YsbUhBQWdIO0FBS2hILE1BQWEsWUFBYSxTQUFRLHNCQUFTO0lBRXBCLG1CQUFtQixDQUFVO0lBQ3RDLG1CQUFtQixHQUFZLEtBQUssQ0FBQztJQUM1QixlQUFlLEdBQVksS0FBSyxDQUFDO0lBQzFDLFNBQVMsQ0FBWTtJQUNkLEdBQUcsQ0FBVztJQUNkLFlBQVksQ0FBc0I7SUFDbEMsWUFBWSxDQUE2QjtJQUN6QyxhQUFhLEdBQW1CLElBQUksQ0FBQztJQUNyQyxPQUFPLEdBQXFCLEVBQUUsQ0FBQztJQUN4QyxhQUFhLEdBQW1DLEVBQUUsQ0FBQztJQUUzRCxJQUFXLE1BQU07UUFDYixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDN0IsQ0FBQztJQUVELElBQVcsYUFBYTtRQUNwQixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDOUIsQ0FBQztJQUVELElBQVcsWUFBWTtRQUNuQixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDN0IsQ0FBQztJQUVELElBQVcsT0FBTztRQUNkLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN4QixDQUFDO0lBRUQsSUFBVyxhQUFhO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUM5QixDQUFDO0lBRUQsSUFBVyxPQUFPO1FBQ2QsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDO0lBQ3BCLENBQUM7SUFFRCxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQXdCLEVBQzlELE1BQW1CLE1BQU07UUFDekIsS0FBSyxDQUFD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QUN0QyxNQUFNLFVBQVUsR0FBRyxJQUFJLHFEQUF5QixDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFFcEcsSUFBSSxDQUFDLGFBQWEsR0FBRyxVQUFVLENBQUMsYUFBYSxDQUFDO1FBRTlDLHFEQUFxRDtRQUVyRCxPQUFPO1lBQ0gsT0FBTyxFQUFFLENBQUMsT0FBTyxFQUFFLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJO1lBQ2xELFlBQVksRUFBRSxNQUFNLElBQUksSUFBSTtZQUM1QixZQUFZLEVBQUUsTUFBTSxJQUFJLElBQUk7WUFDNUIsYUFBYSxFQUFFLGFBQWE7WUFDNUIsT0FBTyxFQUFFLFVBQVUsQ0FBQyxPQUFPO1NBRTlCLENBQUM7SUFFTixDQUFDO0lBRVMsU0FBUyxDQUFDLEtBQWdCO1FBQ2hDLGtCQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNsRCxrQkFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUMsZUFBZSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDbEUsQ0FBQztDQUNKO0FBckhELG9DQXFIQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRhYmxlIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1keW5hbW9kYlwiO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7IE1pY3Jvc2VydmljZVByb3BzIH0gZnJvbSBcIi4uL2ludGVyZmFjZXMvTWljcm9zZXJ2aWNlUHJvcHNcIjtcbmltcG9ydCB7IENyZWF0ZUR5bmFtb0RiIH0gZnJvbSBcIi4uL3Jlc291cmNlcy9keW5hbW9kYi9DcmVhdGVEeW5hbW9cIjtcbmltcG9ydCB7IEFwaSB9IGZyb20gXCIuLi9yZXNvdXJjZXMvZ2F0ZXdheS9jcmVhdGVBcGlcIjtcbmltcG9ydCB7IGdldFNlY3JldE1hbmFnZXIgfSBmcm9tIFwiLi4vcmVzb3VyY2VzL3NlY3VyaXR5TWFuYWdlclwiO1xuaW1wb3J0IHsgY3JlYXRlQ29tbW9uTGF5ZXIgfSBmcm9tIFwiLi4vcmVzb3VyY2VzL2hlbHBlcnMvY3JlYXRlQ29tbW9uTGF5ZXJcIjtcbmltcG9ydCB7IEFwcENvbmZpZyB9IGZyb20gXCIuLi9jb25maWcvQXBwQ29uZmlnXCI7XG5pbXBvcnQgeyBUYWdzIH0gZnJvbSBcImF3cy1jZGstbGliXCI7XG5pbXBvcnQgeyBMYXllclZlcnNpb24gfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWxhbWJkYVwiO1xuaW1wb3J0IHsgQ3JlYXRlQXBpQW5kQXR0YWNoTGFtYmRhcyB9IGZyb20gXCIuLi9yZXNvdXJjZXMvZ2F0ZXdheS9DcmVhdGVBcGlBbmRBdHRhY2hMYW1iZGFzXCI7XG5pbXBvcnQgeyBjcmVhdGVTZWVkRGF0YWJhc2VDdXN0b21SZXNvdXJjZSB9IGZyb20gXCIuLi9yZXNvdXJjZXMvY3VzdG9tUmVzb3VyY2UvY3JlYXRlU2VlZERhdGFiYXNlQ3VzdG9tUmVzb3VyY2VcIjtcbmltcG9ydCB7IElSZXN0QXBpIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1hcGlnYXRld2F5XCI7XG5pbXBvcnQgeyBJU2VjcmV0IH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1zZWNyZXRzbWFuYWdlclwiO1xuaW1wb3J0IHsgTm9kZWpzRnVuY3Rpb24gfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWxhbWJkYS1ub2RlanNcIjtcbmltcG9ydCB7IEVudmlyb25tZW50IH0gZnJvbSBcIi4uL2NvbmZpZy9FbnZpcm9ubWVudHNcIjtcbmV4cG9ydCBjbGFzcyBNaWNyb1NlcnZpY2UgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHJlcXVpcmVEeW5hbW9UYWJsZXM6IGJvb2xlYW47XG4gICAgcHJvdGVjdGVkIHJlcXVpcmVTZWVkRGF0YWJhc2U6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgaGFzTGFtYmRhTGF5ZXJzOiBib29sZWFuID0gZmFsc2U7XG4gICAgcHJvdGVjdGVkIGFwcENvbmZpZzogQXBwQ29uZmlnO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgYXBpOiBJUmVzdEFwaTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGR5bmFtb1RhYmxlczogVGFibGVbXSB8IHVuZGVmaW5lZDtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGxhbWJkYUxheWVyczogTGF5ZXJWZXJzaW9uW10gfCB1bmRlZmluZWQ7XG4gICAgcHJpdmF0ZSByZWFkb25seSBzZWNyZXRNYW5hZ2VyOiBJU2VjcmV0IHwgbnVsbCA9IG51bGw7XG4gICAgcHJpdmF0ZSByZWFkb25seSBsYW1iZGFzOiBOb2RlanNGdW5jdGlvbltdID0gW107XG4gICAgcHJpdmF0ZSBsYW1iZGFSZWNvcmRzOiBSZWNvcmQ8c3RyaW5nLCBOb2RlanNGdW5jdGlvbj4gPSB7fTtcblxuICAgIHB1YmxpYyBnZXQgVGFibGVzKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5keW5hbW9UYWJsZXM7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBTZWNyZXRNYW5hZ2VyKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5zZWNyZXRNYW5hZ2VyO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgTGFtYmRhTGF5ZXJzKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5sYW1iZGFMYXllcnM7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBMYW1iZGFzKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5sYW1iZGFzO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgTGFtYmRhUmVjb3JkcygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubGFtYmRhUmVjb3JkcztcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IFJlc3RBcGkoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmFwaTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogTWljcm9zZXJ2aWNlUHJvcHMsXG4gICAgICAgIGVudjogRW52aXJvbm1lbnQgPSBcInByb2RcIikge1xuICAgICAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgICAgIHRoaXMuYXBwQ29uZmlnID0gbmV3IEFwcENvbmZpZyhwcm9wcyk7XG5cbiAgICAgICAgdGhpcy5yZXF1aXJlRHluYW1vVGFibGVzID0gKHByb3BzLlJFU09VUkNFUy5EWU5BTU8/LlRBQkxFUyAmJlxuICAgICAgICAgICAgcHJvcHMuUkVTT1VSQ0VTLkRZTkFNTy5UQUJMRVMubGVuZ3RoID4gMCkgPyB0cnVlIDogZmFsc2U7XG5cbiAgICAgICAgdGhpcy5yZXF1aXJlU2VlZERhdGFiYXNlID0gKHByb3BzLlJFU09VUkNFUy5EWU5BTU8/LlVTRV9TRUVEX0RBVEFCQVNFICYmXG4gICAgICAgICAgICBwcm9wcy5SRVNPVVJDRVMuRFlOQU1PLlNFRURfTEFNQkRBKSA/IHRydWUgOiBmYWxzZTtcblxuICAgICAgICB0aGlzLmhhc0xhbWJkYUxheWVycyA9IChwcm9wcy5SRVNPVVJDRVMuTEFNQkRBX0xBWUVSUyAmJlxuICAgICAgICAgICAgcHJvcHMuUkVTT1VSQ0VTLkxBTUJEQV9MQVlFUlMubGVuZ3RoID4gMCkgPyB0cnVlIDogZmFsc2U7XG5cbiAgICAgICAgY29uc3QgcmVzdWx0cyA9IHRoaXMub25Jbml0KHNjb3BlLCBlbnYpO1xuXG4gICAgICAgIHRoaXMuYXBpID0gcmVzdWx0cy5yZXN0QXBpITtcbiAgICAgICAgdGhpcy5keW5hbW9UYWJsZXMgPSByZXN1bHRzLmR5bmFtb1RhYmxlcyE7XG4gICAgICAgIHRoaXMubGFtYmRhTGF5ZXJzID0gcmVzdWx0cy5sYW1iZGFMYXllcnMhO1xuICAgICAgICB0aGlzLnNlY3JldE1hbmFnZXIgPSByZXN1bHRzLnNlY3JldE1hbmFnZXIhO1xuXG4gICAgICAgIHRoaXMubGFtYmRhcyA9IHJlc3VsdHMubGFtYmRhcyE7XG5cbiAgICAgICAgdGhpcy5jcmVhdGVUYWcoc2NvcGUpXG4gICAgfVxuXG4gICAgcHJpdmF0ZSBvbkluaXQoc2NvcGU6IENvbnN0cnVjdCwgZW52OiBFbnZpcm9ubWVudCkge1xuXG4gICAgICAgIGxldCBzZWNyZXRNYW5hZ2VyOiBJU2VjcmV0IHwgbnVsbCA9IG51bGw7XG4gICAgICAgIGxldCB0YWJsZXM6IFRhYmxlW10gfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XG4gICAgICAgIGxldCBjb21tb25MYXllcnM6IExheWVyVmVyc2lvbltdIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xuXG4gICAgICAgIGlmIChwcm9jZXNzLmVudi5TRUNSRVRfTUFOQUdFUl9BUk4pIHtcbiAgICAgICAgICAgIC8vIHRocm93IG5ldyBFcnJvcihgWW91IG11c3QgcHJvdmlkZSB0aGUgQVJOIGZvciB0aGUgeW91ciBDb25maWd1cmF0aW9uIFNlY3JldCBcbiAgICAgICAgICAgIC8vICAgICBNYW5hZ2VyYCk7ICAgICAgXG4gICAgICAgICAgICBzZWNyZXRNYW5hZ2VyID0gZ2V0U2VjcmV0TWFuYWdlcihzY29wZSwgdGhpcy5hcHBDb25maWcsIHByb2Nlc3MuZW52LlNFQ1JFVF9NQU5BR0VSX0FSTik7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5oYXNMYW1iZGFMYXllcnMpIHtcbiAgICAgICAgICAgIGNvbW1vbkxheWVycyA9IGNyZWF0ZUNvbW1vbkxheWVyKHNjb3BlLCB0aGlzLmFwcENvbmZpZyk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBnYXRld2F5ID0gbmV3IEFwaShzY29wZSwgdGhpcy5hcHBDb25maWcsIGVudikuQVBJcztcblxuICAgICAgICBjb25zdCBsYXllcnMgPSBjb21tb25MYXllcnM7XG5cbiAgICAgICAgLy8gQ3JlYXRlcyBEeW5hbW9EYiBUYWJsZXMgaWYgcmVxdWlyZWRcbiAgICAgICAgaWYgKHRoaXMucmVxdWlyZUR5bmFtb1RhYmxlcykge1xuICAgICAgICAgICAgY29uc3QgZHluYW1vID0gbmV3IENyZWF0ZUR5bmFtb0RiKHNjb3BlLCB0aGlzLmFwcENvbmZpZyk7XG5cbiAgICAgICAgICAgIHRhYmxlcyA9IGR5bmFtby5DcmVhdGVkVGFibGVzO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMucmVxdWlyZVNlZWREYXRhYmFzZSkge1xuICAgICAgICAgICAgY3JlYXRlU2VlZERhdGFiYXNlQ3VzdG9tUmVzb3VyY2Uoc2NvcGUsIHRoaXMuYXBwQ29uZmlnLCB0YWJsZXMhWzBdLCBsYXllcnMpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gQ1JFQVRFIEFQSSBHQVRFV0FZIEFORCBMQU1CREEgSEVSRSBcbiAgICAgICAgY29uc3QgYXBpR2F0ZXdheSA9IG5ldyBDcmVhdGVBcGlBbmRBdHRhY2hMYW1iZGFzKHNjb3BlLCB0aGlzLmFwcENvbmZpZywgZ2F0ZXdheVswXSwgbGF5ZXJzLCB0YWJsZXMpO1xuXG4gICAgICAgIHRoaXMubGFtYmRhUmVjb3JkcyA9IGFwaUdhdGV3YXkuTGFtYmRhUmVjb3JkcztcblxuICAgICAgICAvLyBjb25zb2xlLmxvZygnbGFtYmRhIFJlY29yZHM6JywgdGhpcy5sYW1iZGFSZWNvcmRzKVxuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICByZXN0QXBpOiAoZ2F0ZXdheT8ubGVuZ3RoID4gMCkgPyBnYXRld2F5WzBdIDogbnVsbCxcbiAgICAgICAgICAgIGxhbWJkYUxheWVyczogbGF5ZXJzIHx8IG51bGwsXG4gICAgICAgICAgICBkeW5hbW9UYWJsZXM6IHRhYmxlcyB8fCBudWxsLFxuICAgICAgICAgICAgc2VjcmV0TWFuYWdlcjogc2VjcmV0TWFuYWdlcixcbiAgICAgICAgICAgIGxhbWJkYXM6IGFwaUdhdGV3YXkuTGFtYmRhcyxcblxuICAgICAgICB9O1xuXG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGNyZWF0ZVRhZyhzY29wZTogQ29uc3RydWN0KSB7XG4gICAgICAgIFRhZ3Mub2Yoc2NvcGUpLmFkZCgnQXBwJywgdGhpcy5hcHBDb25maWcuQXBwTmFtZSk7XG4gICAgICAgIFRhZ3Mub2Yoc2NvcGUpLmFkZCgnUmVzb3VjZVByZWZpeCcsIHRoaXMuYXBwQ29uZmlnLkFwcFByZWZpeCk7XG4gICAgfVxufSJdfQ==
102
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWljcm9TZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbnN0cnVjdHMvTWljcm9TZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLDJDQUF1QztBQUV2QyxxRUFBb0U7QUFDcEUsOERBQXFEO0FBQ3JELGtFQUFnRTtBQUNoRSw4RUFBMkU7QUFDM0UsbURBQWdEO0FBQ2hELDZDQUFtQztBQUVuQyw4RkFBMkY7QUFDM0YsbUhBQWdIO0FBS2hILDhDQUEyQztBQUMzQyxNQUFhLFlBQWEsU0FBUSxzQkFBUztJQXNDM0I7SUFwQ08sbUJBQW1CLENBQVU7SUFDdEMsbUJBQW1CLEdBQVksS0FBSyxDQUFDO0lBQzVCLGVBQWUsR0FBWSxLQUFLLENBQUM7SUFDMUMsU0FBUyxDQUFZO0lBQ2QsR0FBRyxDQUFXO0lBQ2QsWUFBWSxDQUFzQjtJQUNsQyxZQUFZLENBQTZCO0lBQ3pDLGFBQWEsR0FBbUIsSUFBSSxDQUFDO0lBQ3JDLE9BQU8sR0FBcUIsRUFBRSxDQUFDO0lBQ3hDLGFBQWEsR0FBbUMsRUFBRSxDQUFDO0lBRTNELElBQVcsTUFBTTtRQUNiLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQztJQUM3QixDQUFDO0lBRUQsSUFBVyxhQUFhO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUM5QixDQUFDO0lBRUQsSUFBVyxZQUFZO1FBQ25CLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQztJQUM3QixDQUFDO0lBRUQsSUFBVyxPQUFPO1FBQ2QsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3hCLENBQUM7SUFFRCxJQUFXLGFBQWE7UUFDcEIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQzlCLENBQUM7SUFFRCxJQUFXLE9BQU87UUFDZCxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUM7SUFDcEIsQ0FBQztJQUVELFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBd0IsRUFDdEQsU0FBaUIs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O1FBQ2hGLENBQUM7UUFFRCxzQ0FBc0M7UUFDdEMsTUFBTSxVQUFVLEdBQUcsSUFBSSxxREFBeUIsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBRXBHLElBQUksQ0FBQyxhQUFhLEdBQUcsVUFBVSxDQUFDLGFBQWEsQ0FBQztRQUc5QyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxtQkFBbUIsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUM7UUFFekQsT0FBTztZQUNILE9BQU8sRUFBRSxDQUFDLE9BQU8sRUFBRSxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSTtZQUNsRCxZQUFZLEVBQUUsTUFBTSxJQUFJLElBQUk7WUFDNUIsWUFBWSxFQUFFLE1BQU0sSUFBSSxJQUFJO1lBQzVCLGFBQWEsRUFBRSxhQUFhO1lBQzVCLE9BQU8sRUFBRSxVQUFVLENBQUMsT0FBTztTQUU5QixDQUFDO0lBRU4sQ0FBQztJQUVTLFNBQVMsQ0FBQyxLQUFnQjtRQUNoQyxrQkFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDbEQsa0JBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDLGVBQWUsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ2xFLENBQUM7Q0FDSjtBQXRIRCxvQ0FzSEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUYWJsZSB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtZHluYW1vZGJcIjtcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgeyBNaWNyb3NlcnZpY2VQcm9wcyB9IGZyb20gXCIuLi9pbnRlcmZhY2VzL01pY3Jvc2VydmljZVByb3BzXCI7XG5pbXBvcnQgeyBDcmVhdGVEeW5hbW9EYiB9IGZyb20gXCIuLi9yZXNvdXJjZXMvZHluYW1vZGIvQ3JlYXRlRHluYW1vXCI7XG5pbXBvcnQgeyBBcGkgfSBmcm9tIFwiLi4vcmVzb3VyY2VzL2dhdGV3YXkvY3JlYXRlQXBpXCI7XG5pbXBvcnQgeyBnZXRTZWNyZXRNYW5hZ2VyIH0gZnJvbSBcIi4uL3Jlc291cmNlcy9zZWN1cml0eU1hbmFnZXJcIjtcbmltcG9ydCB7IGNyZWF0ZUNvbW1vbkxheWVyIH0gZnJvbSBcIi4uL3Jlc291cmNlcy9oZWxwZXJzL2NyZWF0ZUNvbW1vbkxheWVyXCI7XG5pbXBvcnQgeyBBcHBDb25maWcgfSBmcm9tIFwiLi4vY29uZmlnL0FwcENvbmZpZ1wiO1xuaW1wb3J0IHsgVGFncyB9IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuaW1wb3J0IHsgTGF5ZXJWZXJzaW9uIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1sYW1iZGFcIjtcbmltcG9ydCB7IENyZWF0ZUFwaUFuZEF0dGFjaExhbWJkYXMgfSBmcm9tIFwiLi4vcmVzb3VyY2VzL2dhdGV3YXkvQ3JlYXRlQXBpQW5kQXR0YWNoTGFtYmRhc1wiO1xuaW1wb3J0IHsgY3JlYXRlU2VlZERhdGFiYXNlQ3VzdG9tUmVzb3VyY2UgfSBmcm9tIFwiLi4vcmVzb3VyY2VzL2N1c3RvbVJlc291cmNlL2NyZWF0ZVNlZWREYXRhYmFzZUN1c3RvbVJlc291cmNlXCI7XG5pbXBvcnQgeyBJUmVzdEFwaSB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtYXBpZ2F0ZXdheVwiO1xuaW1wb3J0IHsgSVNlY3JldCB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3Mtc2VjcmV0c21hbmFnZXJcIjtcbmltcG9ydCB7IE5vZGVqc0Z1bmN0aW9uIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1sYW1iZGEtbm9kZWpzXCI7XG5pbXBvcnQgeyBFbnZpcm9ubWVudCB9IGZyb20gXCIuLi9jb25maWcvRW52aXJvbm1lbnRzXCI7XG5pbXBvcnQgeyBMb2dnZXIgfSBmcm9tIFwiLi4vaGVscGVycy9sb2dnZXJcIjtcbmV4cG9ydCBjbGFzcyBNaWNyb1NlcnZpY2UgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHJlcXVpcmVEeW5hbW9UYWJsZXM6IGJvb2xlYW47XG4gICAgcHJvdGVjdGVkIHJlcXVpcmVTZWVkRGF0YWJhc2U6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgaGFzTGFtYmRhTGF5ZXJzOiBib29sZWFuID0gZmFsc2U7XG4gICAgcHJvdGVjdGVkIGFwcENvbmZpZzogQXBwQ29uZmlnO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgYXBpOiBJUmVzdEFwaTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGR5bmFtb1RhYmxlczogVGFibGVbXSB8IHVuZGVmaW5lZDtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGxhbWJkYUxheWVyczogTGF5ZXJWZXJzaW9uW10gfCB1bmRlZmluZWQ7XG4gICAgcHJpdmF0ZSByZWFkb25seSBzZWNyZXRNYW5hZ2VyOiBJU2VjcmV0IHwgbnVsbCA9IG51bGw7XG4gICAgcHJpdmF0ZSByZWFkb25seSBsYW1iZGFzOiBOb2RlanNGdW5jdGlvbltdID0gW107XG4gICAgcHJpdmF0ZSBsYW1iZGFSZWNvcmRzOiBSZWNvcmQ8c3RyaW5nLCBOb2RlanNGdW5jdGlvbj4gPSB7fTtcblxuICAgIHB1YmxpYyBnZXQgVGFibGVzKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5keW5hbW9UYWJsZXM7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBTZWNyZXRNYW5hZ2VyKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5zZWNyZXRNYW5hZ2VyO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgTGFtYmRhTGF5ZXJzKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5sYW1iZGFMYXllcnM7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBMYW1iZGFzKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5sYW1iZGFzO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgTGFtYmRhUmVjb3JkcygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubGFtYmRhUmVjb3JkcztcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IFJlc3RBcGkoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmFwaTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogTWljcm9zZXJ2aWNlUHJvcHMsXG4gICAgICAgIHByaXZhdGUgbG9nZ2VyOiBMb2dnZXIgPSBuZXcgTG9nZ2VyKCkpIHtcbiAgICAgICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgICAgICB0aGlzLmFwcENvbmZpZyA9IG5ldyBBcHBDb25maWcocHJvcHMpO1xuXG4gICAgICAgIHRoaXMucmVxdWlyZUR5bmFtb1RhYmxlcyA9IChwcm9wcy5SRVNPVVJDRVMuRFlOQU1PPy5UQUJMRVMgJiZcbiAgICAgICAgICAgIHByb3BzLlJFU09VUkNFUy5EWU5BTU8uVEFCTEVTLmxlbmd0aCA+IDApID8gdHJ1ZSA6IGZhbHNlO1xuXG4gICAgICAgIHRoaXMucmVxdWlyZVNlZWREYXRhYmFzZSA9IChwcm9wcy5SRVNPVVJDRVMuRFlOQU1PPy5VU0VfU0VFRF9EQVRBQkFTRSAmJlxuICAgICAgICAgICAgcHJvcHMuUkVTT1VSQ0VTLkRZTkFNTy5TRUVEX0xBTUJEQSkgPyB0cnVlIDogZmFsc2U7XG5cbiAgICAgICAgdGhpcy5oYXNMYW1iZGFMYXllcnMgPSAocHJvcHMuUkVTT1VSQ0VTLkxBTUJEQV9MQVlFUlMgJiZcbiAgICAgICAgICAgIHByb3BzLlJFU09VUkNFUy5MQU1CREFfTEFZRVJTLmxlbmd0aCA+IDApID8gdHJ1ZSA6IGZhbHNlO1xuXG4gICAgICAgIGNvbnN0IHJlc3VsdHMgPSB0aGlzLm9uSW5pdChzY29wZSk7XG5cbiAgICAgICAgdGhpcy5hcGkgPSByZXN1bHRzLnJlc3RBcGkhO1xuICAgICAgICB0aGlzLmR5bmFtb1RhYmxlcyA9IHJlc3VsdHMuZHluYW1vVGFibGVzITtcbiAgICAgICAgdGhpcy5sYW1iZGFMYXllcnMgPSByZXN1bHRzLmxhbWJkYUxheWVycyE7XG4gICAgICAgIHRoaXMuc2VjcmV0TWFuYWdlciA9IHJlc3VsdHMuc2VjcmV0TWFuYWdlciE7XG5cbiAgICAgICAgdGhpcy5sYW1iZGFzID0gcmVzdWx0cy5sYW1iZGFzITtcblxuICAgICAgICB0aGlzLmNyZWF0ZVRhZyhzY29wZSlcbiAgICB9XG5cbiAgICBwcml2YXRlIG9uSW5pdChzY29wZTogQ29uc3RydWN0KSB7XG5cbiAgICAgICAgbGV0IHNlY3JldE1hbmFnZXI6IElTZWNyZXQgfCBudWxsID0gbnVsbDtcbiAgICAgICAgbGV0IHRhYmxlczogVGFibGVbXSB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcbiAgICAgICAgbGV0IGNvbW1vbkxheWVyczogTGF5ZXJWZXJzaW9uW10gfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XG5cbiAgICAgICAgaWYgKHByb2Nlc3MuZW52LlNFQ1JFVF9NQU5BR0VSX0FSTikge1xuICAgICAgICAgICAgLy8gdGhyb3cgbmV3IEVycm9yKGBZb3UgbXVzdCBwcm92aWRlIHRoZSBBUk4gZm9yIHRoZSB5b3VyIENvbmZpZ3VyYXRpb24gU2VjcmV0IFxuICAgICAgICAgICAgLy8gICAgIE1hbmFnZXJgKTsgICAgICBcbiAgICAgICAgICAgIHNlY3JldE1hbmFnZXIgPSBnZXRTZWNyZXRNYW5hZ2VyKHNjb3BlLCB0aGlzLmFwcENvbmZpZywgcHJvY2Vzcy5lbnYuU0VDUkVUX01BTkFHRVJfQVJOKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmhhc0xhbWJkYUxheWVycykge1xuICAgICAgICAgICAgY29tbW9uTGF5ZXJzID0gY3JlYXRlQ29tbW9uTGF5ZXIoc2NvcGUsIHRoaXMuYXBwQ29uZmlnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGdhdGV3YXkgPSBuZXcgQXBpKHNjb3BlLCB0aGlzLmFwcENvbmZpZykuQVBJcztcblxuICAgICAgICBjb25zdCBsYXllcnMgPSBjb21tb25MYXllcnM7XG5cbiAgICAgICAgLy8gQ3JlYXRlcyBEeW5hbW9EYiBUYWJsZXMgaWYgcmVxdWlyZWRcbiAgICAgICAgaWYgKHRoaXMucmVxdWlyZUR5bmFtb1RhYmxlcykge1xuICAgICAgICAgICAgY29uc3QgZHluYW1vID0gbmV3IENyZWF0ZUR5bmFtb0RiKHNjb3BlLCB0aGlzLmFwcENvbmZpZyk7XG5cbiAgICAgICAgICAgIHRhYmxlcyA9IGR5bmFtby5DcmVhdGVkVGFibGVzO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMucmVxdWlyZVNlZWREYXRhYmFzZSkge1xuICAgICAgICAgICAgY3JlYXRlU2VlZERhdGFiYXNlQ3VzdG9tUmVzb3VyY2Uoc2NvcGUsIHRoaXMuYXBwQ29uZmlnLCB0YWJsZXMhWzBdLCBsYXllcnMpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gQ1JFQVRFIEFQSSBHQVRFV0FZIEFORCBMQU1CREEgSEVSRSBcbiAgICAgICAgY29uc3QgYXBpR2F0ZXdheSA9IG5ldyBDcmVhdGVBcGlBbmRBdHRhY2hMYW1iZGFzKHNjb3BlLCB0aGlzLmFwcENvbmZpZywgZ2F0ZXdheVswXSwgbGF5ZXJzLCB0YWJsZXMpO1xuXG4gICAgICAgIHRoaXMubGFtYmRhUmVjb3JkcyA9IGFwaUdhdGV3YXkuTGFtYmRhUmVjb3JkcztcblxuXG4gICAgICAgIHRoaXMubG9nZ2VyLmxvZyhgbGFtYmRhIFJlY29yZHM6ICR7dGhpcy5sYW1iZGFSZWNvcmRzfWApO1xuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICByZXN0QXBpOiAoZ2F0ZXdheT8ubGVuZ3RoID4gMCkgPyBnYXRld2F5WzBdIDogbnVsbCxcbiAgICAgICAgICAgIGxhbWJkYUxheWVyczogbGF5ZXJzIHx8IG51bGwsXG4gICAgICAgICAgICBkeW5hbW9UYWJsZXM6IHRhYmxlcyB8fCBudWxsLFxuICAgICAgICAgICAgc2VjcmV0TWFuYWdlcjogc2VjcmV0TWFuYWdlcixcbiAgICAgICAgICAgIGxhbWJkYXM6IGFwaUdhdGV3YXkuTGFtYmRhcyxcblxuICAgICAgICB9O1xuXG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGNyZWF0ZVRhZyhzY29wZTogQ29uc3RydWN0KSB7XG4gICAgICAgIFRhZ3Mub2Yoc2NvcGUpLmFkZCgnQXBwJywgdGhpcy5hcHBDb25maWcuQXBwTmFtZSk7XG4gICAgICAgIFRhZ3Mub2Yoc2NvcGUpLmFkZCgnUmVzb3VjZVByZWZpeCcsIHRoaXMuYXBwQ29uZmlnLkFwcFByZWZpeCk7XG4gICAgfVxufSJdfQ==
@@ -0,0 +1,5 @@
1
+ export declare class Logger {
2
+ private debug;
3
+ constructor(debug?: boolean);
4
+ log(message: string): void;
5
+ }
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Logger = void 0;
4
+ class Logger {
5
+ debug;
6
+ constructor(debug = false) {
7
+ this.debug = debug;
8
+ }
9
+ log(message) {
10
+ if (this.debug) {
11
+ console.log(message);
12
+ }
13
+ }
14
+ }
15
+ exports.Logger = Logger;
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2hlbHBlcnMvbG9nZ2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUVBLE1BQWEsTUFBTTtJQUVLO0lBQXBCLFlBQW9CLFFBQWlCLEtBQUs7UUFBdEIsVUFBSyxHQUFMLEtBQUssQ0FBaUI7SUFBSSxDQUFDO0lBRXhDLEdBQUcsQ0FBQyxPQUFlO1FBRXRCLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ2IsT0FBTyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN6QixDQUFDO0lBRUwsQ0FBQztDQUNKO0FBWEQsd0JBV0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBkZWJ1ZyB9IGZyb20gXCJjb25zb2xlXCI7XG5cbmV4cG9ydCBjbGFzcyBMb2dnZXIge1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBkZWJ1ZzogYm9vbGVhbiA9IGZhbHNlKSB7IH1cblxuICAgIHB1YmxpYyBsb2cobWVzc2FnZTogc3RyaW5nKSB7XG5cbiAgICAgICAgaWYgKHRoaXMuZGVidWcpIHtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKG1lc3NhZ2UpO1xuICAgICAgICB9XG5cbiAgICB9XG59Il19
@@ -2,3 +2,4 @@ import { Environment } from '../config/Environments';
2
2
  export declare const getUUID: () => string;
3
3
  export declare const environmentSuffix: (env?: Environment) => "" | "-qa" | "-dev";
4
4
  export declare const environmentSuffixForDomain: (env?: Environment) => "." | ".qa" | ".dev";
5
+ export declare const clog: (message: string) => void;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.environmentSuffixForDomain = exports.environmentSuffix = exports.getUUID = void 0;
3
+ exports.clog = exports.environmentSuffixForDomain = exports.environmentSuffix = exports.getUUID = void 0;
4
4
  const uuid_1 = require("uuid");
5
5
  const getUUID = () => {
6
6
  return (0, uuid_1.v4)();
@@ -14,4 +14,7 @@ const environmentSuffixForDomain = (env = "prod") => {
14
14
  return env === 'prod' ? '.' : env === 'qa' ? '.qa' : '.dev';
15
15
  };
16
16
  exports.environmentSuffixForDomain = environmentSuffixForDomain;
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC1oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaGVscGVycy91dGlsLWhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwrQkFBb0M7QUFHN0IsTUFBTSxPQUFPLEdBQUcsR0FBRyxFQUFFO0lBRXhCLE9BQU8sSUFBQSxTQUFNLEdBQUUsQ0FBQztBQUNwQixDQUFDLENBQUM7QUFIVyxRQUFBLE9BQU8sV0FHbEI7QUFFSyxNQUFNLGlCQUFpQixHQUFHLENBQUMsTUFBbUIsTUFBTSxFQUFFLEVBQUU7SUFDM0QsT0FBTyxHQUFHLEtBQUssTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO0FBQy9ELENBQUMsQ0FBQTtBQUZZLFFBQUEsaUJBQWlCLHFCQUU3QjtBQUVNLE1BQU0sMEJBQTBCLEdBQUcsQ0FBQyxNQUFtQixNQUFNLEVBQUUsRUFBRTtJQUNwRSxPQUFPLEdBQUcsS0FBSyxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7QUFDaEUsQ0FBQyxDQUFBO0FBRlksUUFBQSwwQkFBMEIsOEJBRXRDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdjQgYXMgdXVpZHY0IH0gZnJvbSAndXVpZCc7XG5pbXBvcnQgeyBFbnZpcm9ubWVudCB9IGZyb20gJy4uL2NvbmZpZy9FbnZpcm9ubWVudHMnO1xuXG5leHBvcnQgY29uc3QgZ2V0VVVJRCA9ICgpID0+IHtcblxuICAgIHJldHVybiB1dWlkdjQoKTtcbn07XG5cbmV4cG9ydCBjb25zdCBlbnZpcm9ubWVudFN1ZmZpeCA9IChlbnY6IEVudmlyb25tZW50ID0gXCJwcm9kXCIpID0+IHtcbiAgICByZXR1cm4gZW52ID09PSAncHJvZCcgPyAnJyA6IGVudiA9PT0gJ3FhJyA/ICctcWEnIDogJy1kZXYnO1xufVxuXG5leHBvcnQgY29uc3QgZW52aXJvbm1lbnRTdWZmaXhGb3JEb21haW4gPSAoZW52OiBFbnZpcm9ubWVudCA9IFwicHJvZFwiKSA9PiB7XG4gICAgcmV0dXJuIGVudiA9PT0gJ3Byb2QnID8gJy4nIDogZW52ID09PSAncWEnID8gJy5xYScgOiAnLmRldic7XG59Il19
17
+ const clog = (message) => {
18
+ };
19
+ exports.clog = clog;
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC1oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaGVscGVycy91dGlsLWhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwrQkFBb0M7QUFHN0IsTUFBTSxPQUFPLEdBQUcsR0FBRyxFQUFFO0lBRXhCLE9BQU8sSUFBQSxTQUFNLEdBQUUsQ0FBQztBQUNwQixDQUFDLENBQUM7QUFIVyxRQUFBLE9BQU8sV0FHbEI7QUFFSyxNQUFNLGlCQUFpQixHQUFHLENBQUMsTUFBbUIsTUFBTSxFQUFFLEVBQUU7SUFDM0QsT0FBTyxHQUFHLEtBQUssTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO0FBQy9ELENBQUMsQ0FBQTtBQUZZLFFBQUEsaUJBQWlCLHFCQUU3QjtBQUVNLE1BQU0sMEJBQTBCLEdBQUcsQ0FBQyxNQUFtQixNQUFNLEVBQUUsRUFBRTtJQUNwRSxPQUFPLEdBQUcsS0FBSyxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7QUFDaEUsQ0FBQyxDQUFBO0FBRlksUUFBQSwwQkFBMEIsOEJBRXRDO0FBRU0sTUFBTSxJQUFJLEdBQUcsQ0FBQyxPQUFlLEVBQUUsRUFBRTtBQUd4QyxDQUFDLENBQUM7QUFIVyxRQUFBLElBQUksUUFHZiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHY0IGFzIHV1aWR2NCB9IGZyb20gJ3V1aWQnO1xuaW1wb3J0IHsgRW52aXJvbm1lbnQgfSBmcm9tICcuLi9jb25maWcvRW52aXJvbm1lbnRzJztcblxuZXhwb3J0IGNvbnN0IGdldFVVSUQgPSAoKSA9PiB7XG5cbiAgICByZXR1cm4gdXVpZHY0KCk7XG59O1xuXG5leHBvcnQgY29uc3QgZW52aXJvbm1lbnRTdWZmaXggPSAoZW52OiBFbnZpcm9ubWVudCA9IFwicHJvZFwiKSA9PiB7XG4gICAgcmV0dXJuIGVudiA9PT0gJ3Byb2QnID8gJycgOiBlbnYgPT09ICdxYScgPyAnLXFhJyA6ICctZGV2Jztcbn1cblxuZXhwb3J0IGNvbnN0IGVudmlyb25tZW50U3VmZml4Rm9yRG9tYWluID0gKGVudjogRW52aXJvbm1lbnQgPSBcInByb2RcIikgPT4ge1xuICAgIHJldHVybiBlbnYgPT09ICdwcm9kJyA/ICcuJyA6IGVudiA9PT0gJ3FhJyA/ICcucWEnIDogJy5kZXYnO1xufVxuXG5leHBvcnQgY29uc3QgY2xvZyA9IChtZXNzYWdlOiBzdHJpbmcpID0+IHtcblxuXG59OyJdfQ==
@@ -2,12 +2,10 @@ import { IRestApi, RestApi } from "aws-cdk-lib/aws-apigateway";
2
2
  import { Construct } from "constructs";
3
3
  import { AppConfig } from "../../config/AppConfig";
4
4
  import { BaseResource } from "../base/baseResource";
5
- import { Environment } from "../../config/Environments";
6
5
  export declare class Api extends BaseResource<IRestApi> {
7
- private env;
8
6
  private corsOptions;
9
7
  get APIs(): IRestApi[];
10
- constructor(scope: Construct, config: AppConfig, env?: Environment);
8
+ constructor(scope: Construct, config: AppConfig);
11
9
  private createApi;
12
10
  private createApiProps;
13
11
  private createDefaultCorsOptions;
@@ -8,16 +8,13 @@ const aws_route53_targets_1 = require("aws-cdk-lib/aws-route53-targets");
8
8
  const baseResource_1 = require("../base/baseResource");
9
9
  const createCertificate_1 = require("../certificate/createCertificate");
10
10
  const createApiKey_1 = require("./createApiKey");
11
- const util_helper_1 = require("../../helpers/util-helper");
12
11
  class Api extends baseResource_1.BaseResource {
13
- env;
14
12
  corsOptions;
15
13
  get APIs() {
16
14
  return this.createdResources;
17
15
  }
18
- constructor(scope, config, env = "prod") {
16
+ constructor(scope, config) {
19
17
  super(scope, config);
20
- this.env = env;
21
18
  this.corsOptions = this.createDefaultCorsOptions();
22
19
  this.createdResources = this.createResource(scope);
23
20
  }
@@ -25,25 +22,25 @@ class Api extends baseResource_1.BaseResource {
25
22
  if (this.config.DNS) {
26
23
  console.log('### DNS is true ###');
27
24
  const zone = this.getZone(this.scope, this.config);
28
- const api = new aws_apigateway_1.RestApi(this.scope, `${this.config.AppPrefix}-rest-api${(0, util_helper_1.environmentSuffix)(this.env)}`, this.createApiProps(this.env, zone));
25
+ const api = new aws_apigateway_1.RestApi(this.scope, `${this.config.AppPrefix}-rest-api`, this.createApiProps(zone));
29
26
  this.createARecord(scope, zone, api);
30
27
  this.createApiKey(this.config, api);
31
28
  return api;
32
29
  }
33
30
  else {
34
- const api = new aws_apigateway_1.RestApi(this.scope, `${this.config.AppPrefix}-rest-api${(0, util_helper_1.environmentSuffix)(this.env)}`, this.createApiProps(this.env));
31
+ const api = new aws_apigateway_1.RestApi(this.scope, `${this.config.AppPrefix}-rest-api-without-DNS`, this.createApiProps());
35
32
  this.createApiKey(this.config, api);
36
33
  return api;
37
34
  }
38
35
  }
39
- createApiProps(env, zone) {
36
+ createApiProps(zone) {
40
37
  if (this.config.DNS) {
41
38
  const cert = this.createCertificate(this.scope, zone, this.config);
42
39
  const props = {
43
40
  restApiName: `${this.config.AppPrefix}-${this.config.API.Name}`,
44
41
  description: this.config.API.Description,
45
42
  domainName: {
46
- domainName: `${this.config.API.DomainPrefix}.${env}.${this.config.DNS.ZoneName}`,
43
+ domainName: `${this.config.DNS.SubDomainNameForApi}.${this.config.DNS.SubDomainName}`,
47
44
  certificate: cert.certificate,
48
45
  endpointType: aws_apigateway_1.EndpointType.EDGE,
49
46
  securityPolicy: aws_apigateway_1.SecurityPolicy.TLS_1_2
@@ -139,4 +136,4 @@ class Api extends baseResource_1.BaseResource {
139
136
  }
140
137
  }
141
138
  exports.Api = Api;
142
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlQXBpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3Jlc291cmNlcy9nYXRld2F5L2NyZWF0ZUFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw2Q0FBNEQ7QUFDNUQsK0RBQXVMO0FBQ3ZMLHlEQUF5RjtBQUN6Rix5RUFBK0U7QUFLL0UsdURBQW9EO0FBQ3BELHdFQUFxRTtBQUNyRSxpREFBMkM7QUFFM0MsMkRBQThEO0FBRTlELE1BQWEsR0FBSSxTQUFRLDJCQUFzQjtJQVNjO0lBUGpELFdBQVcsQ0FBYztJQUdqQyxJQUFJLElBQUk7UUFDSixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztJQUNqQyxDQUFDO0lBRUQsWUFBWSxLQUFnQixFQUFFLE1BQWlCLEVBQVUsTUFBbUIsTUFBTTtRQUM5RSxLQUFLLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBRGdDLFFBQUcsR0FBSCxHQUFHLENBQXNCO1FBRzlFLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLHdCQUF3QixFQUFFLENBQUM7UUFFbkQsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVPLFNBQVMsQ0FBQyxLQUFnQjtRQUM5QixJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUM7WUFFbEIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1lBRW5DLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7WUFFbkQsTUFBTSxHQUFHLEdBQUcsSUFBSSx3QkFBTyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsWUFBWSxJQUFBLCtCQUFpQixFQUFDLElBQUksQ0FBQyxH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QUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBRU8sYUFBYSxDQUFDLEtBQWdCLEVBQUUsSUFBaUIsRUFBRSxHQUFZO1FBQ25FLE1BQU0sT0FBTyxHQUFHLElBQUkscUJBQU8sQ0FBQyxLQUFLLEVBQUUsV0FBVyxFQUFFO1lBQzVDLElBQUk7WUFDSixNQUFNLEVBQUUsMEJBQVksQ0FBQyxTQUFTLENBQUMsSUFBSSxnQ0FBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ25ELFVBQVUsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxZQUFZO1NBQzNDLENBQUMsQ0FBQztRQUVILE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQywyQkFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2xELE9BQU8sT0FBTyxDQUFDO0lBQ25CLENBQUM7SUFFUyxjQUFjLENBQUMsS0FBZ0I7UUFFckMsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNsQyw0Q0FBNEM7UUFDNUMsOERBQThEO1FBRTlELDJFQUEyRTtRQUkzRSxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDakIsQ0FBQztJQUVTLFlBQVksQ0FBSSxLQUFnQixFQUFFLGFBQWtCO1FBQzFELGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUU7WUFFL0IsSUFBSSx1QkFBUyxDQUFDLEtBQUssRUFBRSxNQUFNLEdBQUcsRUFBRSxFQUFFO2dCQUM5QixhQUFhO2dCQUNiLEtBQUssRUFBRSxHQUFHLENBQUMsR0FBRzthQUNqQixDQUFDLENBQUM7UUFDUCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7Q0FFSjtBQXpLRCxrQkF5S0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDZm5PdXRwdXQsIFJlbW92YWxQb2xpY3ksIFRhZyB9IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuaW1wb3J0IHsgQmFzZVBhdGhNYXBwaW5nLCBDb3JzLCBDb3JzT3B0aW9ucywgRG9tYWluTmFtZSwgRW5kcG9pbnRUeXBlLCBJRG9tYWluTmFtZSwgSVJlc3RBcGksIE1ldGhvZE9wdGlvbnMsIFJlc3RBcGksIFJlc3RBcGlQcm9wcywgU2VjdXJpdHlQb2xpY3kgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWFwaWdhdGV3YXlcIjtcbmltcG9ydCB7IEFSZWNvcmQsIEhvc3RlZFpvbmUsIElIb3N0ZWRab25lLCBSZWNvcmRUYXJnZXQgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLXJvdXRlNTNcIjtcbmltcG9ydCB7IEFwaUdhdGV3YXksIEFwaUdhdGV3YXlEb21haW4gfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLXJvdXRlNTMtdGFyZ2V0c1wiO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7IEFwcENvbmZpZyB9IGZyb20gXCIuLi8uLi9jb25maWcvQXBwQ29uZmlnXCI7XG5pbXBvcnQgeyBNaWNyb3NlcnZpY2VQcm9wcyB9IGZyb20gXCIuLi8uLi9pbnRlcmZhY2VzL01pY3Jvc2VydmljZVByb3BzXCI7XG5cbmltcG9ydCB7IEJhc2VSZXNvdXJjZSB9IGZyb20gXCIuLi9iYXNlL2Jhc2VSZXNvdXJjZVwiO1xuaW1wb3J0IHsgQ3JlYXRlQ2VydGlmaWNhdGUgfSBmcm9tIFwiLi4vY2VydGlmaWNhdGUvY3JlYXRlQ2VydGlmaWNhdGVcIjtcbmltcG9ydCB7IFRzZ0FwaUtleSB9IGZyb20gXCIuL2NyZWF0ZUFwaUtleVwiO1xuaW1wb3J0IHsgRW52aXJvbm1lbnQgfSBmcm9tIFwiLi4vLi4vY29uZmlnL0Vudmlyb25tZW50c1wiO1xuaW1wb3J0IHsgZW52aXJvbm1lbnRTdWZmaXggfSBmcm9tIFwiLi4vLi4vaGVscGVycy91dGlsLWhlbHBlclwiO1xuXG5leHBvcnQgY2xhc3MgQXBpIGV4dGVuZHMgQmFzZVJlc291cmNlPElSZXN0QXBpPiB7XG5cbiAgICBwcml2YXRlIGNvcnNPcHRpb25zOiBDb3JzT3B0aW9ucztcblxuXG4gICAgZ2V0IEFQSXMoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmNyZWF0ZWRSZXNvdXJjZXM7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgY29uZmlnOiBBcHBDb25maWcsIHByaXZhdGUgZW52OiBFbnZpcm9ubWVudCA9IFwicHJvZFwiKSB7XG4gICAgICAgIHN1cGVyKHNjb3BlLCBjb25maWcpO1xuXG4gICAgICAgIHRoaXMuY29yc09wdGlvbnMgPSB0aGlzLmNyZWF0ZURlZmF1bHRDb3JzT3B0aW9ucygpO1xuXG4gICAgICAgIHRoaXMuY3JlYXRlZFJlc291cmNlcyA9IHRoaXMuY3JlYXRlUmVzb3VyY2Uoc2NvcGUpO1xuICAgIH1cblxuICAgIHByaXZhdGUgY3JlYXRlQXBpKHNjb3BlOiBDb25zdHJ1Y3QpIHtcbiAgICAgICAgaWYgKHRoaXMuY29uZmlnLkROUykge1xuXG4gICAgICAgICAgICBjb25zb2xlLmxvZygnIyMjIEROUyBpcyB0cnVlICMjIycpO1xuXG4gICAgICAgICAgICBjb25zdCB6b25lID0gdGhpcy5nZXRab25lKHRoaXMuc2NvcGUsIHRoaXMuY29uZmlnKTtcblxuICAgICAgICAgICAgY29uc3QgYXBpID0gbmV3IFJlc3RBcGkodGhpcy5zY29wZSwgYCR7dGhpcy5jb25maWcuQXBwUHJlZml4fS1yZXN0LWFwaSR7ZW52aXJvbm1lbnRTdWZmaXgodGhpcy5lbnYpfWAsIHRoaXMuY3JlYXRlQXBpUHJvcHModGhpcy5lbnYsIHpvbmUpKTtcblxuICAgICAgICAgICAgdGhpcy5jcmVhdGVBUmVjb3JkKHNjb3BlLCB6b25lLCBhcGkpO1xuXG4gICAgICAgICAgICB0aGlzLmNyZWF0ZUFwaUtleSh0aGlzLmNvbmZpZywgYXBpKTtcblxuICAgICAgICAgICAgcmV0dXJuIGFwaTtcblxuICAgICAgICB9IGVsc2Uge1xuXG4gICAgICAgICAgICBjb25zdCBhcGkgPSBuZXcgUmVzdEFwaSh0aGlzLnNjb3BlLCBgJHt0aGlzLmNvbmZpZy5BcHBQcmVmaXh9LXJlc3QtYXBpJHtlbnZpcm9ubWVudFN1ZmZpeCh0aGlzLmVudil9YCwgdGhpcy5jcmVhdGVBcGlQcm9wcyh0aGlzLmVudikpO1xuXG4gICAgICAgICAgICB0aGlzLmNyZWF0ZUFwaUtleSh0aGlzLmNvbmZpZywgYXBpKTtcblxuICAgICAgICAgICAgcmV0dXJuIGFwaTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgY3JlYXRlQXBpUHJvcHMoZW52OiBFbnZpcm9ubWVudCwgem9uZT86IElIb3N0ZWRab25lLCk6IFJlc3RBcGlQcm9wcyB7XG5cbiAgICAgICAgaWYgKHRoaXMuY29uZmlnLkROUykge1xuXG4gICAgICAgICAgICBjb25zdCBjZXJ0ID0gdGhpcy5jcmVhdGVDZXJ0aWZpY2F0ZSh0aGlzLnNjb3BlLCB6b25lISwgdGhpcy5jb25maWcpO1xuXG4gICAgICAgICAgICBjb25zdCBwcm9wczogUmVzdEFwaVByb3BzID0ge1xuICAgICAgICAgICAgICAgIHJlc3RBcGlOYW1lOiBgJHt0aGlzLmNvbmZpZy5BcHBQcmVmaXh9LSR7dGhpcy5jb25maWcuQVBJLk5hbWV9YCxcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogdGhpcy5jb25maWcuQVBJLkRlc2NyaXB0aW9uLFxuICAgICAgICAgICAgICAgIGRvbWFpbk5hbWU6IHtcbiAgICAgICAgICAgICAgICAgICAgZG9tYWluTmFtZTogYCR7dGhpcy5jb25maWcuQVBJLkRvbWFpblByZWZpeH0uJHtlbnZ9LiR7dGhpcy5jb25maWcuRE5TLlpvbmVOYW1lfWAsXG4gICAgICAgICAgICAgICAgICAgIGNlcnRpZmljYXRlOiBjZXJ0LmNlcnRpZmljYXRlLFxuICAgICAgICAgICAgICAgICAgICBlbmRwb2ludFR5cGU6IEVuZHBvaW50VHlwZS5FREdFLFxuICAgICAgICAgICAgICAgICAgICBzZWN1cml0eVBvbGljeTogU2VjdXJpdHlQb2xpY3kuVExTXzFfMlxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgLy8gVE9ETzogIEFERCBDVVNUT00gRE9NQUlOIEhFUkVcbiAgICAgICAgICAgICAgICAvLyBkZWZhdWx0RG9tYWluTWFwcGluZzoge1xuICAgICAgICAgICAgICAgIC8vICAgICBkb21haW5OYW1lOiBkb21haW4sICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgLy8gICB9LFxuICAgICAgICAgICAgICAgIC8vIGRvbWFpbk5hbWU6ICcnLFxuICAgICAgICAgICAgICAgIGRlZmF1bHRDb3JzUHJlZmxpZ2h0T3B0aW9uczogdGhpcy5jb3JzT3B0aW9uc1xuICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgcmV0dXJuIHByb3BzO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgcHJvcHM6IFJlc3RBcGlQcm9wcyA9IHtcbiAgICAgICAgICAgICAgICByZXN0QXBpTmFtZTogYCR7dGhpcy5jb25maWcuQXBwUHJlZml4fS0ke3RoaXMuY29uZmlnLkFQSS5OYW1lfWAsXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IHRoaXMuY29uZmlnLkFQSS5EZXNjcmlwdGlvbixcbiAgICAgICAgICAgICAgICBkZWZhdWx0Q29yc1ByZWZsaWdodE9wdGlvbnM6IHRoaXMuY29yc09wdGlvbnNcbiAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgIHJldHVybiBwcm9wcztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgY3JlYXRlRGVmYXVsdENvcnNPcHRpb25zKCkge1xuXG4gICAgICAgIGNvbnN0IGNvcnNPcHRpb25zOiBDb3JzT3B0aW9ucyA9IHtcbiAgICAgICAgICAgIGFsbG93SGVhZGVyczogW1xuICAgICAgICAgICAgICAgICcqJyxcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBhbGxvd01ldGhvZHM6IENvcnMuQUxMX01FVEhPRFMsXG4gICAgICAgICAgICBhbGxvd0NyZWRlbnRpYWxzOiB0cnVlLFxuICAgICAgICAgICAgYWxsb3dPcmlnaW5zOiBDb3JzLkFMTF9PUklHSU5TLFxuICAgICAgICB9O1xuXG4gICAgICAgIHJldHVybiBjb3JzT3B0aW9ucztcbiAgICB9XG5cbiAgICBwcml2YXRlIHJlcXVpcmVzQXBpS2V5KGNvbmZpZzogQXBwQ29uZmlnKSB7XG4gICAgICAgIC8vIERldGVybWluZSBpZiBhbnkgb2YgdGhlIGxhbWJkYXMgcmVxdWlyZSBhbiBBUEkgS2V5XG4gICAgICAgIHJldHVybiBjb25maWcuUkVTT1VSQ0VTLkxBTUJEQS5zb21lKChsYW1iZGEpID0+IGxhbWJkYS5hcGlHYXRld2F5Py5yZXF1aXJlQXBpS2V5ID09PSB0cnVlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNyZWF0ZUFwaUtleShjb25maWc6IEFwcENvbmZpZywgYXBpOiBSZXN0QXBpKSB7XG5cbiAgICAgICAgaWYgKHRoaXMucmVxdWlyZXNBcGlLZXkodGhpcy5jb25maWcpKSB7XG4gICAgICAgICAgICBjb25zdCBhcGlLZXkgPSBuZXcgVHNnQXBpS2V5KHRoaXMuc2NvcGUsIHRoaXMuY29uZmlnLCBhcGkpXG4gICAgICAgICAgICByZXR1cm4gYXBpS2V5O1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICAvLyBwcml2YXRlIGNyZWF0ZUN1c3RvbURvbWFpbihzY29wZTogQ29uc3RydWN0LCBjb25maWc6IE1pY3Jvc2VydmljZVByb3BzKSB7XG4gICAgLy8gICAgIGNvbnN0IGRvbWFpbk5hbWUgPSBEb21haW5OYW1lLmZyb21Eb21haW5OYW1lQXR0cmlidXRlcyhzY29wZSwgYCR7Y29uZmlnLkFQSS5OYW1lfS1jdXN0b20tZG9tYWluYCwge1xuICAgIC8vICAgICAgICAgZG9tYWluTmFtZTogY29uZmlnLkROUz8uWm9uZU5hbWUsXG4gICAgLy8gICAgICAgICBkb21haW5OYW1lQWxpYXNIb3N0ZWRab25lSWQ6IGNvbmZpZy5ETlMuWm9uZUlkISxcbiAgICAvLyAgICAgICAgIGRvbWFpbk5hbWVBbGlhc1RhcmdldDogY29uZmlnLkFQSS5Eb21haW5QcmVmaXghLFxuICAgIC8vICAgICB9KTtcblxuICAgIC8vICAgICByZXR1cm4gZG9tYWluTmFtZVxuICAgIC8vIH1cblxuICAgIC8vIHByaXZhdGUgYXR0YWNoRG9tYWluVG9BcGkoc2NvcGU6IENvbnN0cnVjdCwgYXBpOiBJUmVzdEFwaSwgZG9tYWluOiBJRG9tYWluTmFtZSwgY29uZmlnOiBNaWNyb3NlcnZpY2VQcm9wcykge1xuICAgIC8vICAgICByZXR1cm4gbmV3IEJhc2VQYXRoTWFwcGluZyhzY29wZSwgYCR7Y29uZmlnLkFQSS5OYW1lfS1iYXNlUGF0aE1hcHBpbmdgLCB7XG4gICAgLy8gICAgICAgICBkb21haW5OYW1lOiBkb21haW4sXG4gICAgLy8gICAgICAgICByZXN0QXBpOiBhcGksXG4gICAgLy8gICAgIH0pO1xuICAgIC8vIH1cblxuICAgIHByaXZhdGUgZ2V0Wm9uZShzY29wZTogQ29uc3RydWN0LCBjb25maWc6IE1pY3Jvc2VydmljZVByb3BzKSB7XG4gICAgICAgIHJldHVybiBIb3N0ZWRab25lLmZyb21Ib3N0ZWRab25lQXR0cmlidXRlcyhzY29wZSwgYCR7Y29uZmlnLkROUz8uWm9uZU5hbWV9LXpvbmVgLCB7XG4gICAgICAgICAgICB6b25lTmFtZTogY29uZmlnLkROUz8uWm9uZU5hbWUhLFxuICAgICAgICAgICAgaG9zdGVkWm9uZUlkOiBjb25maWcuRE5TPy5ab25lSWQhXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgY3JlYXRlQ2VydGlmaWNhdGUoc2NvcGU6IENvbnN0cnVjdCwgem9uZTogSUhvc3RlZFpvbmUsIGNvbmZpZzogTWljcm9zZXJ2aWNlUHJvcHMpIHtcbiAgICAgICAgY29uc3QgY2VydCA9IG5ldyBDcmVhdGVDZXJ0aWZpY2F0ZShzY29wZSwgY29uZmlnLCB6b25lKTtcblxuICAgICAgICBjZXJ0LmNlcnRpZmljYXRlLmFwcGx5UmVtb3ZhbFBvbGljeShSZW1vdmFsUG9saWN5LkRFU1RST1kpO1xuICAgICAgICByZXR1cm4gY2VydDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNyZWF0ZUFSZWNvcmQoc2NvcGU6IENvbnN0cnVjdCwgem9uZTogSUhvc3RlZFpvbmUsIGFwaTogUmVzdEFwaSkge1xuICAgICAgICBjb25zdCBhUmVjb3JkID0gbmV3IEFSZWNvcmQoc2NvcGUsIFwiQXBpUmVjb3JkXCIsIHtcbiAgICAgICAgICAgIHpvbmUsXG4gICAgICAgICAgICB0YXJnZXQ6IFJlY29yZFRhcmdldC5mcm9tQWxpYXMobmV3IEFwaUdhdGV3YXkoYXBpKSksXG4gICAgICAgICAgICByZWNvcmROYW1lOiB0aGlzLmNvbmZpZy5BUEkuRG9tYWluUHJlZml4XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGFSZWNvcmQuYXBwbHlSZW1vdmFsUG9saWN5KFJlbW92YWxQb2xpY3kuREVTVFJPWSk7XG4gICAgICAgIHJldHVybiBhUmVjb3JkO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBjcmVhdGVSZXNvdXJjZShzY29wZTogQ29uc3RydWN0KSB7XG5cbiAgICAgICAgY29uc3QgYXBpID0gdGhpcy5jcmVhdGVBcGkoc2NvcGUpO1xuICAgICAgICAvLyBUT0RPOiAgT05MWSBJRiBDVVNUT00gTUFQUElORyBJUyBSRVFVSVJFRFxuICAgICAgICAvLyBjb25zdCBkb21haW4gPSB0aGlzLmNyZWF0ZUN1c3RvbURvbWFpbihzY29wZSwgdGhpcy5jb25maWcpO1xuXG4gICAgICAgIC8vIGNvbnN0IG1hcHBpbmcgPSB0aGlzLmF0dGFjaERvbWFpblRvQXBpKHNjb3BlLCBhcGksIGRvbWFpbiwgdGhpcy5jb25maWcpO1xuXG5cblxuICAgICAgICByZXR1cm4gW2FwaV07XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGNyZWF0ZU91dHB1dDxUPihzY29wZTogQ29uc3RydWN0LCBjcmVhdGVkQXNzZXRzOiBUW10pOiB2b2lkIHtcbiAgICAgICAgY3JlYXRlZEFzc2V0cy5mb3JFYWNoKChhcGksIGlkeCkgPT4ge1xuXG4gICAgICAgICAgICBuZXcgQ2ZuT3V0cHV0KHNjb3BlLCBgYXBpJHtpZHh9YCwge1xuICAgICAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICAgICAgICB2YWx1ZTogYXBpLnVybFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxufSJdfQ==
139
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlQXBpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3Jlc291cmNlcy9nYXRld2F5L2NyZWF0ZUFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw2Q0FBNEQ7QUFDNUQsK0RBQXVMO0FBQ3ZMLHlEQUF5RjtBQUN6Rix5RUFBK0U7QUFLL0UsdURBQW9EO0FBQ3BELHdFQUFxRTtBQUNyRSxpREFBMkM7QUFJM0MsTUFBYSxHQUFJLFNBQVEsMkJBQXNCO0lBRW5DLFdBQVcsQ0FBYztJQUdqQyxJQUFJLElBQUk7UUFDSixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztJQUNqQyxDQUFDO0lBRUQsWUFBWSxLQUFnQixFQUFFLE1BQWlCO1FBQzNDLEtBQUssQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFFckIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztRQUVuRCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRU8sU0FBUyxDQUFDLEtBQWdCO1FBQzlCLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUVsQixPQUFPLENBQUMsR0FBRyxDQUFDLHFCQUFxQixDQUFDLENBQUM7WUFFbkMsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUVuRCxNQUFNLEdBQUcsR0FBRyxJQUFJLHdCQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxXQUFXLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1lBRXBHLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLElBQUksRUFB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WUFDbkQsVUFBVSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLFlBQVk7U0FDM0MsQ0FBQyxDQUFDO1FBRUgsT0FBTyxDQUFDLGtCQUFrQixDQUFDLDJCQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDbEQsT0FBTyxPQUFPLENBQUM7SUFDbkIsQ0FBQztJQUVTLGNBQWMsQ0FBQyxLQUFnQjtRQUVyQyxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2xDLDRDQUE0QztRQUM1Qyw4REFBOEQ7UUFFOUQsMkVBQTJFO1FBSTNFLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNqQixDQUFDO0lBRVMsWUFBWSxDQUFJLEtBQWdCLEVBQUUsYUFBa0I7UUFDMUQsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRTtZQUUvQixJQUFJLHVCQUFTLENBQUMsS0FBSyxFQUFFLE1BQU0sR0FBRyxFQUFFLEVBQUU7Z0JBQzlCLGFBQWE7Z0JBQ2IsS0FBSyxFQUFFLEdBQUcsQ0FBQyxHQUFHO2FBQ2pCLENBQUMsQ0FBQztRQUNQLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztDQUVKO0FBektELGtCQXlLQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENmbk91dHB1dCwgUmVtb3ZhbFBvbGljeSwgVGFnIH0gZnJvbSBcImF3cy1jZGstbGliXCI7XG5pbXBvcnQgeyBCYXNlUGF0aE1hcHBpbmcsIENvcnMsIENvcnNPcHRpb25zLCBEb21haW5OYW1lLCBFbmRwb2ludFR5cGUsIElEb21haW5OYW1lLCBJUmVzdEFwaSwgTWV0aG9kT3B0aW9ucywgUmVzdEFwaSwgUmVzdEFwaVByb3BzLCBTZWN1cml0eVBvbGljeSB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtYXBpZ2F0ZXdheVwiO1xuaW1wb3J0IHsgQVJlY29yZCwgSG9zdGVkWm9uZSwgSUhvc3RlZFpvbmUsIFJlY29yZFRhcmdldCB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3Mtcm91dGU1M1wiO1xuaW1wb3J0IHsgQXBpR2F0ZXdheSwgQXBpR2F0ZXdheURvbWFpbiB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3Mtcm91dGU1My10YXJnZXRzXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHsgQXBwQ29uZmlnIH0gZnJvbSBcIi4uLy4uL2NvbmZpZy9BcHBDb25maWdcIjtcbmltcG9ydCB7IE1pY3Jvc2VydmljZVByb3BzIH0gZnJvbSBcIi4uLy4uL2ludGVyZmFjZXMvTWljcm9zZXJ2aWNlUHJvcHNcIjtcblxuaW1wb3J0IHsgQmFzZVJlc291cmNlIH0gZnJvbSBcIi4uL2Jhc2UvYmFzZVJlc291cmNlXCI7XG5pbXBvcnQgeyBDcmVhdGVDZXJ0aWZpY2F0ZSB9IGZyb20gXCIuLi9jZXJ0aWZpY2F0ZS9jcmVhdGVDZXJ0aWZpY2F0ZVwiO1xuaW1wb3J0IHsgVHNnQXBpS2V5IH0gZnJvbSBcIi4vY3JlYXRlQXBpS2V5XCI7XG5pbXBvcnQgeyBFbnZpcm9ubWVudCB9IGZyb20gXCIuLi8uLi9jb25maWcvRW52aXJvbm1lbnRzXCI7XG5pbXBvcnQgeyBlbnZpcm9ubWVudFN1ZmZpeCB9IGZyb20gXCIuLi8uLi9oZWxwZXJzL3V0aWwtaGVscGVyXCI7XG5cbmV4cG9ydCBjbGFzcyBBcGkgZXh0ZW5kcyBCYXNlUmVzb3VyY2U8SVJlc3RBcGk+IHtcblxuICAgIHByaXZhdGUgY29yc09wdGlvbnM6IENvcnNPcHRpb25zO1xuXG5cbiAgICBnZXQgQVBJcygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY3JlYXRlZFJlc291cmNlcztcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBjb25maWc6IEFwcENvbmZpZykge1xuICAgICAgICBzdXBlcihzY29wZSwgY29uZmlnKTtcblxuICAgICAgICB0aGlzLmNvcnNPcHRpb25zID0gdGhpcy5jcmVhdGVEZWZhdWx0Q29yc09wdGlvbnMoKTtcblxuICAgICAgICB0aGlzLmNyZWF0ZWRSZXNvdXJjZXMgPSB0aGlzLmNyZWF0ZVJlc291cmNlKHNjb3BlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNyZWF0ZUFwaShzY29wZTogQ29uc3RydWN0KSB7XG4gICAgICAgIGlmICh0aGlzLmNvbmZpZy5ETlMpIHtcblxuICAgICAgICAgICAgY29uc29sZS5sb2coJyMjIyBETlMgaXMgdHJ1ZSAjIyMnKTtcblxuICAgICAgICAgICAgY29uc3Qgem9uZSA9IHRoaXMuZ2V0Wm9uZSh0aGlzLnNjb3BlLCB0aGlzLmNvbmZpZyk7XG5cbiAgICAgICAgICAgIGNvbnN0IGFwaSA9IG5ldyBSZXN0QXBpKHRoaXMuc2NvcGUsIGAke3RoaXMuY29uZmlnLkFwcFByZWZpeH0tcmVzdC1hcGlgLCB0aGlzLmNyZWF0ZUFwaVByb3BzKHpvbmUpKTtcblxuICAgICAgICAgICAgdGhpcy5jcmVhdGVBUmVjb3JkKHNjb3BlLCB6b25lLCBhcGkpO1xuXG4gICAgICAgICAgICB0aGlzLmNyZWF0ZUFwaUtleSh0aGlzLmNvbmZpZywgYXBpKTtcblxuICAgICAgICAgICAgcmV0dXJuIGFwaTtcblxuICAgICAgICB9IGVsc2Uge1xuXG4gICAgICAgICAgICBjb25zdCBhcGkgPSBuZXcgUmVzdEFwaSh0aGlzLnNjb3BlLCBgJHt0aGlzLmNvbmZpZy5BcHBQcmVmaXh9LXJlc3QtYXBpLXdpdGhvdXQtRE5TYCwgdGhpcy5jcmVhdGVBcGlQcm9wcygpKTtcblxuICAgICAgICAgICAgdGhpcy5jcmVhdGVBcGlLZXkodGhpcy5jb25maWcsIGFwaSk7XG5cbiAgICAgICAgICAgIHJldHVybiBhcGk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGNyZWF0ZUFwaVByb3BzKHpvbmU/OiBJSG9zdGVkWm9uZSk6IFJlc3RBcGlQcm9wcyB7XG5cbiAgICAgICAgaWYgKHRoaXMuY29uZmlnLkROUykge1xuXG4gICAgICAgICAgICBjb25zdCBjZXJ0ID0gdGhpcy5jcmVhdGVDZXJ0aWZpY2F0ZSh0aGlzLnNjb3BlLCB6b25lISwgdGhpcy5jb25maWcpO1xuXG4gICAgICAgICAgICBjb25zdCBwcm9wczogUmVzdEFwaVByb3BzID0ge1xuICAgICAgICAgICAgICAgIHJlc3RBcGlOYW1lOiBgJHt0aGlzLmNvbmZpZy5BcHBQcmVmaXh9LSR7dGhpcy5jb25maWcuQVBJLk5hbWV9YCxcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogdGhpcy5jb25maWcuQVBJLkRlc2NyaXB0aW9uLFxuICAgICAgICAgICAgICAgIGRvbWFpbk5hbWU6IHtcbiAgICAgICAgICAgICAgICAgICAgZG9tYWluTmFtZTogYCR7dGhpcy5jb25maWcuRE5TLlN1YkRvbWFpbk5hbWVGb3JBcGl9LiR7dGhpcy5jb25maWcuRE5TLlN1YkRvbWFpbk5hbWV9YCxcbiAgICAgICAgICAgICAgICAgICAgY2VydGlmaWNhdGU6IGNlcnQuY2VydGlmaWNhdGUsXG4gICAgICAgICAgICAgICAgICAgIGVuZHBvaW50VHlwZTogRW5kcG9pbnRUeXBlLkVER0UsXG4gICAgICAgICAgICAgICAgICAgIHNlY3VyaXR5UG9saWN5OiBTZWN1cml0eVBvbGljeS5UTFNfMV8yXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAvLyBUT0RPOiAgQUREIENVU1RPTSBET01BSU4gSEVSRVxuICAgICAgICAgICAgICAgIC8vIGRlZmF1bHREb21haW5NYXBwaW5nOiB7XG4gICAgICAgICAgICAgICAgLy8gICAgIGRvbWFpbk5hbWU6IGRvbWFpbiwgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAvLyAgIH0sXG4gICAgICAgICAgICAgICAgLy8gZG9tYWluTmFtZTogJycsXG4gICAgICAgICAgICAgICAgZGVmYXVsdENvcnNQcmVmbGlnaHRPcHRpb25zOiB0aGlzLmNvcnNPcHRpb25zXG4gICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICByZXR1cm4gcHJvcHM7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zdCBwcm9wczogUmVzdEFwaVByb3BzID0ge1xuICAgICAgICAgICAgICAgIHJlc3RBcGlOYW1lOiBgJHt0aGlzLmNvbmZpZy5BcHBQcmVmaXh9LSR7dGhpcy5jb25maWcuQVBJLk5hbWV9YCxcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogdGhpcy5jb25maWcuQVBJLkRlc2NyaXB0aW9uLFxuICAgICAgICAgICAgICAgIGRlZmF1bHRDb3JzUHJlZmxpZ2h0T3B0aW9uczogdGhpcy5jb3JzT3B0aW9uc1xuICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgcmV0dXJuIHByb3BzO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjcmVhdGVEZWZhdWx0Q29yc09wdGlvbnMoKSB7XG5cbiAgICAgICAgY29uc3QgY29yc09wdGlvbnM6IENvcnNPcHRpb25zID0ge1xuICAgICAgICAgICAgYWxsb3dIZWFkZXJzOiBbXG4gICAgICAgICAgICAgICAgJyonLFxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIGFsbG93TWV0aG9kczogQ29ycy5BTExfTUVUSE9EUyxcbiAgICAgICAgICAgIGFsbG93Q3JlZGVudGlhbHM6IHRydWUsXG4gICAgICAgICAgICBhbGxvd09yaWdpbnM6IENvcnMuQUxMX09SSUdJTlMsXG4gICAgICAgIH07XG5cbiAgICAgICAgcmV0dXJuIGNvcnNPcHRpb25zO1xuICAgIH1cblxuICAgIHByaXZhdGUgcmVxdWlyZXNBcGlLZXkoY29uZmlnOiBBcHBDb25maWcpIHtcbiAgICAgICAgLy8gRGV0ZXJtaW5lIGlmIGFueSBvZiB0aGUgbGFtYmRhcyByZXF1aXJlIGFuIEFQSSBLZXlcbiAgICAgICAgcmV0dXJuIGNvbmZpZy5SRVNPVVJDRVMuTEFNQkRBLnNvbWUoKGxhbWJkYSkgPT4gbGFtYmRhLmFwaUdhdGV3YXk/LnJlcXVpcmVBcGlLZXkgPT09IHRydWUpO1xuICAgIH1cblxuICAgIHByaXZhdGUgY3JlYXRlQXBpS2V5KGNvbmZpZzogQXBwQ29uZmlnLCBhcGk6IFJlc3RBcGkpIHtcblxuICAgICAgICBpZiAodGhpcy5yZXF1aXJlc0FwaUtleSh0aGlzLmNvbmZpZykpIHtcbiAgICAgICAgICAgIGNvbnN0IGFwaUtleSA9IG5ldyBUc2dBcGlLZXkodGhpcy5zY29wZSwgdGhpcy5jb25maWcsIGFwaSlcbiAgICAgICAgICAgIHJldHVybiBhcGlLZXk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIC8vIHByaXZhdGUgY3JlYXRlQ3VzdG9tRG9tYWluKHNjb3BlOiBDb25zdHJ1Y3QsIGNvbmZpZzogTWljcm9zZXJ2aWNlUHJvcHMpIHtcbiAgICAvLyAgICAgY29uc3QgZG9tYWluTmFtZSA9IERvbWFpbk5hbWUuZnJvbURvbWFpbk5hbWVBdHRyaWJ1dGVzKHNjb3BlLCBgJHtjb25maWcuQVBJLk5hbWV9LWN1c3RvbS1kb21haW5gLCB7XG4gICAgLy8gICAgICAgICBkb21haW5OYW1lOiBjb25maWcuRE5TPy5ab25lTmFtZSxcbiAgICAvLyAgICAgICAgIGRvbWFpbk5hbWVBbGlhc0hvc3RlZFpvbmVJZDogY29uZmlnLkROUy5ab25lSWQhLFxuICAgIC8vICAgICAgICAgZG9tYWluTmFtZUFsaWFzVGFyZ2V0OiBjb25maWcuQVBJLkRvbWFpblByZWZpeCEsXG4gICAgLy8gICAgIH0pO1xuXG4gICAgLy8gICAgIHJldHVybiBkb21haW5OYW1lXG4gICAgLy8gfVxuXG4gICAgLy8gcHJpdmF0ZSBhdHRhY2hEb21haW5Ub0FwaShzY29wZTogQ29uc3RydWN0LCBhcGk6IElSZXN0QXBpLCBkb21haW46IElEb21haW5OYW1lLCBjb25maWc6IE1pY3Jvc2VydmljZVByb3BzKSB7XG4gICAgLy8gICAgIHJldHVybiBuZXcgQmFzZVBhdGhNYXBwaW5nKHNjb3BlLCBgJHtjb25maWcuQVBJLk5hbWV9LWJhc2VQYXRoTWFwcGluZ2AsIHtcbiAgICAvLyAgICAgICAgIGRvbWFpbk5hbWU6IGRvbWFpbixcbiAgICAvLyAgICAgICAgIHJlc3RBcGk6IGFwaSxcbiAgICAvLyAgICAgfSk7XG4gICAgLy8gfVxuXG4gICAgcHJpdmF0ZSBnZXRab25lKHNjb3BlOiBDb25zdHJ1Y3QsIGNvbmZpZzogTWljcm9zZXJ2aWNlUHJvcHMpIHtcbiAgICAgICAgcmV0dXJuIEhvc3RlZFpvbmUuZnJvbUhvc3RlZFpvbmVBdHRyaWJ1dGVzKHNjb3BlLCBgJHtjb25maWcuRE5TPy5ab25lTmFtZX0tem9uZWAsIHtcbiAgICAgICAgICAgIHpvbmVOYW1lOiBjb25maWcuRE5TPy5ab25lTmFtZSEsXG4gICAgICAgICAgICBob3N0ZWRab25lSWQ6IGNvbmZpZy5ETlM/LlpvbmVJZCFcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjcmVhdGVDZXJ0aWZpY2F0ZShzY29wZTogQ29uc3RydWN0LCB6b25lOiBJSG9zdGVkWm9uZSwgY29uZmlnOiBNaWNyb3NlcnZpY2VQcm9wcykge1xuICAgICAgICBjb25zdCBjZXJ0ID0gbmV3IENyZWF0ZUNlcnRpZmljYXRlKHNjb3BlLCBjb25maWcsIHpvbmUpO1xuXG4gICAgICAgIGNlcnQuY2VydGlmaWNhdGUuYXBwbHlSZW1vdmFsUG9saWN5KFJlbW92YWxQb2xpY3kuREVTVFJPWSk7XG4gICAgICAgIHJldHVybiBjZXJ0O1xuICAgIH1cblxuICAgIHByaXZhdGUgY3JlYXRlQVJlY29yZChzY29wZTogQ29uc3RydWN0LCB6b25lOiBJSG9zdGVkWm9uZSwgYXBpOiBSZXN0QXBpKSB7XG4gICAgICAgIGNvbnN0IGFSZWNvcmQgPSBuZXcgQVJlY29yZChzY29wZSwgXCJBcGlSZWNvcmRcIiwge1xuICAgICAgICAgICAgem9uZSxcbiAgICAgICAgICAgIHRhcmdldDogUmVjb3JkVGFyZ2V0LmZyb21BbGlhcyhuZXcgQXBpR2F0ZXdheShhcGkpKSxcbiAgICAgICAgICAgIHJlY29yZE5hbWU6IHRoaXMuY29uZmlnLkFQSS5Eb21haW5QcmVmaXhcbiAgICAgICAgfSk7XG5cbiAgICAgICAgYVJlY29yZC5hcHBseVJlbW92YWxQb2xpY3koUmVtb3ZhbFBvbGljeS5ERVNUUk9ZKTtcbiAgICAgICAgcmV0dXJuIGFSZWNvcmQ7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGNyZWF0ZVJlc291cmNlKHNjb3BlOiBDb25zdHJ1Y3QpIHtcblxuICAgICAgICBjb25zdCBhcGkgPSB0aGlzLmNyZWF0ZUFwaShzY29wZSk7XG4gICAgICAgIC8vIFRPRE86ICBPTkxZIElGIENVU1RPTSBNQVBQSU5HIElTIFJFUVVJUkVEXG4gICAgICAgIC8vIGNvbnN0IGRvbWFpbiA9IHRoaXMuY3JlYXRlQ3VzdG9tRG9tYWluKHNjb3BlLCB0aGlzLmNvbmZpZyk7XG5cbiAgICAgICAgLy8gY29uc3QgbWFwcGluZyA9IHRoaXMuYXR0YWNoRG9tYWluVG9BcGkoc2NvcGUsIGFwaSwgZG9tYWluLCB0aGlzLmNvbmZpZyk7XG5cblxuXG4gICAgICAgIHJldHVybiBbYXBpXTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgY3JlYXRlT3V0cHV0PFQ+KHNjb3BlOiBDb25zdHJ1Y3QsIGNyZWF0ZWRBc3NldHM6IFRbXSk6IHZvaWQge1xuICAgICAgICBjcmVhdGVkQXNzZXRzLmZvckVhY2goKGFwaSwgaWR4KSA9PiB7XG5cbiAgICAgICAgICAgIG5ldyBDZm5PdXRwdXQoc2NvcGUsIGBhcGkke2lkeH1gLCB7XG4gICAgICAgICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgICAgICAgIHZhbHVlOiBhcGkudXJsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG59Il19
@@ -26,7 +26,7 @@ class Routes {
26
26
  Routes.routeMap.set(activeRoutePath, secondaryResource);
27
27
  activeResource = secondaryResource;
28
28
  }
29
- console.log(`Route: ${prop.apiGateway.method}\t Lambda Name: ${lambdaNode.node.id}\t Path: ${activeRoutePath}`);
29
+ // console.log(`Route: ${prop.apiGateway.method}\t Lambda Name: ${lambdaNode.node.id}\t Path: ${activeRoutePath}`);
30
30
  // Finally, we attach our function to the last resource
31
31
  activeResource?.addMethod(prop.apiGateway.method || 'GET', new aws_apigateway_1.LambdaIntegration(lambdaNode, { proxy: true, }), {
32
32
  requestParameters: Routes.createQueryStringObject(prop.apiGateway.queryStrings),
@@ -48,4 +48,4 @@ class Routes {
48
48
  }
49
49
  }
50
50
  exports.Routes = Routes;
51
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlUm91dGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3Jlc291cmNlcy9oZWxwZXJzL2NyZWF0ZVJvdXRlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwrREFBMEk7QUFLMUksTUFBYSxNQUFNO0lBRVIsTUFBTSxDQUFDLFNBQVMsR0FBZSxFQUFFLENBQUM7SUFDakMsTUFBTSxDQUFDLFFBQVEsR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFDO0lBRTdCLE1BQU0sQ0FBQyxjQUFjLENBQ3hCLElBQW1CLEVBQ25CLEdBQWEsRUFDYixVQUEwQixFQUMxQixVQUFnRDtRQUVoRCxNQUFNLFFBQVEsR0FBMEIsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUVsRCxJQUFJLGVBQWUsR0FBRyxFQUFFLENBQUM7UUFDekIsSUFBSSxjQUFjLEdBQXlCLFNBQVMsQ0FBQztRQUVyRCx5REFBeUQ7UUFDekQsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLEtBQUssRUFBRSxDQUFDO1lBRXpCLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGdCQUFnQixFQUFFLENBQUM7Z0JBQ3BDLDBEQUEwRDtnQkFDMUQsNkVBQTZFO2dCQUM3RSxlQUFlLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztnQkFDakYsY0FBYyxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGVBQWUsQ0FBQyxDQUFDO2dCQUMvRixNQUFNLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxlQUFlLEVBQUUsY0FBYyxDQUFDLENBQUM7WUFDekQsQ0FBQztZQUdELHVFQUF1RTtZQUN2RSxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBRXhFLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxZQUFZLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7Z0JBQzNDLGVBQWUsR0FBRyxHQUFHLGVBQWUsSUFBSSxZQUFZLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztnQkFDMUQsSUFBSSxpQkFBaUIsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsSUFBSSxjQUFjLEVBQUUsV0FBVyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUN0SixNQUFNLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxlQUFlLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztnQkFDeEQsY0FBYyxHQUFHLGlCQUFpQixDQUFDO1lBQ3ZDLENBQUM7WUFFRCxPQUFPLENBQUMsR0FBRyxDQUFDLFVBQVUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLG1CQUFtQixVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsWUFBWSxlQUFlLEVBQUUsQ0FBQyxDQUFDO1lBQ2hILHdEQUF3RDtZQUN4RCxjQUFjLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxJQUFJLEtBQUssRUFDckQsSUFBSSxrQ0FBaUIsQ0FBQyxVQUFVLEVBQUUsRUFBRSxLQUFLLEVBQUUsSUFBSSxHQUFHLENBQUMsRUFDbkQ7Z0JBQ0ksaUJBQWlCLEVBQUUsTUFBTSxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDO2dCQUMvRSxjQUFjLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUs7Z0JBQzlELFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxTQUFTO2dCQUMzRCxpQkFBaUIsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsa0NBQWlCLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxTQUFTO2FBQ25GLENBQUMsQ0FBQztRQUNYLENBQUM7SUFDTCxDQUFDO0lBRU0sTUFBTSxDQUFDLHVCQUF1QixDQUFDLFlBQWtDO1FBRXBFLElBQUksQ0FBQyxZQUFZLElBQUksWUFBWSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUM3QyxPQUFPLEVBQUUsQ0FBQztRQUNkLENBQUM7UUFFRCxNQUFNLEdBQUcsR0FBK0IsRUFBRSxDQUFDO1FBRTNDLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFVLEVBQUUsRUFBRTtZQUNoQyxHQUFHLENBQUMsOEJBQThCLEVBQUUsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDO1FBQ25ELENBQUMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxHQUFHLENBQUM7SUFDZixDQUFDOztBQWhFTCx3QkFrRUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBdXRob3JpemF0aW9uVHlwZSwgSVJlc3RBcGksIExhbWJkYUludGVncmF0aW9uLCBSZXF1ZXN0QXV0aG9yaXplciwgUmVzb3VyY2UsIFRva2VuQXV0aG9yaXplciB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtYXBpZ2F0ZXdheVwiO1xuaW1wb3J0IHsgTm9kZWpzRnVuY3Rpb24gfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWxhbWJkYS1ub2RlanNcIjtcbmltcG9ydCB7IFRzZ0xhbWJkYVByb3AgfSBmcm9tIFwiLi4vLi4vY29uZmlnL3R5cGVzXCI7XG5cblxuZXhwb3J0IGNsYXNzIFJvdXRlcyB7XG5cbiAgICBwdWJsaWMgc3RhdGljIFJlc291cmNlczogUmVzb3VyY2VbXSA9IFtdO1xuICAgIHByaXZhdGUgc3RhdGljIHJvdXRlTWFwID0gbmV3IE1hcCgpO1xuXG4gICAgcHVibGljIHN0YXRpYyBjcmVhdGVSZXNvdXJjZShcbiAgICAgICAgcHJvcDogVHNnTGFtYmRhUHJvcCxcbiAgICAgICAgYXBpOiBJUmVzdEFwaSxcbiAgICAgICAgbGFtYmRhTm9kZTogTm9kZWpzRnVuY3Rpb24sXG4gICAgICAgIGF1dGhvcml6ZXI/OiBUb2tlbkF1dGhvcml6ZXIgfCBSZXF1ZXN0QXV0aG9yaXplcik6IHZvaWQge1xuXG4gICAgICAgIGNvbnN0IHJvdXRlTWFwOiBNYXA8c3RyaW5nLCBSZXNvdXJjZT4gPSBuZXcgTWFwKCk7XG5cbiAgICAgICAgbGV0IGFjdGl2ZVJvdXRlUGF0aCA9IFwiXCI7XG4gICAgICAgIGxldCBhY3RpdmVSZXNvdXJjZTogUmVzb3VyY2UgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XG5cbiAgICAgICAgLy8gIE9ubHkgYXR0YWNoIGxhbWJkYSB0byBhbiBBcGkgR2F0ZXdheSBpZiBhIHJvdXRlIGV4aXN0XG4gICAgICAgIGlmIChwcm9wLmFwaUdhdGV3YXk/LnJvdXRlKSB7XG5cbiAgICAgICAgICAgIGlmICghcHJvcC5hcGlHYXRld2F5LnVzZVJvdXRlT3ZlcnJpZGUpIHtcbiAgICAgICAgICAgICAgICAvLyAgRmlyc3Qgd2UgY3JlYXRlIHRoZSByb290IHJlc291cmNlIGlmIGl0IGRvZXNuJ3QgZXhpc3QuXG4gICAgICAgICAgICAgICAgLy8gIE5vdGU6ICB0aGlzIG5vdyB1c2VzIHRoZSBidW5kbGUgdmVyc2lvbiBhcyB0aGUgZmlyc3Qgc2VnbWVudCBpbiB0aGUgcGF0aC5cbiAgICAgICAgICAgICAgICBhY3RpdmVSb3V0ZVBhdGggPSBgdiR7KHByb3AuYXBpR2F0ZXdheT8udmVyc2lvbikgPyBwcm9wLmFwaUdhdGV3YXkudmVyc2lvbiA6IDF9YDtcbiAgICAgICAgICAgICAgICBhY3RpdmVSZXNvdXJjZSA9IFJvdXRlcy5yb3V0ZU1hcC5nZXQoYWN0aXZlUm91dGVQYXRoKSB8fCBhcGkucm9vdC5hZGRSZXNvdXJjZShhY3RpdmVSb3V0ZVBhdGgpO1xuICAgICAgICAgICAgICAgIFJvdXRlcy5yb3V0ZU1hcC5zZXQoYWN0aXZlUm91dGVQYXRoLCBhY3RpdmVSZXNvdXJjZSk7XG4gICAgICAgICAgICB9XG5cblxuICAgICAgICAgICAgLy8gIE5vdyB3ZSBnbyB0aHJvdWdoIG91ciByb3V0ZSBzZWdtZW50cyBjcmVhdGluZyB0aGUgcmVzdCBvZiB0aGUgcGF0aC5cbiAgICAgICAgICAgIGNvbnN0IHBhdGhTZWdtZW50cyA9IHByb3AuYXBpR2F0ZXdheT8ucm91dGUuc3BsaXQoXCIvXCIpLmZpbHRlcih4ID0+ICh4KSk7XG5cbiAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcGF0aFNlZ21lbnRzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgYWN0aXZlUm91dGVQYXRoID0gYCR7YWN0aXZlUm91dGVQYXRofS8ke3BhdGhTZWdtZW50c1tpXX1gO1xuICAgICAgICAgICAgICAgIGxldCBzZWNvbmRhcnlSZXNvdXJjZSA9IFJvdXRlcy5yb3V0ZU1hcC5nZXQoYWN0aXZlUm91dGVQYXRoKSB8fCBhY3RpdmVSZXNvdXJjZT8uYWRkUmVzb3VyY2UocGF0aFNlZ21lbnRzW2ldKSB8fCBhcGkucm9vdC5hZGRSZXNvdXJjZShwYXRoU2VnbWVudHNbaV0pO1xuICAgICAgICAgICAgICAgIFJvdXRlcy5yb3V0ZU1hcC5zZXQoYWN0aXZlUm91dGVQYXRoLCBzZWNvbmRhcnlSZXNvdXJjZSk7XG4gICAgICAgICAgICAgICAgYWN0aXZlUmVzb3VyY2UgPSBzZWNvbmRhcnlSZXNvdXJjZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc29sZS5sb2coYFJvdXRlOiAke3Byb3AuYXBpR2F0ZXdheS5tZXRob2R9XFx0IExhbWJkYSBOYW1lOiAke2xhbWJkYU5vZGUubm9kZS5pZH1cXHQgUGF0aDogJHthY3RpdmVSb3V0ZVBhdGh9YCk7XG4gICAgICAgICAgICAvLyAgRmluYWxseSwgd2UgYXR0YWNoIG91ciBmdW5jdGlvbiB0byB0aGUgbGFzdCByZXNvdXJjZVxuICAgICAgICAgICAgYWN0aXZlUmVzb3VyY2U/LmFkZE1ldGhvZChwcm9wLmFwaUdhdGV3YXkubWV0aG9kIHx8ICdHRVQnLFxuICAgICAgICAgICAgICAgIG5ldyBMYW1iZGFJbnRlZ3JhdGlvbihsYW1iZGFOb2RlLCB7IHByb3h5OiB0cnVlLCB9KSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHJlcXVlc3RQYXJhbWV0ZXJzOiBSb3V0ZXMuY3JlYXRlUXVlcnlTdHJpbmdPYmplY3QocHJvcC5hcGlHYXRld2F5LnF1ZXJ5U3RyaW5ncyksXG4gICAgICAgICAgICAgICAgICAgIGFwaUtleVJlcXVpcmVkOiAocHJvcC5hcGlHYXRld2F5LnJlcXVpcmVBcGlLZXkpID8gdHJ1ZSA6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICBhdXRob3JpemVyOiBwcm9wLmFwaUdhdGV3YXkuc2VjdXJlID8gYXV0aG9yaXplciA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICAgICAgYXV0aG9yaXphdGlvblR5cGU6IHByb3AuYXBpR2F0ZXdheS5zZWN1cmUgPyBBdXRob3JpemF0aW9uVHlwZS5DVVNUT00gOiB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIGNyZWF0ZVF1ZXJ5U3RyaW5nT2JqZWN0KHF1ZXJ5U3RyaW5nczogc3RyaW5nW10gfCB1bmRlZmluZWQpOiB7IFtrZXk6IHN0cmluZ106IGJvb2xlYW4gfSB7XG5cbiAgICAgICAgaWYgKCFxdWVyeVN0cmluZ3MgfHwgcXVlcnlTdHJpbmdzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgcmV0dXJuIHt9O1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qgb2JqOiB7IFtrZXk6IHN0cmluZ106IGJvb2xlYW4gfSA9IHt9O1xuXG4gICAgICAgIHF1ZXJ5U3RyaW5ncy5mb3JFYWNoKChxczogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgICBvYmpbYG1ldGhvZC5yZXF1ZXN0LnF1ZXJ5c3RyaW5nLiR7cXN9YF0gPSB0cnVlO1xuICAgICAgICB9KTtcblxuICAgICAgICByZXR1cm4gb2JqO1xuICAgIH1cblxufSJdfQ==
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlUm91dGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3Jlc291cmNlcy9oZWxwZXJzL2NyZWF0ZVJvdXRlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwrREFBMEk7QUFPMUksTUFBYSxNQUFNO0lBRVIsTUFBTSxDQUFDLFNBQVMsR0FBZSxFQUFFLENBQUM7SUFDakMsTUFBTSxDQUFDLFFBQVEsR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFDO0lBRTdCLE1BQU0sQ0FBQyxjQUFjLENBQ3hCLElBQW1CLEVBQ25CLEdBQWEsRUFDYixVQUEwQixFQUMxQixVQUFnRDtRQUdoRCxNQUFNLFFBQVEsR0FBMEIsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUVsRCxJQUFJLGVBQWUsR0FBRyxFQUFFLENBQUM7UUFDekIsSUFBSSxjQUFjLEdBQXlCLFNBQVMsQ0FBQztRQUVyRCx5REFBeUQ7UUFDekQsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLEtBQUssRUFBRSxDQUFDO1lBRXpCLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGdCQUFnQixFQUFFLENBQUM7Z0JBQ3BDLDBEQUEwRDtnQkFDMUQsNkVBQTZFO2dCQUM3RSxlQUFlLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztnQkFDakYsY0FBYyxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGVBQWUsQ0FBQyxDQUFDO2dCQUMvRixNQUFNLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxlQUFlLEVBQUUsY0FBYyxDQUFDLENBQUM7WUFDekQsQ0FBQztZQUdELHVFQUF1RTtZQUN2RSxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBRXhFLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxZQUFZLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7Z0JBQzNDLGVBQWUsR0FBRyxHQUFHLGVBQWUsSUFBSSxZQUFZLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztnQkFDMUQsSUFBSSxpQkFBaUIsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsSUFBSSxjQUFjLEVBQUUsV0FBVyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUN0SixNQUFNLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxlQUFlLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztnQkFDeEQsY0FBYyxHQUFHLGlCQUFpQixDQUFDO1lBQ3ZDLENBQUM7WUFFRCxzSEFBc0g7WUFDdEgsd0RBQXdEO1lBQ3hELGNBQWMsRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLElBQUksS0FBSyxFQUNyRCxJQUFJLGtDQUFpQixDQUFDLFVBQVUsRUFBRSxFQUFFLEtBQUssRUFBRSxJQUFJLEdBQUcsQ0FBQyxFQUNuRDtnQkFDSSxpQkFBaUIsRUFBRSxNQUFNLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUM7Z0JBQy9FLGNBQWMsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSztnQkFDOUQsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFNBQVM7Z0JBQzNELGlCQUFpQixFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxrQ0FBaUIsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFNBQVM7YUFDbkYsQ0FBQyxDQUFDO1FBQ1gsQ0FBQztJQUNMLENBQUM7SUFFTSxNQUFNLENBQUMsdUJBQXVCLENBQUMsWUFBa0M7UUFFcEUsSUFBSSxDQUFDLFlBQVksSUFBSSxZQUFZLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQzdDLE9BQU8sRUFBRSxDQUFDO1FBQ2QsQ0FBQztRQUVELE1BQU0sR0FBRyxHQUErQixFQUFFLENBQUM7UUFFM0MsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQVUsRUFBRSxFQUFFO1lBQ2hDLEdBQUcsQ0FBQyw4QkFBOEIsRUFBRSxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUM7UUFDbkQsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLEdBQUcsQ0FBQztJQUNmLENBQUM7O0FBakVMLHdCQW1FQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEF1dGhvcml6YXRpb25UeXBlLCBJUmVzdEFwaSwgTGFtYmRhSW50ZWdyYXRpb24sIFJlcXVlc3RBdXRob3JpemVyLCBSZXNvdXJjZSwgVG9rZW5BdXRob3JpemVyIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1hcGlnYXRld2F5XCI7XG5pbXBvcnQgeyBOb2RlanNGdW5jdGlvbiB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtbGFtYmRhLW5vZGVqc1wiO1xuaW1wb3J0IHsgVHNnTGFtYmRhUHJvcCB9IGZyb20gXCIuLi8uLi9jb25maWcvdHlwZXNcIjtcbmltcG9ydCB7IExvZ2dlciB9IGZyb20gXCIuLi8uLi9oZWxwZXJzL2xvZ2dlclwiO1xuaW1wb3J0IHsgbG9nZ2VyIH0gZnJvbSBcIi4uL2xheWVycy9jb21tb24vc3JjL25vZGVqc1wiO1xuXG5cbmV4cG9ydCBjbGFzcyBSb3V0ZXMge1xuXG4gICAgcHVibGljIHN0YXRpYyBSZXNvdXJjZXM6IFJlc291cmNlW10gPSBbXTtcbiAgICBwcml2YXRlIHN0YXRpYyByb3V0ZU1hcCA9IG5ldyBNYXAoKTtcblxuICAgIHB1YmxpYyBzdGF0aWMgY3JlYXRlUmVzb3VyY2UoXG4gICAgICAgIHByb3A6IFRzZ0xhbWJkYVByb3AsXG4gICAgICAgIGFwaTogSVJlc3RBcGksXG4gICAgICAgIGxhbWJkYU5vZGU6IE5vZGVqc0Z1bmN0aW9uLFxuICAgICAgICBhdXRob3JpemVyPzogVG9rZW5BdXRob3JpemVyIHwgUmVxdWVzdEF1dGhvcml6ZXIsXG4gICAgKTogdm9pZCB7XG5cbiAgICAgICAgY29uc3Qgcm91dGVNYXA6IE1hcDxzdHJpbmcsIFJlc291cmNlPiA9IG5ldyBNYXAoKTtcblxuICAgICAgICBsZXQgYWN0aXZlUm91dGVQYXRoID0gXCJcIjtcbiAgICAgICAgbGV0IGFjdGl2ZVJlc291cmNlOiBSZXNvdXJjZSB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcblxuICAgICAgICAvLyAgT25seSBhdHRhY2ggbGFtYmRhIHRvIGFuIEFwaSBHYXRld2F5IGlmIGEgcm91dGUgZXhpc3RcbiAgICAgICAgaWYgKHByb3AuYXBpR2F0ZXdheT8ucm91dGUpIHtcblxuICAgICAgICAgICAgaWYgKCFwcm9wLmFwaUdhdGV3YXkudXNlUm91dGVPdmVycmlkZSkge1xuICAgICAgICAgICAgICAgIC8vICBGaXJzdCB3ZSBjcmVhdGUgdGhlIHJvb3QgcmVzb3VyY2UgaWYgaXQgZG9lc24ndCBleGlzdC5cbiAgICAgICAgICAgICAgICAvLyAgTm90ZTogIHRoaXMgbm93IHVzZXMgdGhlIGJ1bmRsZSB2ZXJzaW9uIGFzIHRoZSBmaXJzdCBzZWdtZW50IGluIHRoZSBwYXRoLlxuICAgICAgICAgICAgICAgIGFjdGl2ZVJvdXRlUGF0aCA9IGB2JHsocHJvcC5hcGlHYXRld2F5Py52ZXJzaW9uKSA/IHByb3AuYXBpR2F0ZXdheS52ZXJzaW9uIDogMX1gO1xuICAgICAgICAgICAgICAgIGFjdGl2ZVJlc291cmNlID0gUm91dGVzLnJvdXRlTWFwLmdldChhY3RpdmVSb3V0ZVBhdGgpIHx8IGFwaS5yb290LmFkZFJlc291cmNlKGFjdGl2ZVJvdXRlUGF0aCk7XG4gICAgICAgICAgICAgICAgUm91dGVzLnJvdXRlTWFwLnNldChhY3RpdmVSb3V0ZVBhdGgsIGFjdGl2ZVJlc291cmNlKTtcbiAgICAgICAgICAgIH1cblxuXG4gICAgICAgICAgICAvLyAgTm93IHdlIGdvIHRocm91Z2ggb3VyIHJvdXRlIHNlZ21lbnRzIGNyZWF0aW5nIHRoZSByZXN0IG9mIHRoZSBwYXRoLlxuICAgICAgICAgICAgY29uc3QgcGF0aFNlZ21lbnRzID0gcHJvcC5hcGlHYXRld2F5Py5yb3V0ZS5zcGxpdChcIi9cIikuZmlsdGVyKHggPT4gKHgpKTtcblxuICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBwYXRoU2VnbWVudHMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgICAgICBhY3RpdmVSb3V0ZVBhdGggPSBgJHthY3RpdmVSb3V0ZVBhdGh9LyR7cGF0aFNlZ21lbnRzW2ldfWA7XG4gICAgICAgICAgICAgICAgbGV0IHNlY29uZGFyeVJlc291cmNlID0gUm91dGVzLnJvdXRlTWFwLmdldChhY3RpdmVSb3V0ZVBhdGgpIHx8IGFjdGl2ZVJlc291cmNlPy5hZGRSZXNvdXJjZShwYXRoU2VnbWVudHNbaV0pIHx8IGFwaS5yb290LmFkZFJlc291cmNlKHBhdGhTZWdtZW50c1tpXSk7XG4gICAgICAgICAgICAgICAgUm91dGVzLnJvdXRlTWFwLnNldChhY3RpdmVSb3V0ZVBhdGgsIHNlY29uZGFyeVJlc291cmNlKTtcbiAgICAgICAgICAgICAgICBhY3RpdmVSZXNvdXJjZSA9IHNlY29uZGFyeVJlc291cmNlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyAgICBjb25zb2xlLmxvZyhgUm91dGU6ICR7cHJvcC5hcGlHYXRld2F5Lm1ldGhvZH1cXHQgTGFtYmRhIE5hbWU6ICR7bGFtYmRhTm9kZS5ub2RlLmlkfVxcdCBQYXRoOiAke2FjdGl2ZVJvdXRlUGF0aH1gKTtcbiAgICAgICAgICAgIC8vICBGaW5hbGx5LCB3ZSBhdHRhY2ggb3VyIGZ1bmN0aW9uIHRvIHRoZSBsYXN0IHJlc291cmNlXG4gICAgICAgICAgICBhY3RpdmVSZXNvdXJjZT8uYWRkTWV0aG9kKHByb3AuYXBpR2F0ZXdheS5tZXRob2QgfHwgJ0dFVCcsXG4gICAgICAgICAgICAgICAgbmV3IExhbWJkYUludGVncmF0aW9uKGxhbWJkYU5vZGUsIHsgcHJveHk6IHRydWUsIH0pLFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFBhcmFtZXRlcnM6IFJvdXRlcy5jcmVhdGVRdWVyeVN0cmluZ09iamVjdChwcm9wLmFwaUdhdGV3YXkucXVlcnlTdHJpbmdzKSxcbiAgICAgICAgICAgICAgICAgICAgYXBpS2V5UmVxdWlyZWQ6IChwcm9wLmFwaUdhdGV3YXkucmVxdWlyZUFwaUtleSkgPyB0cnVlIDogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgIGF1dGhvcml6ZXI6IHByb3AuYXBpR2F0ZXdheS5zZWN1cmUgPyBhdXRob3JpemVyIDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgICAgICBhdXRob3JpemF0aW9uVHlwZTogcHJvcC5hcGlHYXRld2F5LnNlY3VyZSA/IEF1dGhvcml6YXRpb25UeXBlLkNVU1RPTSA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgY3JlYXRlUXVlcnlTdHJpbmdPYmplY3QocXVlcnlTdHJpbmdzOiBzdHJpbmdbXSB8IHVuZGVmaW5lZCk6IHsgW2tleTogc3RyaW5nXTogYm9vbGVhbiB9IHtcblxuICAgICAgICBpZiAoIXF1ZXJ5U3RyaW5ncyB8fCBxdWVyeVN0cmluZ3MubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICByZXR1cm4ge307XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBvYmo6IHsgW2tleTogc3RyaW5nXTogYm9vbGVhbiB9ID0ge307XG5cbiAgICAgICAgcXVlcnlTdHJpbmdzLmZvckVhY2goKHFzOiBzdHJpbmcpID0+IHtcbiAgICAgICAgICAgIG9ialtgbWV0aG9kLnJlcXVlc3QucXVlcnlzdHJpbmcuJHtxc31gXSA9IHRydWU7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybiBvYmo7XG4gICAgfVxuXG59Il19
@@ -30,7 +30,7 @@ class LambdaHelper {
30
30
  const lambdaId = this.getIdForLambda(config, appConfig);
31
31
  let fctn = new aws_lambda_nodejs_1.NodejsFunction(scope, lambdaId, lambdaProps);
32
32
  if (lambdaId !== fctn.node.id) {
33
- console.log(`can not find Lambda for : ${fctn.node.id}`);
33
+ console.error(`can not find Lambda for : ${fctn.node.id}`);
34
34
  }
35
35
  return fctn;
36
36
  }
@@ -94,4 +94,4 @@ class LambdaHelper {
94
94
  }
95
95
  }
96
96
  exports.LambdaHelper = LambdaHelper;
97
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFtYmRhSGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3Jlc291cmNlcy9sYW1iZGEvbGFtYmRhSGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUlBLHFFQUFtRztBQUduRyxrQ0FBa0M7QUFFbEMsbURBQXFEO0FBQ3JELDZDQUF1QztBQUN2QyxnRUFBNkQ7QUFHN0QsTUFBYSxZQUFZO0lBRWQsTUFBTSxDQUFDLHFCQUFxQixDQUFDLEtBQWdCLEVBQ2hELE1BQWlCLEVBQ2pCLGFBQThDLEVBQzlDLElBQVksRUFDWixNQUF1QjtRQUV2QixNQUFNLG9CQUFvQixHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUM7UUFFMUQsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDO1FBRXpCLElBQUksb0JBQW9CLEVBQUUsQ0FBQztZQUN2QixNQUFNLGNBQWMsR0FBRyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBcUIsRUFBRSxFQUFFO2dCQUUvRCxPQUFPLFlBQVksQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQzdFLENBQUMsQ0FBQyxDQUFDO1lBQ0gsT0FBTyxjQUFjLElBQUksRUFBRSxDQUFDO1FBQ2hDLENBQUM7YUFBTSxDQUFDO1lBQ0osT0FBTyxZQUFZLENBQUMsWUFBWSxDQUFDLGFBQThCLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDbEcsQ0FBQztJQUNMLENBQUM7SUFFTyxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQXFCLEVBQzdDLElBQXVCLEVBQ3ZCLE1BQWtDLEVBQ2xDLFNBQW9CLEVBQ3BCLEtBQWdCO1FBRWhCLElBQUksV0FBVyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRTtZQUMz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QixPQUFPLHdCQUFhLENBQUMsVUFBVSxDQUFDO1lBRXBDLEtBQUsseUJBQVcsQ0FBQyxPQUFPO2dCQUNwQixPQUFPLHdCQUFhLENBQUMsUUFBUSxDQUFDO1lBQ2xDO2dCQUNJLE9BQU8sd0JBQWEsQ0FBQyxTQUFTLENBQUM7UUFDdkMsQ0FBQztJQUNMLENBQUM7SUFFTSxNQUFNLENBQUMsY0FBYyxDQUFDLFVBQXlCLEVBQUUsU0FBb0I7UUFDeEUsT0FBTyxHQUFHLFNBQVMsQ0FBQyxTQUFTLElBQUksVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3JFLENBQUM7Q0FDSjtBQXZIRCxvQ0F1SEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJUm9sZSB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtaWFtXCI7XG5pbXBvcnQgeyBMYXllclZlcnNpb24gfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWxhbWJkYVwiO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7IFRzZ0xhbWJkYVByb3AgfSBmcm9tIFwiLi4vLi4vY29uZmlnL3R5cGVzXCI7XG5pbXBvcnQgeyBOb2RlanNGdW5jdGlvbiwgTm9kZWpzRnVuY3Rpb25Qcm9wcywgU291cmNlTWFwTW9kZSB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtbGFtYmRhLW5vZGVqc1wiO1xuaW1wb3J0IHsgVHNnTGFtYmRhUHJvcHMgfSBmcm9tIFwiLi4vLi4vY29uZmlnL3R5cGVzL1RzZ0xhbWJkYVByb3BzXCI7XG5pbXBvcnQgeyBDcmVhdGVMYW1iZGFGdW5jdGlvbklucHV0IH0gZnJvbSBcIi4uLy4uL2ludGVyZmFjZXMvQ3JlYXRlTGFtYmRhRnVuY3Rpb25JbnB1dFwiO1xuaW1wb3J0ICogYXMgcGF0aCBmcm9tIFwibm9kZTpwYXRoXCI7XG5pbXBvcnQgeyBBcHBDb25maWcgfSBmcm9tIFwiLi4vLi4vY29uZmlnL0FwcENvbmZpZ1wiO1xuaW1wb3J0IHsgUmV0ZW50aW9uRGF5cyB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtbG9nc1wiO1xuaW1wb3J0IHsgRHVyYXRpb24gfSBmcm9tIFwiYXdzLWNkay1saWJcIjtcbmltcG9ydCB7IExvZ0R1cmF0aW9uIH0gZnJvbSBcIi4uLy4uL2NvbmZpZy90eXBlcy9Mb2dEdXJhdGlvblwiO1xuXG5cbmV4cG9ydCBjbGFzcyBMYW1iZGFIZWxwZXIge1xuXG4gICAgcHVibGljIHN0YXRpYyBjcmVhdGVMYW1iZGFGdW5jdGlvbnMoc2NvcGU6IENvbnN0cnVjdCxcbiAgICAgICAgY29uZmlnOiBBcHBDb25maWcsXG4gICAgICAgIGxhbWJkYUNvbmZpZ3M6IFRzZ0xhbWJkYVByb3AgfCBUc2dMYW1iZGFQcm9wW10sXG4gICAgICAgIHJvbGU/OiBJUm9sZSxcbiAgICAgICAgbGF5ZXJzPzogTGF5ZXJWZXJzaW9uW10pIHtcblxuICAgICAgICBjb25zdCBpc0FycmF5T2ZMYW1iZGFQcm9wcyA9IEFycmF5LmlzQXJyYXkobGFtYmRhQ29uZmlncyk7XG5cbiAgICAgICAgY29uc3QgYXBwQ29uZmlnID0gY29uZmlnO1xuXG4gICAgICAgIGlmIChpc0FycmF5T2ZMYW1iZGFQcm9wcykge1xuICAgICAgICAgICAgY29uc3QgY3JlYXRlZExhbWJkYXMgPSBsYW1iZGFDb25maWdzLm1hcCgoY29uZmlnOiBUc2dMYW1iZGFQcm9wKSA9PiB7XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gTGFtYmRhSGVscGVyLmNyZWF0ZUxhbWJkYShjb25maWcsIHJvbGUsIGxheWVycywgYXBwQ29uZmlnLCBzY29wZSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHJldHVybiBjcmVhdGVkTGFtYmRhcyB8fCBbXTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBMYW1iZGFIZWxwZXIuY3JlYXRlTGFtYmRhKGxhbWJkYUNvbmZpZ3MgYXMgVHNnTGFtYmRhUHJvcCwgcm9sZSwgbGF5ZXJzLCBjb25maWcsIHNjb3BlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgc3RhdGljIGNyZWF0ZUxhbWJkYShjb25maWc6IFRzZ0xhbWJkYVByb3AsXG4gICAgICAgIHJvbGU6IElSb2xlIHwgdW5kZWZpbmVkLFxuICAgICAgICBsYXllcnM6IExheWVyVmVyc2lvbltdIHwgdW5kZWZpbmVkLFxuICAgICAgICBhcHBDb25maWc6IEFwcENvbmZpZyxcbiAgICAgICAgc2NvcGU6IENvbnN0cnVjdCkge1xuXG4gICAgICAgIGxldCBsYW1iZGFQcm9wcyA9IHRoaXMuY3JlYXRlTGFtYmRhUHJvcHMoY29uZmlnLCByb2xlLCBsYXllcnMsIHtcbiAgICAgICAgICAgIGFwcENvbmZpZzogYXBwQ29uZmlnLFxuICAgICAgICAgICAgcm9sZSxcbiAgICAgICAgICAgIGxheWVycyxcbiAgICAgICAgICAgIHNjb3BlXG4gICAgICAgIH0pO1xuXG4gICAgICAgIGNvbnN0IGxhbWJkYUlkID0gdGhpcy5nZXRJZEZvckxhbWJkYShjb25maWcsIGFwcENvbmZpZyk7XG4gICAgICAgIGxldCBmY3RuID0gbmV3IE5vZGVqc0Z1bmN0aW9uKHNjb3BlLCBsYW1iZGFJZCwgbGFtYmRhUHJvcHMpO1xuXG4gICAgICAgIGlmIChsYW1iZGFJZCAhPT0gZmN0bi5ub2RlLmlkKSB7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhgY2FuIG5vdCBmaW5kIExhbWJkYSBmb3IgOiAke2ZjdG4ubm9kZS5pZH1gKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBmY3RuO1xuICAgIH1cblxuICAgIHByaXZhdGUgc3RhdGljIGNyZWF0ZUxhbWJkYVByb3BzKHByb3A6IFRzZ0xhbWJkYVByb3AsXG4gICAgICAgIHJvbGU/OiBJUm9sZSxcbiAgICAgICAgbGF5ZXJzPzogTGF5ZXJWZXJzaW9uW10sXG4gICAgICAgIHByb3BzPzogVHNnTGFtYmRhUHJvcHMpIHtcblxuICAgICAgICByZXR1cm4gdGhpcy5jcmVhdGVMYW1iZGFGdW5jdGlvblByb3BzKHtcbiAgICAgICAgICAgIHByb3AsXG4gICAgICAgICAgICByb2xlLFxuICAgICAgICAgICAgbGF5ZXJzLFxuICAgICAgICAgICAgcHJvcHNcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzdGF0aWMgY3JlYXRlTGFtYmRhRnVuY3Rpb25Qcm9wcyhwcm9wczogQ3JlYXRlTGFtYmRhRnVuY3Rpb25JbnB1dCkge1xuICAgICAgICBjb25zdCB7IHByb3AsIHJvbGUsIGxheWVycyB9ID0gcHJvcHM7XG5cbiAgICAgICAgY29uc3QgY29uZmlnID0gcHJvcHMucHJvcHM/LmFwcENvbmZpZztcblxuICAgICAgICBjb25zdCBsYW1iZGFQcm9wOiBOb2RlanNGdW5jdGlvblByb3BzID0ge1xuICAgICAgICAgICAgZW50cnk6IHBhdGguam9pbihwcm9wLmNvZGVQYXRoKSxcbiAgICAgICAgICAgIGZ1bmN0aW9uTmFtZTogYCR7Y29uZmlnPy5BcHBQcmVmaXh9LSR7cHJvcC5uYW1lfWAsXG4gICAgICAgICAgICBoYW5kbGVyOiBwcm9wLmhhbmRsZXIsXG4gICAgICAgICAgICBsb2dSZXRlbnRpb246ICghcHJvcC5sb2dEdXJhdGlvbikgPyBSZXRlbnRpb25EYXlzLkZJVkVfREFZUyA6XG4gICAgICAgICAgICAgICAgTGFtYmRhSGVscGVyLmdldERheVRvU2F2ZUxvZ3MocHJvcC5sb2dEdXJhdGlvbiksXG4gICAgICAgICAgICBydW50aW1lOiBwcm9wLnJ1bnRpbWUgfHwgY29uZmlnPy5HTE9CQUxTLnN0YWNrUnVudGltZSxcbiAgICAgICAgICAgIHRpbWVvdXQ6IHByb3AuZHVyYXRpb24gfHwgRHVyYXRpb24ubWludXRlcygyKSxcbiAgICAgICAgICAgIG1lbW9yeVNpemU6IHByb3AubWVtb3J5IHx8IDUxMixcbiAgICAgICAgICAgIGVudmlyb25tZW50OiB7XG4gICAgICAgICAgICAgICAgXCJWRVJCT1NFX0xPR0dJTkdcIjogXCJ0cnVlXCIsXG4gICAgICAgICAgICAgICAgLi4ucHJvcC5lbnZpcm9ubWVudFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGJ1bmRsaW5nOiB7XG4gICAgICAgICAgICAgICAgbWluaWZ5OiB0cnVlLFxuICAgICAgICAgICAgICAgIHRhcmdldDogXCJFU05leHRcIixcbiAgICAgICAgICAgICAgICBzb3VyY2VNYXA6IHRydWUsXG4gICAgICAgICAgICAgICAgc291cmNlTWFwTW9kZTogU291cmNlTWFwTW9kZS5FWFRFUk5BTCxcbiAgICAgICAgICAgICAgICBlbnZpcm9ubWVudDogcHJvcC5lbnZpcm9ubWVudCB8fCBwcm9wLmVudmlyb25tZW50LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHJvbGUsXG4gICAgICAgICAgICBsYXllcnNcblxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBsYW1iZGFQcm9wO1xuICAgIH07XG5cbiAgICBwdWJsaWMgc3RhdGljIGdldERheVRvU2F2ZUxvZ3Moc2F2ZUxvZ0R1cmF0aW9uOiBMb2dEdXJhdGlvbik6IFJldGVudGlvbkRheXMge1xuXG4gICAgICAgIHN3aXRjaCAoc2F2ZUxvZ0R1cmF0aW9uKSB7XG4gICAgICAgICAgICBjYXNlIExvZ0R1cmF0aW9uLk9ORV9EQVk6XG4gICAgICAgICAgICAgICAgcmV0dXJuIFJldGVudGlvbkRheXMuT05FX0RBWTtcblxuICAgICAgICAgICAgY2FzZSBMb2dEdXJhdGlvbi5PTkVfV0VFSzpcbiAgICAgICAgICAgICAgICByZXR1cm4gUmV0ZW50aW9uRGF5cy5PTkVfV0VFSztcblxuICAgICAgICAgICAgY2FzZSBMb2dEdXJhdGlvbi5PTkVfTU9OVEg6XG4gICAgICAgICAgICAgICAgcmV0dXJuIFJldGVudGlvbkRheXMuT05FX01PTlRIO1xuXG4gICAgICAgICAgICBjYXNlIExvZ0R1cmF0aW9uLk9ORV9ZRUFSOlxuICAgICAgICAgICAgICAgIHJldHVybiBSZXRlbnRpb25EYXlzLk9ORV9ZRUFSO1xuXG4gICAgICAgICAgICBjYXNlIExvZ0R1cmF0aW9uLkZJVkVfWUVBUlM6XG4gICAgICAgICAgICAgICAgcmV0dXJuIFJldGVudGlvbkRheXMuRklWRV9ZRUFSUztcblxuICAgICAgICAgICAgY2FzZSBMb2dEdXJhdGlvbi5GT1JFVkVSOlxuICAgICAgICAgICAgICAgIHJldHVybiBSZXRlbnRpb25EYXlzLklORklOSVRFO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICByZXR1cm4gUmV0ZW50aW9uRGF5cy5GSVZFX0RBWVM7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIGdldElkRm9yTGFtYmRhKGxhbWJkYVByb3A6IFRzZ0xhbWJkYVByb3AsIGFwcENvbmZpZzogQXBwQ29uZmlnKSB7XG4gICAgICAgIHJldHVybiBgJHthcHBDb25maWcuQXBwUHJlZml4fS0ke2xhbWJkYVByb3AubmFtZX1gLnRvTG93ZXJDYXNlKCk7XG4gICAgfVxufSJdfQ==
97
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFtYmRhSGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3Jlc291cmNlcy9sYW1iZGEvbGFtYmRhSGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUlBLHFFQUFtRztBQUduRyxrQ0FBa0M7QUFFbEMsbURBQXFEO0FBQ3JELDZDQUF1QztBQUN2QyxnRUFBNkQ7QUFHN0QsTUFBYSxZQUFZO0lBRWQsTUFBTSxDQUFDLHFCQUFxQixDQUFDLEtBQWdCLEVBQ2hELE1BQWlCLEVBQ2pCLGFBQThDLEVBQzlDLElBQVksRUFDWixNQUF1QjtRQUV2QixNQUFNLG9CQUFvQixHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUM7UUFFMUQsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDO1FBRXpCLElBQUksb0JBQW9CLEVBQUUsQ0FBQztZQUN2QixNQUFNLGNBQWMsR0FBRyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBcUIsRUFBRSxFQUFFO2dCQUUvRCxPQUFPLFlBQVksQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQzdFLENBQUMsQ0FBQyxDQUFDO1lBQ0gsT0FBTyxjQUFjLElBQUksRUFBRSxDQUFDO1FBQ2hDLENBQUM7YUFBTSxDQUFDO1lBQ0osT0FBTyxZQUFZLENBQUMsWUFBWSxDQUFDLGFBQThCLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDbEcsQ0FBQztJQUNMLENBQUM7SUFFTyxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQXFCLEVBQzdDLElBQXVCLEVBQ3ZCLE1BQWtDLEVBQ2xDLFNBQW9CLEVBQ3BCLEtBQWdCO1FBRWhCLElBQUksV0FBVyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRTtZQUMz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QixPQUFPLHdCQUFhLENBQUMsVUFBVSxDQUFDO1lBRXBDLEtBQUsseUJBQVcsQ0FBQyxPQUFPO2dCQUNwQixPQUFPLHdCQUFhLENBQUMsUUFBUSxDQUFDO1lBQ2xDO2dCQUNJLE9BQU8sd0JBQWEsQ0FBQyxTQUFTLENBQUM7UUFDdkMsQ0FBQztJQUNMLENBQUM7SUFFTSxNQUFNLENBQUMsY0FBYyxDQUFDLFVBQXlCLEVBQUUsU0FBb0I7UUFDeEUsT0FBTyxHQUFHLFNBQVMsQ0FBQyxTQUFTLElBQUksVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3JFLENBQUM7Q0FDSjtBQXZIRCxvQ0F1SEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJUm9sZSB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtaWFtXCI7XG5pbXBvcnQgeyBMYXllclZlcnNpb24gfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWxhbWJkYVwiO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7IFRzZ0xhbWJkYVByb3AgfSBmcm9tIFwiLi4vLi4vY29uZmlnL3R5cGVzXCI7XG5pbXBvcnQgeyBOb2RlanNGdW5jdGlvbiwgTm9kZWpzRnVuY3Rpb25Qcm9wcywgU291cmNlTWFwTW9kZSB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtbGFtYmRhLW5vZGVqc1wiO1xuaW1wb3J0IHsgVHNnTGFtYmRhUHJvcHMgfSBmcm9tIFwiLi4vLi4vY29uZmlnL3R5cGVzL1RzZ0xhbWJkYVByb3BzXCI7XG5pbXBvcnQgeyBDcmVhdGVMYW1iZGFGdW5jdGlvbklucHV0IH0gZnJvbSBcIi4uLy4uL2ludGVyZmFjZXMvQ3JlYXRlTGFtYmRhRnVuY3Rpb25JbnB1dFwiO1xuaW1wb3J0ICogYXMgcGF0aCBmcm9tIFwibm9kZTpwYXRoXCI7XG5pbXBvcnQgeyBBcHBDb25maWcgfSBmcm9tIFwiLi4vLi4vY29uZmlnL0FwcENvbmZpZ1wiO1xuaW1wb3J0IHsgUmV0ZW50aW9uRGF5cyB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtbG9nc1wiO1xuaW1wb3J0IHsgRHVyYXRpb24gfSBmcm9tIFwiYXdzLWNkay1saWJcIjtcbmltcG9ydCB7IExvZ0R1cmF0aW9uIH0gZnJvbSBcIi4uLy4uL2NvbmZpZy90eXBlcy9Mb2dEdXJhdGlvblwiO1xuXG5cbmV4cG9ydCBjbGFzcyBMYW1iZGFIZWxwZXIge1xuXG4gICAgcHVibGljIHN0YXRpYyBjcmVhdGVMYW1iZGFGdW5jdGlvbnMoc2NvcGU6IENvbnN0cnVjdCxcbiAgICAgICAgY29uZmlnOiBBcHBDb25maWcsXG4gICAgICAgIGxhbWJkYUNvbmZpZ3M6IFRzZ0xhbWJkYVByb3AgfCBUc2dMYW1iZGFQcm9wW10sXG4gICAgICAgIHJvbGU/OiBJUm9sZSxcbiAgICAgICAgbGF5ZXJzPzogTGF5ZXJWZXJzaW9uW10pIHtcblxuICAgICAgICBjb25zdCBpc0FycmF5T2ZMYW1iZGFQcm9wcyA9IEFycmF5LmlzQXJyYXkobGFtYmRhQ29uZmlncyk7XG5cbiAgICAgICAgY29uc3QgYXBwQ29uZmlnID0gY29uZmlnO1xuXG4gICAgICAgIGlmIChpc0FycmF5T2ZMYW1iZGFQcm9wcykge1xuICAgICAgICAgICAgY29uc3QgY3JlYXRlZExhbWJkYXMgPSBsYW1iZGFDb25maWdzLm1hcCgoY29uZmlnOiBUc2dMYW1iZGFQcm9wKSA9PiB7XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gTGFtYmRhSGVscGVyLmNyZWF0ZUxhbWJkYShjb25maWcsIHJvbGUsIGxheWVycywgYXBwQ29uZmlnLCBzY29wZSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHJldHVybiBjcmVhdGVkTGFtYmRhcyB8fCBbXTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBMYW1iZGFIZWxwZXIuY3JlYXRlTGFtYmRhKGxhbWJkYUNvbmZpZ3MgYXMgVHNnTGFtYmRhUHJvcCwgcm9sZSwgbGF5ZXJzLCBjb25maWcsIHNjb3BlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgc3RhdGljIGNyZWF0ZUxhbWJkYShjb25maWc6IFRzZ0xhbWJkYVByb3AsXG4gICAgICAgIHJvbGU6IElSb2xlIHwgdW5kZWZpbmVkLFxuICAgICAgICBsYXllcnM6IExheWVyVmVyc2lvbltdIHwgdW5kZWZpbmVkLFxuICAgICAgICBhcHBDb25maWc6IEFwcENvbmZpZyxcbiAgICAgICAgc2NvcGU6IENvbnN0cnVjdCkge1xuXG4gICAgICAgIGxldCBsYW1iZGFQcm9wcyA9IHRoaXMuY3JlYXRlTGFtYmRhUHJvcHMoY29uZmlnLCByb2xlLCBsYXllcnMsIHtcbiAgICAgICAgICAgIGFwcENvbmZpZzogYXBwQ29uZmlnLFxuICAgICAgICAgICAgcm9sZSxcbiAgICAgICAgICAgIGxheWVycyxcbiAgICAgICAgICAgIHNjb3BlXG4gICAgICAgIH0pO1xuXG4gICAgICAgIGNvbnN0IGxhbWJkYUlkID0gdGhpcy5nZXRJZEZvckxhbWJkYShjb25maWcsIGFwcENvbmZpZyk7XG4gICAgICAgIGxldCBmY3RuID0gbmV3IE5vZGVqc0Z1bmN0aW9uKHNjb3BlLCBsYW1iZGFJZCwgbGFtYmRhUHJvcHMpO1xuXG4gICAgICAgIGlmIChsYW1iZGFJZCAhPT0gZmN0bi5ub2RlLmlkKSB7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKGBjYW4gbm90IGZpbmQgTGFtYmRhIGZvciA6ICR7ZmN0bi5ub2RlLmlkfWApO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGZjdG47XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzdGF0aWMgY3JlYXRlTGFtYmRhUHJvcHMocHJvcDogVHNnTGFtYmRhUHJvcCxcbiAgICAgICAgcm9sZT86IElSb2xlLFxuICAgICAgICBsYXllcnM/OiBMYXllclZlcnNpb25bXSxcbiAgICAgICAgcHJvcHM/OiBUc2dMYW1iZGFQcm9wcykge1xuXG4gICAgICAgIHJldHVybiB0aGlzLmNyZWF0ZUxhbWJkYUZ1bmN0aW9uUHJvcHMoe1xuICAgICAgICAgICAgcHJvcCxcbiAgICAgICAgICAgIHJvbGUsXG4gICAgICAgICAgICBsYXllcnMsXG4gICAgICAgICAgICBwcm9wc1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHN0YXRpYyBjcmVhdGVMYW1iZGFGdW5jdGlvblByb3BzKHByb3BzOiBDcmVhdGVMYW1iZGFGdW5jdGlvbklucHV0KSB7XG4gICAgICAgIGNvbnN0IHsgcHJvcCwgcm9sZSwgbGF5ZXJzIH0gPSBwcm9wcztcblxuICAgICAgICBjb25zdCBjb25maWcgPSBwcm9wcy5wcm9wcz8uYXBwQ29uZmlnO1xuXG4gICAgICAgIGNvbnN0IGxhbWJkYVByb3A6IE5vZGVqc0Z1bmN0aW9uUHJvcHMgPSB7XG4gICAgICAgICAgICBlbnRyeTogcGF0aC5qb2luKHByb3AuY29kZVBhdGgpLFxuICAgICAgICAgICAgZnVuY3Rpb25OYW1lOiBgJHtjb25maWc/LkFwcFByZWZpeH0tJHtwcm9wLm5hbWV9YCxcbiAgICAgICAgICAgIGhhbmRsZXI6IHByb3AuaGFuZGxlcixcbiAgICAgICAgICAgIGxvZ1JldGVudGlvbjogKCFwcm9wLmxvZ0R1cmF0aW9uKSA/IFJldGVudGlvbkRheXMuRklWRV9EQVlTIDpcbiAgICAgICAgICAgICAgICBMYW1iZGFIZWxwZXIuZ2V0RGF5VG9TYXZlTG9ncyhwcm9wLmxvZ0R1cmF0aW9uKSxcbiAgICAgICAgICAgIHJ1bnRpbWU6IHByb3AucnVudGltZSB8fCBjb25maWc/LkdMT0JBTFMuc3RhY2tSdW50aW1lLFxuICAgICAgICAgICAgdGltZW91dDogcHJvcC5kdXJhdGlvbiB8fCBEdXJhdGlvbi5taW51dGVzKDIpLFxuICAgICAgICAgICAgbWVtb3J5U2l6ZTogcHJvcC5tZW1vcnkgfHwgNTEyLFxuICAgICAgICAgICAgZW52aXJvbm1lbnQ6IHtcbiAgICAgICAgICAgICAgICBcIlZFUkJPU0VfTE9HR0lOR1wiOiBcInRydWVcIixcbiAgICAgICAgICAgICAgICAuLi5wcm9wLmVudmlyb25tZW50XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgYnVuZGxpbmc6IHtcbiAgICAgICAgICAgICAgICBtaW5pZnk6IHRydWUsXG4gICAgICAgICAgICAgICAgdGFyZ2V0OiBcIkVTTmV4dFwiLFxuICAgICAgICAgICAgICAgIHNvdXJjZU1hcDogdHJ1ZSxcbiAgICAgICAgICAgICAgICBzb3VyY2VNYXBNb2RlOiBTb3VyY2VNYXBNb2RlLkVYVEVSTkFMLFxuICAgICAgICAgICAgICAgIGVudmlyb25tZW50OiBwcm9wLmVudmlyb25tZW50IHx8IHByb3AuZW52aXJvbm1lbnQsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgcm9sZSxcbiAgICAgICAgICAgIGxheWVyc1xuXG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGxhbWJkYVByb3A7XG4gICAgfTtcblxuICAgIHB1YmxpYyBzdGF0aWMgZ2V0RGF5VG9TYXZlTG9ncyhzYXZlTG9nRHVyYXRpb246IExvZ0R1cmF0aW9uKTogUmV0ZW50aW9uRGF5cyB7XG5cbiAgICAgICAgc3dpdGNoIChzYXZlTG9nRHVyYXRpb24pIHtcbiAgICAgICAgICAgIGNhc2UgTG9nRHVyYXRpb24uT05FX0RBWTpcbiAgICAgICAgICAgICAgICByZXR1cm4gUmV0ZW50aW9uRGF5cy5PTkVfREFZO1xuXG4gICAgICAgICAgICBjYXNlIExvZ0R1cmF0aW9uLk9ORV9XRUVLOlxuICAgICAgICAgICAgICAgIHJldHVybiBSZXRlbnRpb25EYXlzLk9ORV9XRUVLO1xuXG4gICAgICAgICAgICBjYXNlIExvZ0R1cmF0aW9uLk9ORV9NT05USDpcbiAgICAgICAgICAgICAgICByZXR1cm4gUmV0ZW50aW9uRGF5cy5PTkVfTU9OVEg7XG5cbiAgICAgICAgICAgIGNhc2UgTG9nRHVyYXRpb24uT05FX1lFQVI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIFJldGVudGlvbkRheXMuT05FX1lFQVI7XG5cbiAgICAgICAgICAgIGNhc2UgTG9nRHVyYXRpb24uRklWRV9ZRUFSUzpcbiAgICAgICAgICAgICAgICByZXR1cm4gUmV0ZW50aW9uRGF5cy5GSVZFX1lFQVJTO1xuXG4gICAgICAgICAgICBjYXNlIExvZ0R1cmF0aW9uLkZPUkVWRVI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIFJldGVudGlvbkRheXMuSU5GSU5JVEU7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHJldHVybiBSZXRlbnRpb25EYXlzLkZJVkVfREFZUztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgZ2V0SWRGb3JMYW1iZGEobGFtYmRhUHJvcDogVHNnTGFtYmRhUHJvcCwgYXBwQ29uZmlnOiBBcHBDb25maWcpIHtcbiAgICAgICAgcmV0dXJuIGAke2FwcENvbmZpZy5BcHBQcmVmaXh9LSR7bGFtYmRhUHJvcC5uYW1lfWAudG9Mb3dlckNhc2UoKTtcbiAgICB9XG59Il19
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sylvesterllc/aws-constructs",
3
- "version": "1.0.114",
3
+ "version": "1.0.116",
4
4
  "description": "AWS Constructs",
5
5
  "main": "dist/index.js",
6
6
  "keywords": [
@@ -14,6 +14,7 @@ import { IRestApi } from "aws-cdk-lib/aws-apigateway";
14
14
  import { ISecret } from "aws-cdk-lib/aws-secretsmanager";
15
15
  import { NodejsFunction } from "aws-cdk-lib/aws-lambda-nodejs";
16
16
  import { Environment } from "../config/Environments";
17
+ import { Logger } from "../helpers/logger";
17
18
  export class MicroService extends Construct {
18
19
 
19
20
  protected readonly requireDynamoTables: boolean;
@@ -52,7 +53,7 @@ export class MicroService extends Construct {
52
53
  }
53
54
 
54
55
  constructor(scope: Construct, id: string, props: MicroserviceProps,
55
- env: Environment = "prod") {
56
+ private logger: Logger = new Logger()) {
56
57
  super(scope, id);
57
58
 
58
59
  this.appConfig = new AppConfig(props);
@@ -66,7 +67,7 @@ export class MicroService extends Construct {
66
67
  this.hasLambdaLayers = (props.RESOURCES.LAMBDA_LAYERS &&
67
68
  props.RESOURCES.LAMBDA_LAYERS.length > 0) ? true : false;
68
69
 
69
- const results = this.onInit(scope, env);
70
+ const results = this.onInit(scope);
70
71
 
71
72
  this.api = results.restApi!;
72
73
  this.dynamoTables = results.dynamoTables!;
@@ -78,7 +79,7 @@ export class MicroService extends Construct {
78
79
  this.createTag(scope)
79
80
  }
80
81
 
81
- private onInit(scope: Construct, env: Environment) {
82
+ private onInit(scope: Construct) {
82
83
 
83
84
  let secretManager: ISecret | null = null;
84
85
  let tables: Table[] | undefined = undefined;
@@ -94,7 +95,7 @@ export class MicroService extends Construct {
94
95
  commonLayers = createCommonLayer(scope, this.appConfig);
95
96
  }
96
97
 
97
- const gateway = new Api(scope, this.appConfig, env).APIs;
98
+ const gateway = new Api(scope, this.appConfig).APIs;
98
99
 
99
100
  const layers = commonLayers;
100
101
 
@@ -114,7 +115,8 @@ export class MicroService extends Construct {
114
115
 
115
116
  this.lambdaRecords = apiGateway.LambdaRecords;
116
117
 
117
- // console.log('lambda Records:', this.lambdaRecords)
118
+
119
+ this.logger.log(`lambda Records: ${this.lambdaRecords}`);
118
120
 
119
121
  return {
120
122
  restApi: (gateway?.length > 0) ? gateway[0] : null,
@@ -0,0 +1,14 @@
1
+ import { debug } from "console";
2
+
3
+ export class Logger {
4
+
5
+ constructor(private debug: boolean = false) { }
6
+
7
+ public log(message: string) {
8
+
9
+ if (this.debug) {
10
+ console.log(message);
11
+ }
12
+
13
+ }
14
+ }
@@ -12,4 +12,9 @@ export const environmentSuffix = (env: Environment = "prod") => {
12
12
 
13
13
  export const environmentSuffixForDomain = (env: Environment = "prod") => {
14
14
  return env === 'prod' ? '.' : env === 'qa' ? '.qa' : '.dev';
15
- }
15
+ }
16
+
17
+ export const clog = (message: string) => {
18
+
19
+
20
+ };
@@ -21,7 +21,7 @@ export class Api extends BaseResource<IRestApi> {
21
21
  return this.createdResources;
22
22
  }
23
23
 
24
- constructor(scope: Construct, config: AppConfig, private env: Environment = "prod") {
24
+ constructor(scope: Construct, config: AppConfig) {
25
25
  super(scope, config);
26
26
 
27
27
  this.corsOptions = this.createDefaultCorsOptions();
@@ -36,7 +36,7 @@ export class Api extends BaseResource<IRestApi> {
36
36
 
37
37
  const zone = this.getZone(this.scope, this.config);
38
38
 
39
- const api = new RestApi(this.scope, `${this.config.AppPrefix}-rest-api${environmentSuffix(this.env)}`, this.createApiProps(this.env, zone));
39
+ const api = new RestApi(this.scope, `${this.config.AppPrefix}-rest-api`, this.createApiProps(zone));
40
40
 
41
41
  this.createARecord(scope, zone, api);
42
42
 
@@ -46,7 +46,7 @@ export class Api extends BaseResource<IRestApi> {
46
46
 
47
47
  } else {
48
48
 
49
- const api = new RestApi(this.scope, `${this.config.AppPrefix}-rest-api${environmentSuffix(this.env)}`, this.createApiProps(this.env));
49
+ const api = new RestApi(this.scope, `${this.config.AppPrefix}-rest-api-without-DNS`, this.createApiProps());
50
50
 
51
51
  this.createApiKey(this.config, api);
52
52
 
@@ -54,7 +54,7 @@ export class Api extends BaseResource<IRestApi> {
54
54
  }
55
55
  }
56
56
 
57
- private createApiProps(env: Environment, zone?: IHostedZone,): RestApiProps {
57
+ private createApiProps(zone?: IHostedZone): RestApiProps {
58
58
 
59
59
  if (this.config.DNS) {
60
60
 
@@ -64,7 +64,7 @@ export class Api extends BaseResource<IRestApi> {
64
64
  restApiName: `${this.config.AppPrefix}-${this.config.API.Name}`,
65
65
  description: this.config.API.Description,
66
66
  domainName: {
67
- domainName: `${this.config.API.DomainPrefix}.${env}.${this.config.DNS.ZoneName}`,
67
+ domainName: `${this.config.DNS.SubDomainNameForApi}.${this.config.DNS.SubDomainName}`,
68
68
  certificate: cert.certificate,
69
69
  endpointType: EndpointType.EDGE,
70
70
  securityPolicy: SecurityPolicy.TLS_1_2
@@ -1,6 +1,8 @@
1
1
  import { AuthorizationType, IRestApi, LambdaIntegration, RequestAuthorizer, Resource, TokenAuthorizer } from "aws-cdk-lib/aws-apigateway";
2
2
  import { NodejsFunction } from "aws-cdk-lib/aws-lambda-nodejs";
3
3
  import { TsgLambdaProp } from "../../config/types";
4
+ import { Logger } from "../../helpers/logger";
5
+ import { logger } from "../layers/common/src/nodejs";
4
6
 
5
7
 
6
8
  export class Routes {
@@ -12,7 +14,8 @@ export class Routes {
12
14
  prop: TsgLambdaProp,
13
15
  api: IRestApi,
14
16
  lambdaNode: NodejsFunction,
15
- authorizer?: TokenAuthorizer | RequestAuthorizer): void {
17
+ authorizer?: TokenAuthorizer | RequestAuthorizer,
18
+ ): void {
16
19
 
17
20
  const routeMap: Map<string, Resource> = new Map();
18
21
 
@@ -41,7 +44,7 @@ export class Routes {
41
44
  activeResource = secondaryResource;
42
45
  }
43
46
 
44
- console.log(`Route: ${prop.apiGateway.method}\t Lambda Name: ${lambdaNode.node.id}\t Path: ${activeRoutePath}`);
47
+ // console.log(`Route: ${prop.apiGateway.method}\t Lambda Name: ${lambdaNode.node.id}\t Path: ${activeRoutePath}`);
45
48
  // Finally, we attach our function to the last resource
46
49
  activeResource?.addMethod(prop.apiGateway.method || 'GET',
47
50
  new LambdaIntegration(lambdaNode, { proxy: true, }),
@@ -52,7 +52,7 @@ export class LambdaHelper {
52
52
  let fctn = new NodejsFunction(scope, lambdaId, lambdaProps);
53
53
 
54
54
  if (lambdaId !== fctn.node.id) {
55
- console.log(`can not find Lambda for : ${fctn.node.id}`);
55
+ console.error(`can not find Lambda for : ${fctn.node.id}`);
56
56
  }
57
57
 
58
58
  return fctn;