@hapiness/etcd3
Version:
ETCD3 module for Hapiness framework
41 lines • 1.11 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const core_1 = require("@hapiness/core");
const Observable_1 = require("rxjs/Observable");
const managers_1 = require("./managers");
class Etcd3Ext {
static setConfig(config) {
return {
token: Etcd3Ext,
config
};
}
/**
* Initilization of the extension
* Create the manager instance
*
* @param {CoreModule} module
* @param {Etcd3Config} config
*
* @returns Observable
*/
onExtensionLoad(module, config) {
return Observable_1.Observable
.of(new managers_1.Etcd3Manager(config))
.map(_ => ({
instance: this,
token: Etcd3Ext,
value: _
}));
}
onShutdown(module, manager) {
return {
priority: core_1.ExtensionShutdownPriority.NORMAL,
resolver: Observable_1.Observable
.of(manager)
.do(_ => _.close())
};
}
}
exports.Etcd3Ext = Etcd3Ext;
//# sourceMappingURL=etcd3.extension.js.map