@ultipa-graph/ultipa-driver
Version:
NodeJS SDK for ultipa-server 5.2
71 lines • 2.47 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.streamHelper = void 0;
exports.streamHelper = {
isUseStream: (streamReq) => {
if (streamReq?.onData && streamReq?.onEnd) {
return true;
}
return false;
},
commonDeal: (stream, streamReq, dataFormat) => {
let log = (...argv) => {
// console.log("❗️ steam log ->", ...argv)
};
if (exports.streamHelper.isUseStream(streamReq)) {
if (streamReq.onStart) {
log("start");
streamReq.onStart();
}
if (streamReq.onData) {
stream.on('data', async function (chunkData) {
let data = chunkData;
if (dataFormat) {
try {
data = dataFormat(chunkData);
}
catch (error) {
if (streamReq.onError) {
streamReq.onError(error);
stream.destroy();
}
else {
console.log(error);
}
return;
}
}
try {
await Promise.resolve(streamReq.onData(data));
}
catch (error) {
if (streamReq.onError) {
streamReq.onError(error);
}
}
});
}
stream.on("close", function () {
log("close");
streamReq.onClose?.();
});
stream.on('end', function () {
log("end");
streamReq.onEnd?.();
});
stream.on('error', function (err) {
log("error");
streamReq.onError?.(err);
});
stream.on('pause', function () {
log("pause");
streamReq.onPause?.();
});
stream.on('resume', function () {
log("resume");
streamReq.onResume?.();
});
}
}
};
//# sourceMappingURL=stream.helper.js.map