dbmaster-cli
Version:
Tool for converting tables between Fifa Soccer Games
29 lines (28 loc) • 955 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.AppendDefaultTransform = void 0;
const stream_1 = require("stream");
const fifa_config_1 = require("../fifa-config");
class AppendDefaultTransform extends stream_1.Transform {
constructor(opts) {
super(opts);
this.opts = opts;
this.vb = new fifa_config_1.ValidationBuilder(this.opts.fields);
}
_transform(chunk, encoding, callback) {
const object = JSON.parse(chunk.toString());
for (const field of this.opts.fields) {
const value = object[field.name];
const { error } = this.vb.validationFn(field).validate(value);
if (error) {
object[field.name] = field.default;
}
}
this.push(JSON.stringify(object));
callback();
}
_flush(callback) {
callback();
}
}
exports.AppendDefaultTransform = AppendDefaultTransform;