JFIFxxC      C  " }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr{ gilour

File "use-date-formatter.ts"

Full Path: /home/markqprx/iniasli.pro/resources/client/i18n/use-date-formatter.ts
File size: 820 bytes
MIME-type: text/plain
Charset: utf-8

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]
  );
}