vuestic-ui
Version:
Vue 3 UI Framework
1 lines • 1.32 kB
Source Map (JSON)
{"version":3,"file":"model-value-parser.mjs","sources":["../../../../../../src/components/va-date-input/hooks/model-value-parser.ts"],"sourcesContent":["import { DatePickerModelValue } from '../../va-date-picker/types'\nimport { defaultParseDateFunction } from './input-text-parser'\nimport { DateInputRange, DateInputModelValue, DateInputDate } from '../types'\nimport { isNil, isNilValue } from '../../../utils/isNilValue'\n\nexport const isRange = (date: DateInputModelValue): date is DateInputRange<DateInputDate> => {\n if (date === null) { return false }\n\n return typeof date === 'object' && ('start' in date || 'end' in date)\n}\n\nexport const parseSingleDate = (date: DateInputDate) => typeof date === 'string'\n ? defaultParseDateFunction(date)\n : new Date(date)\n\nexport const parseModelValue = (date: DateInputModelValue): DatePickerModelValue => {\n if (Array.isArray(date)) {\n return date.map(parseSingleDate)\n }\n\n if (isRange(date)) {\n return {\n start: isNil(date.start) ? date.start : parseSingleDate(date.start),\n end: isNil(date.end) ? date.end : parseSingleDate(date.end),\n }\n }\n\n return parseSingleDate(date!)\n}\n"],"names":[],"mappings":"AAKa,MAAA,UAAU,CAAC,SAAqE;AAC3F,MAAI,SAAS,MAAM;AAAS,WAAA;AAAA,EAAM;AAElC,SAAO,OAAO,SAAS,aAAa,WAAW,QAAQ,SAAS;AAClE;"}