pipeproc
Version:
Multi-process log processing for nodejs
41 lines (40 loc) • 1.24 kB
JavaScript
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const debug_1 = __importDefault(require("debug"));
const d = debug_1.default("pipeproc:socket:send");
function getSender(socket) {
return function (message, callback) {
let msg;
if (typeof message === "string") {
msg = message;
}
else {
msg = JSON.stringify(message);
}
msg += "%EOM%";
try {
const flushed = socket.write(msg, "utf8", function () {
if (!flushed) {
if (callback && typeof callback === "function") {
callback();
}
}
});
if (flushed) {
if (callback && typeof callback === "function") {
setImmediate(callback);
}
}
}
catch (e) {
d(e);
if (callback && typeof callback === "function") {
setImmediate(callback);
}
}
};
}
exports.getSender = getSender;
;