UNPKG

@parsify/date

Version:

Parsify plugin for date & time parsing

19 lines (18 loc) 698 B
import { parseDate } from 'chrono-node'; import { lightFormat } from 'date-fns'; export default ({ format, locale = 'en-US' } = {}) => async (expression) => { const result = parseDate(expression); if (!result) { return expression; } // Fallback to default format try { if (format) { return lightFormat(result, format); } return new Date(result).toLocaleString(locale, { day: 'numeric', month: 'numeric', year: 'numeric', hour: 'numeric', minute: 'numeric' }); } catch { return new Date(result).toLocaleString(locale, { day: 'numeric', month: 'numeric', year: 'numeric', hour: 'numeric', minute: 'numeric' }); } };