@odata2ts/converter-ui5-v2
Version:
Collection of odata2ts compatible converters suitable for integrating with UI5's OData V2 model
38 lines • 1.44 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.timeToMsDurationConverter = void 0;
const converter_common_1 = require("@odata2ts/converter-common");
exports.timeToMsDurationConverter = {
id: "timeToMsDurationConverter",
from: "Edm.Time",
to: "@odata2ts/converter-ui5-v2.MsDuration",
convertFrom: function (value) {
if (typeof value !== "string") {
return value;
}
const duration = converter_common_1.simpleDurationConverter.convertFrom(value);
if (typeof duration !== "object" || duration === null) {
return undefined;
}
return {
ms: (duration.seconds || 0) * 1000 + (duration.minutes || 0) * 60 * 1000 + (duration.hours || 0) * 60 * 60 * 1000,
};
},
convertTo: function (value) {
if (!value) {
return value;
}
const hours = Math.floor(value.ms / (1000 * 60 * 60));
const hoursInMs = hours * 1000 * 60 * 60;
const minutes = Math.floor((value.ms - hoursInMs) / (1000 * 60));
const minutesInMs = minutes * 1000 * 60;
const seconds = (value.ms - hoursInMs - minutesInMs) / 1000;
const duration = {
hours,
minutes,
seconds,
};
return converter_common_1.simpleDurationConverter.convertTo(duration);
},
};
//# sourceMappingURL=TimeToMsDurationConverter.js.map