UNPKG

@razorpay/blade

Version:

The Design System that powers Razorpay

40 lines (37 loc) 1.01 kB
import dayjs from 'dayjs'; import timezonePlugin from 'dayjs/plugin/timezone'; import utcPlugin from 'dayjs/plugin/utc'; dayjs.extend(utcPlugin); dayjs.extend(timezonePlugin); function getTimezoneOffset(date, timezone) { if (timezone) { return dayjs(date).tz(timezone).utcOffset() + date.getTimezoneOffset(); } return 0; } var updateTimezone = function updateTimezone(date, timezone, direction) { if (!date) { return null; } if (!timezone) { return date; } var offset = getTimezoneOffset(date, timezone); if (direction === 'remove') { offset *= -1; } return dayjs(date).add(offset, 'minutes').toDate(); }; function shiftTimezone(direction, date, timezone, disabled) { if (disabled || !date) { return date; } if (Array.isArray(date)) { return date.map(function (d) { return updateTimezone(d, timezone, direction); }); } return updateTimezone(date, timezone, direction); } export { shiftTimezone }; //# sourceMappingURL=shiftTimezone.js.map