UNPKG

diffusion

Version:

Diffusion JavaScript client

44 lines (34 loc) 1.06 kB
var RecordV2Writer = require('data/record/recordv2-writer'); var RecordV2Impl = require('data/record/recordv2-impl'); var args2arr = require('util/array').argumentsToArray; module.exports = function RecordV2BuilderImpl() { var records = []; this.addFields = function(fields) { if (arguments.length > 1) { fields = args2arr(arguments); } if (fields) { var current = records.length ? records[records.length - 1] : []; records[Math.max(records.length - 1, 0)] = current.concat(fields); } return this; }; this.addRecord = function(fields) { if (arguments.length > 1) { fields = args2arr(arguments); } if (fields) { records.push([].concat(fields)); } else { records.push([]); } return this; }; this.clear = function() { records = []; return this; }; this.build = function() { return new RecordV2Impl(RecordV2Writer.toBuffer(records)); }; };