diffusion
Version:
Diffusion JavaScript client
77 lines (76 loc) • 2.1 kB
JavaScript
;
/**
* @module diffusion.datatypes.RecordV2
*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.RecordV2BuilderImpl = void 0;
var recordv2_impl_1 = require("./../../data/record/recordv2-impl");
var RecordV2Writer = require("./../../data/record/recordv2-writer");
/**
* Implementation of {@link RecordV2Builder}
*/
var RecordV2BuilderImpl = /** @class */ (function () {
function RecordV2BuilderImpl() {
/**
* The record data
*/
this.records = [];
}
/**
* @inheritdoc
*/
RecordV2BuilderImpl.prototype.addFields = function (field) {
var fields = [];
for (var _i = 1; _i < arguments.length; _i++) {
fields[_i - 1] = arguments[_i];
}
if (arguments.length > 1) {
fields.unshift(field);
}
else {
fields = field;
}
if (fields) {
var current = this.records.length ? this.records[this.records.length - 1] : [];
this.records[Math.max(this.records.length - 1, 0)] = current.concat(fields);
}
return this;
};
/**
* @inheritdoc
*/
RecordV2BuilderImpl.prototype.addRecord = function (field) {
var fields = [];
for (var _i = 1; _i < arguments.length; _i++) {
fields[_i - 1] = arguments[_i];
}
if (arguments.length > 1) {
fields.unshift(field);
}
else {
fields = field;
}
if (fields) {
this.records.push([].concat(fields));
}
else {
this.records.push([]);
}
return this;
};
/**
* @inheritdoc
*/
RecordV2BuilderImpl.prototype.clear = function () {
this.records = [];
return this;
};
/**
* @inheritdoc
*/
RecordV2BuilderImpl.prototype.build = function () {
return new recordv2_impl_1.RecordV2Impl(RecordV2Writer.toBuffer(this.records));
};
return RecordV2BuilderImpl;
}());
exports.RecordV2BuilderImpl = RecordV2BuilderImpl;