'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); var vue = require('vue'); var utils = require('../utils.js'); const makeAvailableArr = (disabledList) => { const trueOrNumber = (isDisabled, index) => isDisabled || index; const getNumber = (predicate) => predicate !== true; return disabledList.map(trueOrNumber).filter(getNumber); }; const getTimeLists = (disabledHours, disabledMinutes, disabledSeconds) => { const getHoursList = (role, compare) => { return utils.makeList(24, disabledHours && (() => disabledHours == null ? void 0 : disabledHours(role, compare))); }; const getMinutesList = (hour, role, compare) => { return utils.makeList(60, disabledMinutes && (() => disabledMinutes == null ? void 0 : disabledMinutes(hour, role, compare))); }; const getSecondsList = (hour, minute, role, compare) => { return utils.makeList(60, disabledSeconds && (() => disabledSeconds == null ? void 0 : disabledSeconds(hour, minute, role, compare))); }; return { getHoursList, getMinutesList, getSecondsList }; }; const buildAvailableTimeSlotGetter = (disabledHours, disabledMinutes, disabledSeconds) => { const { getHoursList, getMinutesList, getSecondsList } = getTimeLists(disabledHours, disabledMinutes, disabledSeconds); const getAvailableHours = (role, compare) => { return makeAvailableArr(getHoursList(role, compare)); }; const getAvailableMinutes = (hour, role, compare) => { return makeAvailableArr(getMinutesList(hour, role, compare)); }; const getAvailableSeconds = (hour, minute, role, compare) => { return makeAvailableArr(getSecondsList(hour, minute, role, compare)); }; return { getAvailableHours, getAvailableMinutes, getAvailableSeconds }; }; const useOldValue = (props) => { const oldValue = vue.ref(props.parsedValue); vue.watch(() => props.visible, (val) => { if (!val) { oldValue.value = props.parsedValue; } }); return oldValue; }; exports.buildAvailableTimeSlotGetter = buildAvailableTimeSlotGetter; exports.getTimeLists = getTimeLists; exports.useOldValue = useOldValue; //# sourceMappingURL=use-time-picker.js.map