JFIFxxC      C  " }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr{ gilour
import {DateFormatter} from '@internationalized/date'; import {useMemo, useRef} from 'react'; import {useSelectedLocale} from './selected-locale'; import {shallowEqual} from '../utils/shallow-equal'; export function useDateFormatter( options?: Intl.DateTimeFormatOptions ): DateFormatter { // Reuse last options object if it is shallowly equal, which allows the useMemo result to also be reused. const lastOptions = useRef<Intl.DateTimeFormatOptions | undefined | null>( null ); if ( options && lastOptions.current && shallowEqual(options as any, lastOptions.current) ) { options = lastOptions.current; } lastOptions.current = options; const {localeCode} = useSelectedLocale(); return useMemo( () => new DateFormatter(localeCode, options), [localeCode, options] ); }