UNPKG

@intlayer/core

Version:

Includes core Intlayer functions like translation, dictionary, and utility functions shared across multiple packages.

62 lines (60 loc) 1.68 kB
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); const require_runtime = require('../_virtual/_rolldown/runtime.cjs'); const require_utils_intl = require('../utils/intl.cjs'); let _intlayer_config_built = require("@intlayer/config/built"); //#region src/formatters/date.ts const presets = { short: { year: "2-digit", month: "2-digit", day: "2-digit", hour: "2-digit", minute: "2-digit" }, long: { year: "numeric", month: "long", day: "numeric", hour: "numeric", minute: "numeric" }, full: { year: "numeric", month: "long", day: "numeric", hour: "numeric", minute: "numeric", hour12: false }, dateOnly: { year: "numeric", month: "short", day: "numeric" }, timeOnly: { hour: "numeric", minute: "numeric", second: "numeric" } }; /** * Formats a date/time value into a localized string using Intl.DateTimeFormat. * * @example * date(new Date('2025-08-02T14:30:00Z'), { year: '2-digit', month: '2-digit', day: '2-digit', hour: '2-digit', minute: '2-digit' }); * // "08/02/25, 14:30" * * @example * date("2025-08-02T14:30:00Z", { locale: Locales.FRENCH, month: "long", day: "numeric" }); * // "2 août" */ const date = (date, options) => { const dateTime = new Date(date); const resolvedOptions = typeof options === "string" ? presets[options] ?? {} : options; const locale = (typeof options === "object" ? options?.locale : void 0) ?? _intlayer_config_built.internationalization?.defaultLocale; return require_utils_intl.getCachedIntl(Intl.DateTimeFormat, locale, resolvedOptions).format(dateTime); }; //#endregion exports.date = date; exports.presets = presets; //# sourceMappingURL=date.cjs.map