deep-package-manager
Version:
DEEP Package Manager
66 lines (57 loc) • 1.13 kB
JavaScript
/**
* Created by mgoria on 01/19/16.
*/
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.SQSDriver = undefined;
var _AbstractDriver = require('./AbstractDriver');
class SQSDriver extends _AbstractDriver.AbstractDriver {
/**
* @param {*} args
*/
constructor(...args) {
super(...args);
}
/**
* @returns {String}
*/
service() {
return 'SQS';
}
/**
* @param {String} resourceId
* @param {Object} resourceData
* @param {Function} cb
* @private
*/
_removeResource(resourceId, resourceData, cb) {
this._removeQueue(resourceId, cb);
}
/**
* @param {String} queueUrl
* @param {Function} cb
* @private
*/
_removeQueue(queueUrl, cb) {
this.awsService.deleteQueue({
QueueUrl: queueUrl
}, error => {
if (error && this._isFalsePositive(error)) {
return cb(null);
}
cb(error);
});
}
/**
* @param {Error|*} error
* @returns {Boolean}
* @private
*/
_isFalsePositive(error) {
return (/NonExistentQueue/i.test(error.code)
);
}
}
exports.SQSDriver = SQSDriver;