UNPKG

@aimee-blue/ab-service-kit

Version:
49 lines (38 loc) 1.37 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.dataStreamFromSocket = void 0; var _rxjs = require("rxjs"); var _os = require("os"); var _time = require("../time"); var _wsCodeToReason = require("./wsCodeToReason"); var _logging = require("../logging"); const dataStreamFromSocket = (client, logger = _logging.defaultLogger) => { return new _rxjs.Observable(subscriber => { const messageHandler = data => { subscriber.next(data); }; const errorHandler = error => { logger.error('💥 Error on client socket', error); subscriber.error(error); }; const closeHandler = (code, reason) => { const from = !client.closingByKit ? 'from client side' : 'from our side'; logger.log(`${_os.EOL}👋 Connection closed ${from}, with code ${code}; ${reason || (0, _wsCodeToReason.wsCodeToReason)(code)}`, { timestamp: (0, _time.localNow)() }, _os.EOL); subscriber.complete(); }; client.on('message', messageHandler); client.on('error', errorHandler); client.on('close', closeHandler); return () => { client.off('message', messageHandler); client.off('error', errorHandler); client.off('close', closeHandler); }; }); }; exports.dataStreamFromSocket = dataStreamFromSocket; //# sourceMappingURL=dataStreamFromSocket.js.map