UNPKG

diffusion

Version:

Diffusion JavaScript client

50 lines (40 loc) 1.26 kB
var BufferOutputStream = require('io/buffer-output-stream'); var consts = require('data/record/recordv2-utils'); function write(records, out) { if (records.length === 0) { return; } if (records.length === 1 && records[0].length === 0) { out.write(consts.RECORD_MU); return; } var recordDelimiter = false; records.forEach(function(record) { if (recordDelimiter) { out.write(consts.RECORD_DELIMITER); } else { recordDelimiter = true; } if (record.length === 1 && record[0] === "") { out.write(consts.FIELD_MU); } else { var fieldDelimiter = false; record.forEach(function(field) { if (fieldDelimiter) { out.write(consts.FIELD_DELIMITER); } else { fieldDelimiter = true; } if (field !== undefined && field !== null) { out.writeMany(new Buffer(field)); } }); } }); } module.exports.write = write; module.exports.toBuffer = function(records) { var bos = new BufferOutputStream(); write(records, bos); return bos.getBuffer(); };