@hapiness/proxy
Version:
Proxy extension for Hapiness
49 lines • 1.28 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const core_1 = require("@hapiness/core");
const Observable_1 = require("rxjs/Observable");
const manager_1 = require("./manager");
class ProxyExt {
static setConfig(config) {
return {
token: ProxyExt,
config
};
}
/**
* Initialize Proxy
*
* @param {CoreModule} module
* @param {ProxyConfig} config
* @returns Observable
*/
onExtensionLoad(module, config) {
return Observable_1.Observable
.of(new manager_1.ProxyManager(module, config))
.map(_ => ({
instance: this,
token: ProxyExt,
value: _
}));
}
onModuleInstantiated(module, server) {
return server
.start(module)
.map(_ => undefined);
}
/**
* Shutdown Proxy extension
*
* @param {CoreModule} module
* @param {ProxyManager} server
* @returns ExtensionShutdown
*/
onShutdown(module, server) {
return {
priority: core_1.ExtensionShutdownPriority.IMPORTANT,
resolver: server.shutdown()
};
}
}
exports.ProxyExt = ProxyExt;
//# sourceMappingURL=extension.js.map