reveal-sdk-node
Version:
RevealBI Node.js SDK
41 lines (40 loc) • 1.43 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.createDictionaryFromJsonObject = exports.copyEntriesToJsonObject = exports.dateToJson = exports.dateFromJson = void 0;
function dateFromJson(json) {
let dateStr = json === null || json === void 0 ? void 0 : json['value'];
return (typeof dateStr === 'string') ? new Date(dateStr) : null;
}
exports.dateFromJson = dateFromJson;
function dateToJson(date) {
return {
"_type": "date",
"value": date.toJSON()
};
}
exports.dateToJson = dateToJson;
function copyEntriesToJsonObject(dict, jsonObj) {
if (!dict)
return;
for (const [key, value] of Object.entries(dict)) {
jsonObj[key] = value instanceof Date ? dateToJson(value) : value;
}
}
exports.copyEntriesToJsonObject = copyEntriesToJsonObject;
function createDictionaryFromJsonObject(jsonObj) {
if (!jsonObj)
return null;
const entries = Object.entries(jsonObj);
if (entries.length == 0)
return null;
const dict = {};
for (const [key, value] of entries) {
let valueToSet = value;
if ((value === null || value === void 0 ? void 0 : value._type) === 'date') {
valueToSet = dateFromJson(value);
}
dict[key] = valueToSet;
}
return dict;
}
exports.createDictionaryFromJsonObject = createDictionaryFromJsonObject;