deep-package-manager
Version:
DEEP Package Manager
49 lines (34 loc) • 1.19 kB
JavaScript
/**
* Created by CCristi on 6/29/16.
*/
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.AbstractStrategy = undefined;
var _deepCore = require('deep-core');
var _deepCore2 = _interopRequireDefault(_deepCore);
var _fs = require('fs');
var _fs2 = _interopRequireDefault(_fs);
var _path = require('path');
var _path2 = _interopRequireDefault(_path);
var _Instance = require('../../Microservice/Instance');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
class AbstractStrategy extends _deepCore2.default.OOP.Interface {
constructor() {
super(['path', 'config', 'shouldPreserve']);
}
/**
* @param {String} path
* @returns {AbstractStrategy}
*/
static create(path) {
if (_fs2.default.existsSync(_path2.default.join(path, _Instance.Instance.CONFIG_FILE))) {
let PessimisticStrategy = require('./PessimisticStrategy').PessimisticStrategy;
return PessimisticStrategy.create(path);
}
let OptimisticStrategy = require('./OptimisticStrategy').OptimisticStrategy;
return new OptimisticStrategy(path);
}
}
exports.AbstractStrategy = AbstractStrategy;