@engine2/efa-utils
Version:
Library for EFA Apps utility functions
56 lines (41 loc) • 1.65 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = calcTripTime;
var _parse = _interopRequireDefault(require("date-fns/parse"));
var _intervalToDuration = _interopRequireDefault(require("date-fns/intervalToDuration"));
var _isBefore = _interopRequireDefault(require("date-fns/isBefore"));
var _isEqual = _interopRequireDefault(require("date-fns/isEqual"));
var _isValid = _interopRequireDefault(require("date-fns/isValid"));
var _addDays = _interopRequireDefault(require("date-fns/addDays"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function calcTripTime(takeOffTime, landingTime) {
var tt = (0, _parse.default)(takeOffTime, 'HHmm', new Date());
var lt = (0, _parse.default)(landingTime, 'HHmm', new Date());
var ttValid = (0, _isValid.default)(tt);
var ltValid = (0, _isValid.default)(lt);
var addZero = function addZero(value) {
return value < 10 ? "0".concat(value) : String(value);
};
if (ttValid && ltValid) {
var isReferenceBefore = (0, _isBefore.default)(tt, lt);
if (isReferenceBefore) {
var dur = (0, _intervalToDuration.default)({
start: tt,
end: lt
});
return "".concat(addZero(Number(dur.hours))).concat(addZero(Number(dur.minutes)));
} else {
var lt2 = (0, _addDays.default)(lt, 1);
var _dur = (0, _intervalToDuration.default)({
start: tt,
end: lt2
});
return "".concat(addZero(Number(_dur.hours))).concat(addZero(Number(_dur.minutes)));
}
} else {
return null;
}
}
module.exports = exports.default;