@engine2/efa-utils
Version:
Library for EFA Apps utility functions
62 lines (49 loc) • 1.67 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = calcTimeDiff;
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"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function calcTimeDiff(referenceValue, value) {
var av = (0, _parse.default)(referenceValue, 'HHmm', new Date());
var cv = (0, _parse.default)(value, 'HHmm', new Date());
var cvValid = (0, _isValid.default)(cv);
var avValid = (0, _isValid.default)(av);
if (avValid && cvValid) {
var equal = (0, _isEqual.default)(av, cv);
if (!equal) {
var isReferenceBefore = (0, _isBefore.default)(av, cv);
if (isReferenceBefore) {
var diff = (0, _intervalToDuration.default)({
start: av,
end: cv
});
return {
hours: Number(diff.hours),
minutes: Number(diff.minutes),
isReferenceBefore: isReferenceBefore
};
} else {
var _diff = (0, _intervalToDuration.default)({
start: cv,
end: av
});
return {
hours: Number(_diff.hours),
minutes: Number(_diff.minutes),
isReferenceBefore: isReferenceBefore
};
}
} else {
return null;
}
} else {
return null;
}
}
module.exports = exports.default;