cc-zos
Version:
Command-line interface for the ZeppelinOS smart contract platform
42 lines (30 loc) • 1.49 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
var _LocalBaseController = require('./LocalBaseController');
var _LocalBaseController2 = _interopRequireDefault(_LocalBaseController);
var _NetworkAppController = require('../network/NetworkAppController');
var _NetworkAppController2 = _interopRequireDefault(_NetworkAppController);
var _Dependency = require('../dependency/Dependency');
var _Dependency2 = _interopRequireDefault(_Dependency);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
class LocalAppController extends _LocalBaseController2.default {
init(name, version, force = false, publish = false) {
super.init(name, version, force);
if (publish) this.packageFile.publish = publish;
}
async linkLibs(libs, installLibs = false) {
await Promise.all(libs.map(async libNameVersion => {
const dependency = installLibs ? await _Dependency2.default.install(libNameVersion) : _Dependency2.default.fromNameWithVersion(libNameVersion);
this.packageFile.setDependency(dependency.name, dependency.requirement);
}));
}
unlinkLibs(libNames) {
libNames.map(dep => _Dependency2.default.fromNameWithVersion(dep)).forEach(dep => this.packageFile.unsetDependency(dep.name));
}
onNetwork(network, txParams, networkFile = undefined) {
return new _NetworkAppController2.default(this, network, txParams, networkFile);
}
}
exports.default = LocalAppController;