UNPKG

@zohodesk/hooks

Version:

Unified Component Library - Hooks

44 lines 1.44 kB
import { DATE_FORMATS, DATE_DELIMITERS } from "./dateFormatConstants"; import { MONTH_FULL_NAMES, MONTH_SHORT_NAMES } from "./monthConstants"; export function getFormatedDate() { let dateValue = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ''; let format = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : DATE_FORMATS.dd_mm_yyyy; let delimiter = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : DATE_DELIMITERS.slash; const { date, month, year } = dateDecode(dateValue); let values = { dd: date.toString().padStart(2, '0'), yyyy: year, mm: month.toString().padStart(2, '0'), mmm: MONTH_SHORT_NAMES[month - 1], mmmm: MONTH_FULL_NAMES[month - 1] }; let value = []; format.map(data => { value.push(values[data]); }); return value.join(delimiter); } export function dateDecode() { let value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ''; // value = '2023-02-21'; let deocodedValue = value.split('-'); return { date: Number(deocodedValue[2]), month: Number(deocodedValue[1]), year: Number(deocodedValue[0]) }; } export function dateEncode(_ref) { let { date, month, year } = _ref; // { date: 21, month: 2, year: 2023 } let enocodedValue = year + '-' + month.toString().padStart(2, '0') + '-' + date.toString().padStart(2, '0'); return enocodedValue; }