target-clickhouse
Version:
A Singer target for Clickhouse
32 lines • 1.44 kB
JavaScript
;
var _a;
exports.__esModule = true;
var singer_node_1 = require("singer-node");
var processStream_1 = require("./processStream");
var Config_1 = require("./Config");
var fs = require("fs");
var args = (0, singer_node_1.parse_args)(["database", "host", "port", "username", "password"], [{
flags: "-u | --update-streams <tables...>",
description: "Schema whose root and children tables will be dropped / recreated on SCHEMA messages"
}, {
flags: "--input <file>",
description: "An alternate file to read from, instead of STDIN"
}, {
flags: "--output <file>",
description: "An alternate file to write to, instead of STDOUT"
}]);
var config = new Config_1.Config(args.config);
(0, singer_node_1.set_log_level)(config.log_level);
var stdin = args.opts.input ? fs.createReadStream(args.opts.input) : process.stdin;
var stdout = args.opts.output ? fs.createWriteStream(args.opts.output) : process.stdout;
(0, singer_node_1.set_output_stream)(stdout);
(0, processStream_1.processStream)(stdin, config, (_a = args.opts.updateStreams) !== null && _a !== void 0 ? _a : []).then(function () {
(0, singer_node_1.log_info)("Stream processing done");
})["catch"](function (err) {
(0, singer_node_1.log_error)("".concat(err));
process.exit(1);
})["finally"](function () {
if (stdout !== process.stdout)
stdout.end();
});
//# sourceMappingURL=index.js.map