Skip to content
This repository was archived by the owner on Dec 1, 2022. It is now read-only.

Commit

Permalink
Belt and braces fix for #23 and some flow fixes for newer flow versions
Browse files Browse the repository at this point in the history
  • Loading branch information
tmitchel2 committed Sep 5, 2016
1 parent e741556 commit 6665b89
Show file tree
Hide file tree
Showing 2 changed files with 36 additions and 27 deletions.
61 changes: 35 additions & 26 deletions src/App.js
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ export default class App {
this._capacityCalculator = new CapacityCalculator();
}

async runAsync(event: any, context: any): Promise {
async runAsync(event: any, context: any): Promise<void> {
invariant(event != null, 'The argument \'event\' was null');
invariant(context != null, 'The argument \'context\' was null');

Expand Down Expand Up @@ -48,11 +48,8 @@ export default class App {
this._logMetrics(tableDetails);

// Return an empty response
let response = null;
if (context) {
context.succeed(response);
} else {
return response;
context.succeed(null);
}
}

Expand Down Expand Up @@ -103,7 +100,7 @@ export default class App {
return result;
}

async _updateTablesAsync(tableUpdateRequests: UpdateTableRequest[]): Promise {
async _updateTablesAsync(tableUpdateRequests: UpdateTableRequest[]): Promise<void> {
invariant(tableUpdateRequests instanceof Array,
'The argument \'tableUpdateRequests\' was not an array');

Expand All @@ -117,7 +114,7 @@ export default class App {
}

async _updateTableAsync(tableUpdateRequest: UpdateTableRequest,
isRateLimitedUpdatingRequired: boolean): Promise {
isRateLimitedUpdatingRequired: boolean): Promise<void> {
invariant(tableUpdateRequest != null, 'The argument \'tableUpdateRequest\' was null');
invariant(typeof isRateLimitedUpdatingRequired === 'boolean',
'The argument \'isRateLimitedUpdatingRequired\' was not a boolean');
Expand Down Expand Up @@ -160,26 +157,38 @@ export default class App {
};
}, {ReadCapacityUnits: 0, WriteCapacityUnits: 0});

let indexHandler = stJSON['Index.handler'] != null ? {
mean: stJSON['Index.handler'].histogram.mean
} : undefined;

let dynamoDBListTablesAsync = stJSON['DynamoDB.listTablesAsync'] != null ? {
mean: stJSON['DynamoDB.listTablesAsync'].histogram.mean,
} : undefined;

let dynamoDBDescribeTableAsync = stJSON['DynamoDB.describeTableAsync'] != null ? {
mean: stJSON['DynamoDB.describeTableAsync'].histogram.mean,
} : undefined;

let dynamoDBDescribeTableConsumedCapacityAsync =
stJSON['DynamoDB.describeTableConsumedCapacityAsync'] != null ?
{ mean: stJSON['DynamoDB.describeTableConsumedCapacityAsync'].histogram.mean } :
undefined;

let cloudWatchGetMetricStatisticsAsync =
stJSON['CloudWatch.getMetricStatisticsAsync'] != null ?
{ mean: stJSON['CloudWatch.getMetricStatisticsAsync'].histogram.mean } :
undefined;

let tableUpdates = updateRequests != null ? { count: updateRequests.length } :
undefined;

log(JSON.stringify({
'Index.handler': {
mean: stJSON['Index.handler'].histogram.mean
},
'DynamoDB.listTablesAsync': {
mean: stJSON['DynamoDB.listTablesAsync'].histogram.mean,
},
'DynamoDB.describeTableAsync': {
mean: stJSON['DynamoDB.describeTableAsync'].histogram.mean,
},
'DynamoDB.describeTableConsumedCapacityAsync': {
mean: stJSON['DynamoDB.describeTableConsumedCapacityAsync']
.histogram.mean,
},
'CloudWatch.getMetricStatisticsAsync': {
mean: stJSON['CloudWatch.getMetricStatisticsAsync'].histogram.mean,
},
TableUpdates: {
count: updateRequests.length,
},
'Index.handler': indexHandler,
'DynamoDB.listTablesAsync': dynamoDBListTablesAsync,
'DynamoDB.describeTableAsync': dynamoDBDescribeTableAsync,
'DynamoDB.describeTableConsumedCapacityAsync': dynamoDBDescribeTableConsumedCapacityAsync,
'CloudWatch.getMetricStatisticsAsync': cloudWatchGetMetricStatisticsAsync,
TableUpdates: tableUpdates,
TotalProvisionedThroughput: totalProvisionedThroughput,
TotalMonthlyEstimatedCost: totalMonthlyEstimatedCost,
}, null, json.padding));
Expand Down
2 changes: 1 addition & 1 deletion src/aws/DynamoDB.js
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@ export default class DynamoDB {
}
}

async delayUntilTableIsActiveAsync(tableName: string): Promise {
async delayUntilTableIsActiveAsync(tableName: string): Promise<void> {
let isActive = false;
let attempt = 0;
do {
Expand Down

0 comments on commit 6665b89

Please sign in to comment.