@hapiness/core
Version:
Project to have a HapiJS (https://hapijs.com/) based framework to create easier NodeJS back-end with some awesome features
57 lines • 1.51 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const Observable_1 = require("rxjs/Observable");
const server_1 = require("./server");
const core_1 = require("../../core");
class SocketServerExt {
static setConfig(config) {
return {
token: SocketServerExt,
config
};
}
/**
* Initilization of the extension
* Create the socket server
*
* @param {CoreModule} module
* @param {SocketConfig} config
* @returns Observable
*/
onExtensionLoad(module, config) {
return Observable_1.Observable
.of(new server_1.WebSocketServer(config))
.map(_ => ({
instance: this,
token: SocketServerExt,
value: _
}));
}
/**
* Start socket server
*
* @param {CoreModule} module
* @param {WebSocketServer} server
* @returns Observable
*/
onModuleInstantiated(module, server) {
return Observable_1.Observable
.of(server)
.map(_ => _.start());
}
/**
* Shutdown HapiJS server extension
*
* @param {CoreModule} module
* @param {Server} server
* @returns ExtensionShutdown
*/
onShutdown(module, server) {
return {
priority: core_1.ExtensionShutdownPriority.IMPORTANT,
resolver: server.stop()
};
}
}
exports.SocketServerExt = SocketServerExt;
//# sourceMappingURL=extension.js.map