deep-package-manager
Version:
DEEP Package Manager
70 lines (57 loc) • 1.4 kB
JavaScript
/**
* Created by AlexanderC on 11/24/15.
*/
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.DynamoDBDriver = undefined;
var _AbstractDriver = require('./AbstractDriver');
var _DynamoDBService = require('../Service/DynamoDBService');
class DynamoDBDriver extends _AbstractDriver.AbstractDriver {
/**
* @param {*} args
*/
constructor(...args) {
super(...args);
}
/**
* @returns {String[]}
*/
static get AVAILABLE_REGIONS() {
return _DynamoDBService.DynamoDBService.AVAILABLE_REGIONS;
}
/**
* @param {Function} cb
* @param {String|undefined} _lastTableName
*/
list(cb, _lastTableName) {
this._awsService.listTables({
Limit: DynamoDBDriver.LIMIT,
ExclusiveStartTableName: _lastTableName
}, (error, data) => {
if (error) {
cb(error);
return;
}
for (let i in data.TableNames) {
if (!data.TableNames.hasOwnProperty(i)) {
continue;
}
let tableName = data.TableNames[i];
this._checkPushStack(tableName, tableName);
}
if (data.LastEvaluatedTableName && data.TableNames.length > 0) {
return this.list(cb, data.LastEvaluatedTableName);
}
cb(null);
});
}
/**
* @returns {Number}
*/
static get LIMIT() {
return 100;
}
}
exports.DynamoDBDriver = DynamoDBDriver;