target-clickhouse
Version:
A Singer target for Clickhouse
55 lines • 1.21 kB
JavaScript
;
exports.__esModule = true;
function getTranslator(type) {
switch (type) {
case "string":
return extractString;
case "boolean":
return extractBoolean;
case "integer":
return extractInteger;
case "number":
return extractNumber;
default:
return null;
}
}
function extractString(v) {
return String(v);
}
function extractBoolean(v) {
if (v === "true" || v === true || v === 1) {
return 1;
}
else {
return 0;
}
}
function extractNumber(v) {
var ret = parseFloat(v);
if (isNaN(ret)) {
return undefined;
}
return ret;
}
function extractInteger(v) {
var ret = parseInt(v);
if (isNaN(ret)) {
return undefined;
}
return ret;
}
exports["default"] = {
buildTranslator: function (type) {
var translator = getTranslator(type);
return function (v) {
if (v === undefined || v === null || translator === null) {
return v;
}
else {
return translator(v);
}
};
}
};
//# sourceMappingURL=SchemaTranslator.js.map