reveal-sdk-node
Version:
RevealBI Node.js SDK
37 lines (36 loc) • 1.65 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.serializeCalculatedFields = exports.serializeSchema = exports.parseSchema = void 0;
const rvDashboardAggregationType_1 = require("./ts-sdk/rvDashboardAggregationType");
const rvDashboardDataType_1 = require("./ts-sdk/rvDashboardDataType");
function parseDataType(value) {
return rvDashboardDataType_1.RVDashboardDataType[value];
}
function parseAggregationType(value) {
return rvDashboardAggregationType_1.RVDashboardAggregationType[value];
}
function parseField(json) {
var _a;
return Object.assign(Object.assign({}, json), { type: parseDataType(json.type), weekLevelEnabled: (_a = json.weekLevelEnabled) !== null && _a !== void 0 ? _a : false, defaultAggregation: parseAggregationType(json.defaultAggregation) });
}
function serializeField(field) {
const json = Object.assign({}, field);
if (typeof field.type === "number")
json.type = rvDashboardDataType_1.RVDashboardDataType[field.type];
if (typeof field.defaultAggregation === "number") {
json.defaultAggregation = rvDashboardAggregationType_1.RVDashboardAggregationType[field.defaultAggregation];
}
return json;
}
function parseSchema(schema) {
return schema.map(parseField);
}
exports.parseSchema = parseSchema;
function serializeSchema(schema) {
return schema ? schema.map(serializeField) : null;
}
exports.serializeSchema = serializeSchema;
function serializeCalculatedFields(fields) {
return fields ? fields.map(serializeField) : null;
}
exports.serializeCalculatedFields = serializeCalculatedFields;