@enonic/mock-xp
Version:
Mock Enonic XP API JavaScript Library
53 lines (52 loc) • 2.07 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.LocalTime = void 0;
var tslib_1 = require("tslib");
var LocalTime = (function () {
function LocalTime(value) {
this.nano = 0;
if (typeof value === 'string') {
var _a = LocalTime.parseLocalTimeString(value), hours = _a.hours, minutes = _a.minutes, seconds = _a.seconds, milliseconds = _a.milliseconds, nanoseconds = _a.nanoseconds;
this.date = LocalTime.createTimeObjectFromHoursMinutesSeconds(hours, minutes, seconds, milliseconds);
this.nano = nanoseconds;
}
else {
this.date = value;
}
}
LocalTime.parseLocalTimeString = function (timeString) {
var parts = timeString.split(":");
var hours = parseInt(parts[0], 10);
var minutes = parseInt(parts[1], 10);
var seconds = 0;
var nanoseconds = 0;
if (parts[2]) {
var _a = tslib_1.__read(parts[2].split('.'), 2), s = _a[0], rest = _a[1];
seconds = parseInt(s, 10);
if (rest) {
nanoseconds = parseInt("".concat(parseInt(rest, 10)).padEnd(9, '0'), 10);
}
}
var milliseconds = nanoseconds / 1000000;
return { hours: hours, minutes: minutes, seconds: seconds, milliseconds: milliseconds, nanoseconds: nanoseconds };
};
LocalTime.createTimeObjectFromHoursMinutesSeconds = function (hours, minutes, seconds, milliseconds) {
var date = new Date(new Date().getFullYear(), 0, 1);
date.setHours(hours, minutes, seconds, milliseconds);
return date;
};
LocalTime.prototype.getHour = function () {
return this.date.getHours();
};
LocalTime.prototype.getMinute = function () {
return this.date.getMinutes();
};
LocalTime.prototype.getSecond = function () {
return this.date.getSeconds();
};
LocalTime.prototype.getNano = function () {
return this.nano;
};
return LocalTime;
}());
exports.LocalTime = LocalTime;