UNPKG

@enonic/mock-xp

Version:

Mock Enonic XP API JavaScript Library

53 lines (52 loc) 2.07 kB
"use strict"; 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;