@hapiness/consul
Version:
Hapiness module for consul
34 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");
const debug = require('debug')('hapiness:consul');
class ConsulExt {
static setConfig(config) {
return {
token: ConsulExt,
config
};
}
onExtensionLoad(module, config) {
debug('loading consul extension', config);
return Observable_1.Observable
.of(new managers_1.ConsulClientManager(config))
.do(_ => _.createClient())
.map(consulClient => ({
instance: this,
token: ConsulExt,
value: consulClient
}));
}
onShutdown(module, consulClient) {
debug('SIGTERM received, shutting down consul module relatives');
return {
priority: core_1.ExtensionShutdownPriority.NORMAL,
resolver: Observable_1.Observable.of(null)
};
}
}
exports.ConsulExt = ConsulExt;
//# sourceMappingURL=consul.extension.js.map