@aws-solutions-constructs/core 2.7.0 → 2.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.jsii +30 -4
- package/index.d.ts +1 -0
- package/index.d.ts.map +1 -0
- package/lib/alb-defaults.d.ts +1 -0
- package/lib/alb-defaults.d.ts.map +1 -0
- package/lib/alb-helper.d.ts +1 -0
- package/lib/alb-helper.d.ts.map +1 -0
- package/lib/apigateway-defaults.d.ts +1 -0
- package/lib/apigateway-defaults.d.ts.map +1 -0
- package/lib/apigateway-helper.d.ts +1 -0
- package/lib/apigateway-helper.d.ts.map +1 -0
- package/lib/cloudfront-distribution-defaults.d.ts +1 -0
- package/lib/cloudfront-distribution-defaults.d.ts.map +1 -0
- package/lib/cloudfront-distribution-helper.d.ts +1 -0
- package/lib/cloudfront-distribution-helper.d.ts.map +1 -0
- package/lib/cloudwatch-log-group-defaults.d.ts +1 -0
- package/lib/cloudwatch-log-group-defaults.d.ts.map +1 -0
- package/lib/cloudwatch-log-group-helper.d.ts +1 -0
- package/lib/cloudwatch-log-group-helper.d.ts.map +1 -0
- package/lib/cognito-defaults.d.ts +1 -0
- package/lib/cognito-defaults.d.ts.map +1 -0
- package/lib/cognito-helper.d.ts +1 -0
- package/lib/cognito-helper.d.ts.map +1 -0
- package/lib/dynamodb-table-defaults.d.ts +1 -0
- package/lib/dynamodb-table-defaults.d.ts.map +1 -0
- package/lib/dynamodb-table-helper.d.ts +1 -0
- package/lib/dynamodb-table-helper.d.ts.map +1 -0
- package/lib/elasticache-defaults.d.ts +1 -0
- package/lib/elasticache-defaults.d.ts.map +1 -0
- package/lib/elasticache-helper.d.ts +1 -0
- package/lib/elasticache-helper.d.ts.map +1 -0
- package/lib/elasticsearch-defaults.d.ts +1 -0
- package/lib/elasticsearch-defaults.d.ts.map +1 -0
- package/lib/elasticsearch-helper.d.ts +1 -0
- package/lib/elasticsearch-helper.d.ts.map +1 -0
- package/lib/eventbridge-helper.d.ts +1 -0
- package/lib/eventbridge-helper.d.ts.map +1 -0
- package/lib/events-rule-defaults.d.ts +1 -0
- package/lib/events-rule-defaults.d.ts.map +1 -0
- package/lib/fargate-defaults.d.ts +1 -0
- package/lib/fargate-defaults.d.ts.map +1 -0
- package/lib/fargate-helper.d.ts +1 -0
- package/lib/fargate-helper.d.ts.map +1 -0
- package/lib/glue-database-defaults.d.ts +1 -0
- package/lib/glue-database-defaults.d.ts.map +1 -0
- package/lib/glue-database-helper.d.ts +1 -0
- package/lib/glue-database-helper.d.ts.map +1 -0
- package/lib/glue-job-defaults.d.ts +1 -0
- package/lib/glue-job-defaults.d.ts.map +1 -0
- package/lib/glue-job-helper.d.ts +1 -0
- package/lib/glue-job-helper.d.ts.map +1 -0
- package/lib/glue-table-defaults.d.ts +1 -0
- package/lib/glue-table-defaults.d.ts.map +1 -0
- package/lib/glue-table-helper.d.ts +1 -0
- package/lib/glue-table-helper.d.ts.map +1 -0
- package/lib/input-validation.d.ts +1 -0
- package/lib/input-validation.d.ts.map +1 -0
- package/lib/iot-topic-rule-defaults.d.ts +1 -0
- package/lib/iot-topic-rule-defaults.d.ts.map +1 -0
- package/lib/kinesis-analytics-defaults.d.ts +1 -0
- package/lib/kinesis-analytics-defaults.d.ts.map +1 -0
- package/lib/kinesis-analytics-helper.d.ts +1 -0
- package/lib/kinesis-analytics-helper.d.ts.map +1 -0
- package/lib/kinesis-firehose-s3-defaults.d.ts +1 -0
- package/lib/kinesis-firehose-s3-defaults.d.ts.map +1 -0
- package/lib/kinesis-streams-defaults.d.ts +1 -0
- package/lib/kinesis-streams-defaults.d.ts.map +1 -0
- package/lib/kinesis-streams-helper.d.ts +1 -0
- package/lib/kinesis-streams-helper.d.ts.map +1 -0
- package/lib/kms-defaults.d.ts +1 -0
- package/lib/kms-defaults.d.ts.map +1 -0
- package/lib/kms-helper.d.ts +1 -0
- package/lib/kms-helper.d.ts.map +1 -0
- package/lib/lambda-defaults.d.ts +1 -0
- package/lib/lambda-defaults.d.ts.map +1 -0
- package/lib/lambda-event-source-mapping-defaults.d.ts +1 -0
- package/lib/lambda-event-source-mapping-defaults.d.ts.map +1 -0
- package/lib/lambda-helper.d.ts +1 -0
- package/lib/lambda-helper.d.ts.map +1 -0
- package/lib/mediastore-defaults.d.ts +1 -0
- package/lib/mediastore-defaults.d.ts.map +1 -0
- package/lib/mediastore-helper.d.ts +1 -0
- package/lib/mediastore-helper.d.ts.map +1 -0
- package/lib/override-warning-service.d.ts +1 -0
- package/lib/override-warning-service.d.ts.map +1 -0
- package/lib/s3-bucket-defaults.d.ts +1 -0
- package/lib/s3-bucket-defaults.d.ts.map +1 -0
- package/lib/s3-bucket-helper.d.ts +1 -0
- package/lib/s3-bucket-helper.d.ts.map +1 -0
- package/lib/sagemaker-defaults.d.ts +1 -0
- package/lib/sagemaker-defaults.d.ts.map +1 -0
- package/lib/sagemaker-helper.d.ts +1 -0
- package/lib/sagemaker-helper.d.ts.map +1 -0
- package/lib/secretsmanager-defaults.d.ts +1 -0
- package/lib/secretsmanager-defaults.d.ts.map +1 -0
- package/lib/secretsmanager-helper.d.ts +1 -0
- package/lib/secretsmanager-helper.d.ts.map +1 -0
- package/lib/security-group-helper.d.ts +1 -0
- package/lib/security-group-helper.d.ts.map +1 -0
- package/lib/sns-defaults.d.ts +1 -0
- package/lib/sns-defaults.d.ts.map +1 -0
- package/lib/sns-helper.d.ts +1 -0
- package/lib/sns-helper.d.ts.map +1 -0
- package/lib/sqs-defaults.d.ts +1 -0
- package/lib/sqs-defaults.d.ts.map +1 -0
- package/lib/sqs-helper.d.ts +1 -0
- package/lib/sqs-helper.d.ts.map +1 -0
- package/lib/ssm-string-parameter-helper.d.ts +1 -0
- package/lib/ssm-string-parameter-helper.d.ts.map +1 -0
- package/lib/step-function-defaults.d.ts +1 -0
- package/lib/step-function-defaults.d.ts.map +1 -0
- package/lib/step-function-helper.d.ts +1 -0
- package/lib/step-function-helper.d.ts.map +1 -0
- package/lib/utils.d.ts +1 -0
- package/lib/utils.d.ts.map +1 -0
- package/lib/vpc-defaults.d.ts +1 -0
- package/lib/vpc-defaults.d.ts.map +1 -0
- package/lib/vpc-helper.d.ts +1 -0
- package/lib/vpc-helper.d.ts.map +1 -0
- package/lib/waf-defaults.d.ts +1 -0
- package/lib/waf-defaults.d.ts.map +1 -0
- package/lib/waf-helper.d.ts +1 -0
- package/lib/waf-helper.d.ts.map +1 -0
- package/package.json +5 -4
- package/test/alb-helper.test.d.ts +1 -0
- package/test/alb-helper.test.d.ts.map +1 -0
- package/test/apigateway-helper.test.d.ts +1 -0
- package/test/apigateway-helper.test.d.ts.map +1 -0
- package/test/cloudfront-distribution-api-gateway-helper.test.d.ts +1 -0
- package/test/cloudfront-distribution-api-gateway-helper.test.d.ts.map +1 -0
- package/test/cloudfront-distribution-mediastore-helper.test.d.ts +1 -0
- package/test/cloudfront-distribution-mediastore-helper.test.d.ts.map +1 -0
- package/test/cloudfront-distribution-s3-helper.test.d.ts +1 -0
- package/test/cloudfront-distribution-s3-helper.test.d.ts.map +1 -0
- package/test/cloudwatch-log-group-helper.test.d.ts +1 -0
- package/test/cloudwatch-log-group-helper.test.d.ts.map +1 -0
- package/test/congnito-helper.test.d.ts +1 -0
- package/test/congnito-helper.test.d.ts.map +1 -0
- package/test/dynamo-table.test.d.ts +1 -0
- package/test/dynamo-table.test.d.ts.map +1 -0
- package/test/elasticache-defaults.test.d.ts +1 -0
- package/test/elasticache-defaults.test.d.ts.map +1 -0
- package/test/elasticache-helper.test.d.ts +1 -0
- package/test/elasticache-helper.test.d.ts.map +1 -0
- package/test/elasticsearch-helper.test.d.ts +1 -0
- package/test/elasticsearch-helper.test.d.ts.map +1 -0
- package/test/eventbridge-helper.test.d.ts +1 -0
- package/test/eventbridge-helper.test.d.ts.map +1 -0
- package/test/events-rule.test.d.ts +1 -0
- package/test/events-rule.test.d.ts.map +1 -0
- package/test/fargate-helper.test.d.ts +1 -0
- package/test/fargate-helper.test.d.ts.map +1 -0
- package/test/glue-job-helper.test.d.ts +1 -0
- package/test/glue-job-helper.test.d.ts.map +1 -0
- package/test/glue-table-helper.test.d.ts +1 -0
- package/test/glue-table-helper.test.d.ts.map +1 -0
- package/test/input-validation.test.d.ts +1 -0
- package/test/input-validation.test.d.ts.map +1 -0
- package/test/iot-rule.test.d.ts +1 -0
- package/test/iot-rule.test.d.ts.map +1 -0
- package/test/kinesis-analytics.test.d.ts +2 -1
- package/test/kinesis-analytics.test.d.ts.map +1 -0
- package/test/kinesis-analytics.test.js +114 -14
- package/test/kinesis-firehose-s3-defaults.test.d.ts +1 -0
- package/test/kinesis-firehose-s3-defaults.test.d.ts.map +1 -0
- package/test/kinesis-streams-defaults.test.d.ts +1 -0
- package/test/kinesis-streams-defaults.test.d.ts.map +1 -0
- package/test/kinesis-streams-helper.test.d.ts +1 -0
- package/test/kinesis-streams-helper.test.d.ts.map +1 -0
- package/test/kms-helper.test.d.ts +1 -0
- package/test/kms-helper.test.d.ts.map +1 -0
- package/test/lambda-event-source.test.d.ts +1 -0
- package/test/lambda-event-source.test.d.ts.map +1 -0
- package/test/lambda-helper.test.d.ts +1 -0
- package/test/lambda-helper.test.d.ts.map +1 -0
- package/test/mediastore-helper.test.d.ts +1 -0
- package/test/mediastore-helper.test.d.ts.map +1 -0
- package/test/override-warning-service.test.d.ts +1 -0
- package/test/override-warning-service.test.d.ts.map +1 -0
- package/test/s3-bucket-helper.test.d.ts +1 -0
- package/test/s3-bucket-helper.test.d.ts.map +1 -0
- package/test/s3-bucket.test.d.ts +1 -0
- package/test/s3-bucket.test.d.ts.map +1 -0
- package/test/sagemaker-helper.test.d.ts +1 -0
- package/test/sagemaker-helper.test.d.ts.map +1 -0
- package/test/secretsmanager-helper.test.d.ts +1 -0
- package/test/secretsmanager-helper.test.d.ts.map +1 -0
- package/test/security-group-helper.test.d.ts +1 -0
- package/test/security-group-helper.test.d.ts.map +1 -0
- package/test/sns-helper.test.d.ts +1 -0
- package/test/sns-helper.test.d.ts.map +1 -0
- package/test/sqs-helper.test.d.ts +1 -0
- package/test/sqs-helper.test.d.ts.map +1 -0
- package/test/sqs-helper.test.js +99 -1
- package/test/ssm-string-parameter-helper.test.d.ts +1 -0
- package/test/ssm-string-parameter-helper.test.d.ts.map +1 -0
- package/test/step-function-helper.test.d.ts +1 -0
- package/test/step-function-helper.test.d.ts.map +1 -0
- package/test/test-helper.d.ts +1 -0
- package/test/test-helper.d.ts.map +1 -0
- package/test/utils.test.d.ts +1 -0
- package/test/utils.test.d.ts.map +1 -0
- package/test/vpc-helper.test.d.ts +1 -0
- package/test/vpc-helper.test.d.ts.map +1 -0
- package/test/waf-helper.test.d.ts +1 -0
- package/test/waf-helper.test.d.ts.map +1 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kms-helper.test.d.ts","sourceRoot":"","sources":["kms-helper.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAMH,OAAO,sBAAsB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lambda-event-source.test.d.ts","sourceRoot":"","sources":["lambda-event-source.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAMH,OAAO,sBAAsB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lambda-helper.test.d.ts","sourceRoot":"","sources":["lambda-helper.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAMH,OAAO,sBAAsB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mediastore-helper.test.d.ts","sourceRoot":"","sources":["mediastore-helper.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,sBAAsB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"override-warning-service.test.d.ts","sourceRoot":"","sources":["override-warning-service.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,sBAAsB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"s3-bucket-helper.test.d.ts","sourceRoot":"","sources":["s3-bucket-helper.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAQH,OAAO,sBAAsB,CAAC"}
|
package/test/s3-bucket.test.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"s3-bucket.test.d.ts","sourceRoot":"","sources":["s3-bucket.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAOH,OAAO,sBAAsB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sagemaker-helper.test.d.ts","sourceRoot":"","sources":["sagemaker-helper.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAOH,OAAO,sBAAsB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"secretsmanager-helper.test.d.ts","sourceRoot":"","sources":["secretsmanager-helper.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAKH,OAAO,sBAAsB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"security-group-helper.test.d.ts","sourceRoot":"","sources":["security-group-helper.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAIH,OAAO,sBAAsB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sns-helper.test.d.ts","sourceRoot":"","sources":["sns-helper.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAMH,OAAO,sBAAsB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sqs-helper.test.d.ts","sourceRoot":"","sources":["sqs-helper.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAMH,OAAO,sBAAsB,CAAC"}
|
package/test/sqs-helper.test.js
CHANGED
|
@@ -14,8 +14,10 @@
|
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
15
|
// Imports
|
|
16
16
|
const aws_cdk_lib_1 = require("aws-cdk-lib");
|
|
17
|
+
const sqs = require("aws-cdk-lib/aws-sqs");
|
|
17
18
|
const defaults = require("../");
|
|
18
19
|
require("@aws-cdk/assert/jest");
|
|
20
|
+
const sqs_helper_1 = require("../lib/sqs-helper");
|
|
19
21
|
// --------------------------------------------------------------
|
|
20
22
|
// Test deployment w/ imported encryption key
|
|
21
23
|
// --------------------------------------------------------------
|
|
@@ -54,4 +56,100 @@ test('Test deployment without imported encryption key', () => {
|
|
|
54
56
|
KmsMasterKeyId: "alias/aws/sqs"
|
|
55
57
|
});
|
|
56
58
|
});
|
|
57
|
-
|
|
59
|
+
// --------------------------------------------------------------
|
|
60
|
+
// Test deployment w/ construct created encryption key
|
|
61
|
+
// --------------------------------------------------------------
|
|
62
|
+
test('Test deployment w/ construct created encryption key', () => {
|
|
63
|
+
// Stack
|
|
64
|
+
const stack = new aws_cdk_lib_1.Stack();
|
|
65
|
+
// Helper declaration
|
|
66
|
+
const [queue, key] = defaults.buildQueue(stack, 'existing-queue', {
|
|
67
|
+
queueProps: {
|
|
68
|
+
queueName: 'existing-queue'
|
|
69
|
+
},
|
|
70
|
+
enableEncryptionWithCustomerManagedKey: true,
|
|
71
|
+
});
|
|
72
|
+
expect(stack).toHaveResource("AWS::SQS::Queue", {
|
|
73
|
+
QueueName: "existing-queue"
|
|
74
|
+
});
|
|
75
|
+
expect(stack).toHaveResource("AWS::KMS::Key", {
|
|
76
|
+
EnableKeyRotation: true
|
|
77
|
+
});
|
|
78
|
+
expect(queue).toBeDefined();
|
|
79
|
+
expect(key).toBeDefined();
|
|
80
|
+
});
|
|
81
|
+
test('Test DLQ when existing Queue Provided', () => {
|
|
82
|
+
const stack = new aws_cdk_lib_1.Stack();
|
|
83
|
+
const existingQueue = new sqs.Queue(stack, 'test-queue');
|
|
84
|
+
const buildDlqProps = {
|
|
85
|
+
existingQueueObj: existingQueue,
|
|
86
|
+
};
|
|
87
|
+
const returnedQueueu = defaults.buildDeadLetterQueue(stack, buildDlqProps);
|
|
88
|
+
expect(returnedQueueu).toBeUndefined();
|
|
89
|
+
expect(stack).toCountResources("AWS::SQS::Queue", 1);
|
|
90
|
+
});
|
|
91
|
+
test('Test DLQ with all defaults', () => {
|
|
92
|
+
const stack = new aws_cdk_lib_1.Stack();
|
|
93
|
+
sqs_helper_1.buildDeadLetterQueue(stack, {});
|
|
94
|
+
expect(stack).toHaveResourceLike("AWS::SQS::Queue", {
|
|
95
|
+
KmsMasterKeyId: "alias/aws/sqs"
|
|
96
|
+
});
|
|
97
|
+
});
|
|
98
|
+
test("Test DLQ with a provided properties", () => {
|
|
99
|
+
const stack = new aws_cdk_lib_1.Stack();
|
|
100
|
+
const testQueueName = "test-unique252";
|
|
101
|
+
const returnedQueue = sqs_helper_1.buildDeadLetterQueue(stack, {
|
|
102
|
+
deadLetterQueueProps: {
|
|
103
|
+
queueName: testQueueName,
|
|
104
|
+
},
|
|
105
|
+
});
|
|
106
|
+
expect(stack).toHaveResourceLike("AWS::SQS::Queue", {
|
|
107
|
+
QueueName: testQueueName,
|
|
108
|
+
});
|
|
109
|
+
expect(returnedQueue).toBeDefined();
|
|
110
|
+
});
|
|
111
|
+
test('Test DLQ with a provided maxReceiveCount', () => {
|
|
112
|
+
const stack = new aws_cdk_lib_1.Stack();
|
|
113
|
+
const testMaxReceiveCount = 31;
|
|
114
|
+
const dlqInterface = sqs_helper_1.buildDeadLetterQueue(stack, {
|
|
115
|
+
maxReceiveCount: testMaxReceiveCount
|
|
116
|
+
});
|
|
117
|
+
expect(dlqInterface === null || dlqInterface === void 0 ? void 0 : dlqInterface.maxReceiveCount).toEqual(testMaxReceiveCount);
|
|
118
|
+
});
|
|
119
|
+
test('Test returning an existing Queue', () => {
|
|
120
|
+
const stack = new aws_cdk_lib_1.Stack();
|
|
121
|
+
const testQueueName = 'existing-queue';
|
|
122
|
+
const existingQueue = new sqs.Queue(stack, 'test-queue', {
|
|
123
|
+
queueName: testQueueName
|
|
124
|
+
});
|
|
125
|
+
const [returnedQueue] = defaults.buildQueue(stack, 'newQueue', {
|
|
126
|
+
existingQueueObj: existingQueue
|
|
127
|
+
});
|
|
128
|
+
expect(stack).toHaveResourceLike("AWS::SQS::Queue", {
|
|
129
|
+
QueueName: testQueueName,
|
|
130
|
+
});
|
|
131
|
+
expect(existingQueue.queueName).toEqual(returnedQueue.queueName);
|
|
132
|
+
});
|
|
133
|
+
test('Test creating a queue with a DLQ', () => {
|
|
134
|
+
const stack = new aws_cdk_lib_1.Stack();
|
|
135
|
+
const dlqInterface = sqs_helper_1.buildDeadLetterQueue(stack, {});
|
|
136
|
+
const [newQueue] = sqs_helper_1.buildQueue(stack, 'new-queue', {
|
|
137
|
+
deadLetterQueue: dlqInterface
|
|
138
|
+
});
|
|
139
|
+
expect(stack).toCountResources("AWS::SQS::Queue", 2);
|
|
140
|
+
expect(newQueue).toBeDefined();
|
|
141
|
+
expect(newQueue.deadLetterQueue).toBeDefined();
|
|
142
|
+
});
|
|
143
|
+
test('Test creating a FIFO queue', () => {
|
|
144
|
+
const stack = new aws_cdk_lib_1.Stack();
|
|
145
|
+
const [newFifoQueue] = sqs_helper_1.buildQueue(stack, 'new-queue', {
|
|
146
|
+
queueProps: {
|
|
147
|
+
fifo: true
|
|
148
|
+
}
|
|
149
|
+
});
|
|
150
|
+
expect(stack).toHaveResourceLike("AWS::SQS::Queue", {
|
|
151
|
+
FifoQueue: true
|
|
152
|
+
});
|
|
153
|
+
expect(newFifoQueue.fifo).toBe(true);
|
|
154
|
+
});
|
|
155
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3FzLWhlbHBlci50ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsic3FzLWhlbHBlci50ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7Ozs7R0FXRzs7QUFFSCxVQUFVO0FBQ1YsNkNBQW9DO0FBQ3BDLDJDQUEyQztBQUMzQyxnQ0FBZ0M7QUFDaEMsZ0NBQThCO0FBQzlCLGtEQUFxRTtBQUVyRSxpRUFBaUU7QUFDakUsNkNBQTZDO0FBQzdDLGlFQUFpRTtBQUNqRSxJQUFJLENBQUMsNENBQTRDLEVBQUUsR0FBRyxFQUFFO0lBQ3RELFFBQVE7SUFDUixNQUFNLEtBQUssR0FBRyxJQUFJLG1CQUFLLEVBQUUsQ0FBQztJQUMxQixxQkFBcUI7SUFDckIsUUFBUSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsZ0JBQWdCLEVBQUU7UUFDM0MsVUFBVSxFQUFFO1lBQ1YsU0FBUyxFQUFFLGdCQUFnQjtTQUM1QjtRQUNELHNDQUFzQyxFQUFFLElBQUk7UUFDNUMsYUFBYSxFQUFFLFFBQVEsQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUM7S0FDbEQsQ0FBQyxDQUFDO0lBRUgsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLGNBQWMsQ0FBQyxpQkFBaUIsRUFBRTtRQUM5QyxTQUFTLEVBQUUsZ0JBQWdCO0tBQzVCLENBQUMsQ0FBQztJQUNILE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxjQUFjLENBQUMsZUFBZSxFQUFFO1FBQzVDLGlCQUFpQixFQUFFLElBQUk7S0FDeEIsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUM7QUFFSCxpRUFBaUU7QUFDakUsa0RBQWtEO0FBQ2xELGlFQUFpRTtBQUNqRSxJQUFJLENBQUMsaURBQWlELEVBQUUsR0FBRyxFQUFFO0lBQzNELFFBQVE7SUFDUixNQUFNLEtBQUssR0FBRyxJQUFJLG1CQUFLLEVBQUUsQ0FBQztJQUMxQixxQkFBcUI7SUFDckIsUUFBUSxDQUFDLFVBQVUsQ0FBQyxLQUFL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bUJBQUssRUFBRSxDQUFDO0lBRTFCLE1BQU0sWUFBWSxHQUFHLGlDQUFvQixDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztJQUVyRCxNQUFNLENBQUMsUUFBUSxDQUFDLEdBQUcsdUJBQVUsQ0FBQyxLQUFLLEVBQUUsV0FBVyxFQUFFO1FBQ2hELGVBQWUsRUFBRSxZQUFZO0tBQzlCLENBQUMsQ0FBQztJQUVILE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNyRCxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDL0IsTUFBTSxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztBQUNqRCxDQUFDLENBQUMsQ0FBQztBQUVILElBQUksQ0FBQyw0QkFBNEIsRUFBRSxHQUFHLEVBQUU7SUFDdEMsTUFBTSxLQUFLLEdBQUcsSUFBSSxtQkFBSyxFQUFFLENBQUM7SUFFMUIsTUFBTSxDQUFDLFlBQVksQ0FBQyxHQUFHLHVCQUFVLENBQUMsS0FBSyxFQUFFLFdBQVcsRUFBRTtRQUNwRCxVQUFVLEVBQUU7WUFDVixJQUFJLEVBQUUsSUFBSTtTQUNYO0tBQ0YsQ0FBQyxDQUFDO0lBRUgsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLGtCQUFrQixDQUFDLGlCQUFpQixFQUFFO1FBQ2xELFNBQVMsRUFBRSxJQUFJO0tBQ2hCLENBQUMsQ0FBQztJQUNILE1BQU0sQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQ3ZDLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiAgQ29weXJpZ2h0IDIwMjIgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKS4gWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZVxuICogIHdpdGggdGhlIExpY2Vuc2UuIEEgY29weSBvZiB0aGUgTGljZW5zZSBpcyBsb2NhdGVkIGF0XG4gKlxuICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiAgb3IgaW4gdGhlICdsaWNlbnNlJyBmaWxlIGFjY29tcGFueWluZyB0aGlzIGZpbGUuIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAnQVMgSVMnIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVNcbiAqICBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBleHByZXNzIG9yIGltcGxpZWQuIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9uc1xuICogIGFuZCBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG4vLyBJbXBvcnRzXG5pbXBvcnQgeyBTdGFjayB9IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuaW1wb3J0ICogYXMgc3FzIGZyb20gJ2F3cy1jZGstbGliL2F3cy1zcXMnO1xuaW1wb3J0ICogYXMgZGVmYXVsdHMgZnJvbSAnLi4vJztcbmltcG9ydCAnQGF3cy1jZGsvYXNzZXJ0L2plc3QnO1xuaW1wb3J0IHsgYnVpbGREZWFkTGV0dGVyUXVldWUsIGJ1aWxkUXVldWUgfSBmcm9tIFwiLi4vbGliL3Nxcy1oZWxwZXJcIjtcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFRlc3QgZGVwbG95bWVudCB3LyBpbXBvcnRlZCBlbmNyeXB0aW9uIGtleVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnRlc3QoJ1Rlc3QgZGVwbG95bWVudCB3LyBpbXBvcnRlZCBlbmNyeXB0aW9uIGtleScsICgpID0+IHtcbiAgLy8gU3RhY2tcbiAgY29uc3Qgc3RhY2sgPSBuZXcgU3RhY2soKTtcbiAgLy8gSGVscGVyIGRlY2xhcmF0aW9uXG4gIGRlZmF1bHRzLmJ1aWxkUXVldWUoc3RhY2ssICdleGlzdGluZy1xdWV1ZScsIHtcbiAgICBxdWV1ZVByb3BzOiB7XG4gICAgICBxdWV1ZU5hbWU6ICdleGlzdGluZy1xdWV1ZSdcbiAgICB9LFxuICAgIGVuYWJsZUVuY3J5cHRpb25XaXRoQ3VzdG9tZXJNYW5hZ2VkS2V5OiB0cnVlLFxuICAgIGVuY3J5cHRpb25LZXk6IGRlZmF1bHRzLmJ1aWxkRW5jcnlwdGlvbktleShzdGFjaylcbiAgfSk7XG5cbiAgZXhwZWN0KHN0YWNrKS50b0hhdmVSZXNvdXJjZShcIkFXUzo6U1FTOjpRdWV1ZVwiLCB7XG4gICAgUXVldWVOYW1lOiBcImV4aXN0aW5nLXF1ZXVlXCJcbiAgfSk7XG4gIGV4cGVjdChzdGFjaykudG9IYXZlUmVzb3VyY2UoXCJBV1M6OktNUzo6S2V5XCIsIHtcbiAgICBFbmFibGVLZXlSb3RhdGlvbjogdHJ1ZVxuICB9KTtcbn0pO1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gVGVzdCBkZXBsb3ltZW50IHdpdGhvdXQgaW1wb3J0ZWQgZW5jcnlwdGlvbiBrZXlcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG50ZXN0KCdUZXN0IGRlcGxveW1lbnQgd2l0aG91dCBpbXBvcnRlZCBlbmNyeXB0aW9uIGtleScsICgpID0+IHtcbiAgLy8gU3RhY2tcbiAgY29uc3Qgc3RhY2sgPSBuZXcgU3RhY2soKTtcbiAgLy8gSGVscGVyIGRlY2xhcmF0aW9uXG4gIGRlZmF1bHRzLmJ1aWxkUXVldWUoc3RhY2ssICdleGlzdGluZy1xdWV1ZScsIHtcbiAgICBxdWV1ZVByb3BzOiB7XG4gICAgICBxdWV1ZU5hbWU6ICdleGlzdGluZy1xdWV1ZSdcbiAgICB9XG4gIH0pO1xuXG4gIGV4cGVjdChzdGFjaykudG9IYXZlUmVzb3VyY2UoXCJBV1M6OlNRUzo6UXVldWVcIiwge1xuICAgIFF1ZXVlTmFtZTogXCJleGlzdGluZy1xdWV1ZVwiLFxuICAgIEttc01hc3RlcktleUlkOiBcImFsaWFzL2F3cy9zcXNcIlxuICB9KTtcbn0pO1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gVGVzdCBkZXBsb3ltZW50IHcvIGNvbnN0cnVjdCBjcmVhdGVkIGVuY3J5cHRpb24ga2V5XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxudGVzdCgnVGVzdCBkZXBsb3ltZW50IHcvIGNvbnN0cnVjdCBjcmVhdGVkIGVuY3J5cHRpb24ga2V5JywgKCkgPT4ge1xuICAvLyBTdGFja1xuICBjb25zdCBzdGFjayA9IG5ldyBTdGFjaygpO1xuICAvLyBIZWxwZXIgZGVjbGFyYXRpb25cbiAgY29uc3QgW3F1ZXVlLCBrZXldID0gZGVmYXVsdHMuYnVpbGRRdWV1ZShzdGFjaywgJ2V4aXN0aW5nLXF1ZXVlJywge1xuICAgIHF1ZXVlUHJvcHM6IHtcbiAgICAgIHF1ZXVlTmFtZTogJ2V4aXN0aW5nLXF1ZXVlJ1xuICAgIH0sXG4gICAgZW5hYmxlRW5jcnlwdGlvbldpdGhDdXN0b21lck1hbmFnZWRLZXk6IHRydWUsXG4gIH0pO1xuXG4gIGV4cGVjdChzdGFjaykudG9IYXZlUmVzb3VyY2UoXCJBV1M6OlNRUzo6UXVldWVcIiwge1xuICAgIFF1ZXVlTmFtZTogXCJleGlzdGluZy1xdWV1ZVwiXG4gIH0pO1xuICBleHBlY3Qoc3RhY2spLnRvSGF2ZVJlc291cmNlKFwiQVdTOjpLTVM6OktleVwiLCB7XG4gICAgRW5hYmxlS2V5Um90YXRpb246IHRydWVcbiAgfSk7XG4gIGV4cGVjdChxdWV1ZSkudG9CZURlZmluZWQoKTtcbiAgZXhwZWN0KGtleSkudG9CZURlZmluZWQoKTtcbn0pO1xuXG50ZXN0KCdUZXN0IERMUSB3aGVuIGV4aXN0aW5nIFF1ZXVlIFByb3ZpZGVkJywgKCkgPT4ge1xuICBjb25zdCBzdGFjayA9IG5ldyBTdGFjaygpO1xuXG4gIGNvbnN0IGV4aXN0aW5nUXVldWUgPSBuZXcgc3FzLlF1ZXVlKHN0YWNrLCAndGVzdC1xdWV1ZScpO1xuICBjb25zdCBidWlsZERscVByb3BzOiBkZWZhdWx0cy5CdWlsZERlYWRMZXR0ZXJRdWV1ZVByb3BzID0ge1xuICAgIGV4aXN0aW5nUXVldWVPYmo6IGV4aXN0aW5nUXVldWUsXG4gIH07XG5cbiAgY29uc3QgcmV0dXJuZWRRdWV1ZXUgPSBkZWZhdWx0cy5idWlsZERlYWRMZXR0ZXJRdWV1ZShzdGFjaywgYnVpbGREbHFQcm9wcyk7XG5cbiAgZXhwZWN0KHJldHVybmVkUXVldWV1KS50b0JlVW5kZWZpbmVkKCk7XG4gIGV4cGVjdChzdGFjaykudG9Db3VudFJlc291cmNlcyhcIkFXUzo6U1FTOjpRdWV1ZVwiLCAxKTtcbn0pO1xuXG50ZXN0KCdUZXN0IERMUSB3aXRoIGFsbCBkZWZhdWx0cycsICgpID0+IHtcbiAgY29uc3Qgc3RhY2sgPSBuZXcgU3RhY2soKTtcblxuICBidWlsZERlYWRMZXR0ZXJRdWV1ZShzdGFjaywge30pO1xuICBleHBlY3Qoc3RhY2spLnRvSGF2ZVJlc291cmNlTGlrZShcIkFXUzo6U1FTOjpRdWV1ZVwiLCB7XG4gICAgS21zTWFzdGVyS2V5SWQ6IFwiYWxpYXMvYXdzL3Nxc1wiXG4gIH0pO1xufSk7XG5cbnRlc3QoXCJUZXN0IERMUSB3aXRoIGEgcHJvdmlkZWQgcHJvcGVydGllc1wiLCAoKSA9PiB7XG4gIGNvbnN0IHN0YWNrID0gbmV3IFN0YWNrKCk7XG4gIGNvbnN0IHRlc3RRdWV1ZU5hbWUgPSBcInRlc3QtdW5pcXVlMjUyXCI7XG5cbiAgY29uc3QgcmV0dXJuZWRRdWV1ZSA9IGJ1aWxkRGVhZExldHRlclF1ZXVlKHN0YWNrLCB7XG4gICAgZGVhZExldHRlclF1ZXVlUHJvcHM6IHtcbiAgICAgIHF1ZXVlTmFtZTogdGVzdFF1ZXVlTmFtZSxcbiAgICB9LFxuICB9KTtcbiAgZXhwZWN0KHN0YWNrKS50b0hhdmVSZXNvdXJjZUxpa2UoXCJBV1M6OlNRUzo6UXVldWVcIiwge1xuICAgIFF1ZXVlTmFtZTogdGVzdFF1ZXVlTmFtZSxcbiAgfSk7XG4gIGV4cGVjdChyZXR1cm5lZFF1ZXVlKS50b0JlRGVmaW5lZCgpO1xufSk7XG5cbnRlc3QoJ1Rlc3QgRExRIHdpdGggYSBwcm92aWRlZCBtYXhSZWNlaXZlQ291bnQnLCAoKSA9PiB7XG4gIGNvbnN0IHN0YWNrID0gbmV3IFN0YWNrKCk7XG4gIGNvbnN0IHRlc3RNYXhSZWNlaXZlQ291bnQgPSAzMTtcblxuICBjb25zdCBkbHFJbnRlcmZhY2UgPSBidWlsZERlYWRMZXR0ZXJRdWV1ZShzdGFjaywge1xuICAgIG1heFJlY2VpdmVDb3VudDogdGVzdE1heFJlY2VpdmVDb3VudFxuICB9KTtcbiAgZXhwZWN0KGRscUludGVyZmFjZT8ubWF4UmVjZWl2ZUNvdW50KS50b0VxdWFsKHRlc3RNYXhSZWNlaXZlQ291bnQpO1xufSk7XG5cbnRlc3QoJ1Rlc3QgcmV0dXJuaW5nIGFuIGV4aXN0aW5nIFF1ZXVlJywgKCkgPT4ge1xuICBjb25zdCBzdGFjayA9IG5ldyBTdGFjaygpO1xuICBjb25zdCB0ZXN0UXVldWVOYW1lID0gJ2V4aXN0aW5nLXF1ZXVlJztcblxuICBjb25zdCBleGlzdGluZ1F1ZXVlID0gbmV3IHNxcy5RdWV1ZShzdGFjaywgJ3Rlc3QtcXVldWUnLCB7XG4gICAgcXVldWVOYW1lOiB0ZXN0UXVldWVOYW1lXG4gIH0pO1xuXG4gIGNvbnN0IFtyZXR1cm5lZFF1ZXVlXSA9IGRlZmF1bHRzLmJ1aWxkUXVldWUoc3RhY2ssICduZXdRdWV1ZScsIHtcbiAgICBleGlzdGluZ1F1ZXVlT2JqOiBleGlzdGluZ1F1ZXVlXG4gIH0pO1xuXG4gIGV4cGVjdChzdGFjaykudG9IYXZlUmVzb3VyY2VMaWtlKFwiQVdTOjpTUVM6OlF1ZXVlXCIsIHtcbiAgICBRdWV1ZU5hbWU6IHRlc3RRdWV1ZU5hbWUsXG4gIH0pO1xuICBleHBlY3QoZXhpc3RpbmdRdWV1ZS5xdWV1ZU5hbWUpLnRvRXF1YWwocmV0dXJuZWRRdWV1ZS5xdWV1ZU5hbWUpO1xufSk7XG5cbnRlc3QoJ1Rlc3QgY3JlYXRpbmcgYSBxdWV1ZSB3aXRoIGEgRExRJywgKCkgPT4ge1xuICBjb25zdCBzdGFjayA9IG5ldyBTdGFjaygpO1xuXG4gIGNvbnN0IGRscUludGVyZmFjZSA9IGJ1aWxkRGVhZExldHRlclF1ZXVlKHN0YWNrLCB7fSk7XG5cbiAgY29uc3QgW25ld1F1ZXVlXSA9IGJ1aWxkUXVldWUoc3RhY2ssICduZXctcXVldWUnLCB7XG4gICAgZGVhZExldHRlclF1ZXVlOiBkbHFJbnRlcmZhY2VcbiAgfSk7XG5cbiAgZXhwZWN0KHN0YWNrKS50b0NvdW50UmVzb3VyY2VzKFwiQVdTOjpTUVM6OlF1ZXVlXCIsIDIpO1xuICBleHBlY3QobmV3UXVldWUpLnRvQmVEZWZpbmVkKCk7XG4gIGV4cGVjdChuZXdRdWV1ZS5kZWFkTGV0dGVyUXVldWUpLnRvQmVEZWZpbmVkKCk7XG59KTtcblxudGVzdCgnVGVzdCBjcmVhdGluZyBhIEZJRk8gcXVldWUnLCAoKSA9PiB7XG4gIGNvbnN0IHN0YWNrID0gbmV3IFN0YWNrKCk7XG5cbiAgY29uc3QgW25ld0ZpZm9RdWV1ZV0gPSBidWlsZFF1ZXVlKHN0YWNrLCAnbmV3LXF1ZXVlJywge1xuICAgIHF1ZXVlUHJvcHM6IHtcbiAgICAgIGZpZm86IHRydWVcbiAgICB9XG4gIH0pO1xuXG4gIGV4cGVjdChzdGFjaykudG9IYXZlUmVzb3VyY2VMaWtlKFwiQVdTOjpTUVM6OlF1ZXVlXCIsIHtcbiAgICBGaWZvUXVldWU6IHRydWVcbiAgfSk7XG4gIGV4cGVjdChuZXdGaWZvUXVldWUuZmlmbykudG9CZSh0cnVlKTtcbn0pO1xuIl19
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ssm-string-parameter-helper.test.d.ts","sourceRoot":"","sources":["ssm-string-parameter-helper.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAIH,OAAO,sBAAsB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"step-function-helper.test.d.ts","sourceRoot":"","sources":["step-function-helper.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAKH,OAAO,sBAAsB,CAAC"}
|
package/test/test-helper.d.ts
CHANGED
|
@@ -29,3 +29,4 @@ export declare function getTestVpc(stack: Stack, publicFacing?: boolean): ec2.IV
|
|
|
29
29
|
export declare function getFakeCertificate(scope: Construct, id: string): acm.ICertificate;
|
|
30
30
|
export declare function suppressAutoDeleteHandlerWarnings(stack: Stack): void;
|
|
31
31
|
export declare function CreateTestCache(scope: Construct, id: string, vpc: ec2.IVpc, port?: number): cache.CfnCacheCluster;
|
|
32
|
+
//# sourceMappingURL=test-helper.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test-helper.d.ts","sourceRoot":"","sources":["test-helper.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAoB,MAAM,oBAAoB,CAAC;AAC3E,OAAO,EAAiB,KAAK,EAAE,MAAM,aAAa,CAAC;AAMnD,OAAO,KAAK,KAAK,MAAM,6BAA6B,CAAC;AACrD,OAAO,KAAK,GAAG,MAAM,qBAAqB,CAAC;AAC3C,OAAO,KAAK,GAAG,MAAM,oCAAoC,CAAC;AAI1D,eAAO,MAAM,cAAc,4DAA4D,CAAC;AAGxF,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,CAAC,EAAE,WAAW,GAAG,GAAG,UAoC5E;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAI/D;AAGD,wBAAgB,UAAU,CAAC,KAAK,EAAE,KAAK,EAAE,YAAY,GAAE,OAAc,YAWpE;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,GAAG,GAAG,CAAC,YAAY,CAMjF;AAED,wBAAgB,iCAAiC,CAAC,KAAK,EAAE,KAAK,QAU7D;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,MAAM,yBA+BzF"}
|
package/test/utils.test.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.test.d.ts","sourceRoot":"","sources":["utils.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vpc-helper.test.d.ts","sourceRoot":"","sources":["vpc-helper.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAMH,OAAO,sBAAsB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"waf-helper.test.d.ts","sourceRoot":"","sources":["waf-helper.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAMH,OAAO,sBAAsB,CAAC"}
|