diffusion
Version:
Diffusion JavaScript client
44 lines (34 loc) • 1.06 kB
JavaScript
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));
};
};