UNPKG

section-2

Version:

A library for calculating unsocial hours entitlements under the NHS agenda for change's section 2

33 lines (32 loc) 1.57 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.isBankHoliday = exports.calculateShiftHours = exports.calculateShiftLength = exports.calculateBreak = void 0; const conversions_1 = require("./conversions"); const formatDates_1 = require("./formatDates"); const bankHolidays_1 = __importDefault(require("../data/bankHolidays")); const calculateBreak = (shiftLengthMs, break_override) => break_override === null || break_override === undefined ? shiftLengthMs > 21600000 ? 1800000 : 0 : break_override; exports.calculateBreak = calculateBreak; const calculateShiftLength = (from, to) => { return (0, conversions_1.convertToNumber)(to) - (0, conversions_1.convertToNumber)(from); }; exports.calculateShiftLength = calculateShiftLength; const calculateShiftHours = (from, to, breakOverrideMs = null) => { const shiftLength = (0, exports.calculateShiftLength)(from, to); if (breakOverrideMs === null || breakOverrideMs === undefined) { return shiftLength > 21600000 ? shiftLength - 1800000 : shiftLength; } return Math.max(shiftLength - breakOverrideMs, 0); }; exports.calculateShiftHours = calculateShiftHours; const isBankHoliday = (date) => { const lookupDate = (0, formatDates_1.formatDate)(date, "sorting"); return bankHolidays_1.default["england-and-wales"].some((bh) => bh === lookupDate); }; exports.isBankHoliday = isBankHoliday;