CompleteChunks = chunks.length - 1; // Last line does not have trailing linebreak const incompleteChunk = chunks[numCompleteChunks]; if (numCompleteChunks === 0) { channel[kJSONBuffer] += incompleteChunk; } else { chunks[0] = channel[kJSONBuffer] + chunks[0]; for (let i = 0; i < numCompleteChunks; i++) yield JSONParse(chunks[i]); channel[kJSONBuffer] = incompleteChunk; } channel.buffering = channel[kJSONBuffer].length !== 0; }, writeChannelMessage(channel, req, message, handle) { const string = JSONStringify(message) + '\n'; return channel.writeUtf8String(req, string, handle); }, }; module.exports = { advanced, json };