inital
This commit is contained in:
233
node_modules/luxon/src/impl/english.js
generated
vendored
Normal file
233
node_modules/luxon/src/impl/english.js
generated
vendored
Normal file
@@ -0,0 +1,233 @@
|
||||
import * as Formats from "./formats.js";
|
||||
import { pick } from "./util.js";
|
||||
|
||||
function stringify(obj) {
|
||||
return JSON.stringify(obj, Object.keys(obj).sort());
|
||||
}
|
||||
|
||||
/**
|
||||
* @private
|
||||
*/
|
||||
|
||||
export const monthsLong = [
|
||||
"January",
|
||||
"February",
|
||||
"March",
|
||||
"April",
|
||||
"May",
|
||||
"June",
|
||||
"July",
|
||||
"August",
|
||||
"September",
|
||||
"October",
|
||||
"November",
|
||||
"December",
|
||||
];
|
||||
|
||||
export const monthsShort = [
|
||||
"Jan",
|
||||
"Feb",
|
||||
"Mar",
|
||||
"Apr",
|
||||
"May",
|
||||
"Jun",
|
||||
"Jul",
|
||||
"Aug",
|
||||
"Sep",
|
||||
"Oct",
|
||||
"Nov",
|
||||
"Dec",
|
||||
];
|
||||
|
||||
export const monthsNarrow = ["J", "F", "M", "A", "M", "J", "J", "A", "S", "O", "N", "D"];
|
||||
|
||||
export function months(length) {
|
||||
switch (length) {
|
||||
case "narrow":
|
||||
return [...monthsNarrow];
|
||||
case "short":
|
||||
return [...monthsShort];
|
||||
case "long":
|
||||
return [...monthsLong];
|
||||
case "numeric":
|
||||
return ["1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"];
|
||||
case "2-digit":
|
||||
return ["01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12"];
|
||||
default:
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
export const weekdaysLong = [
|
||||
"Monday",
|
||||
"Tuesday",
|
||||
"Wednesday",
|
||||
"Thursday",
|
||||
"Friday",
|
||||
"Saturday",
|
||||
"Sunday",
|
||||
];
|
||||
|
||||
export const weekdaysShort = ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"];
|
||||
|
||||
export const weekdaysNarrow = ["M", "T", "W", "T", "F", "S", "S"];
|
||||
|
||||
export function weekdays(length) {
|
||||
switch (length) {
|
||||
case "narrow":
|
||||
return [...weekdaysNarrow];
|
||||
case "short":
|
||||
return [...weekdaysShort];
|
||||
case "long":
|
||||
return [...weekdaysLong];
|
||||
case "numeric":
|
||||
return ["1", "2", "3", "4", "5", "6", "7"];
|
||||
default:
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
export const meridiems = ["AM", "PM"];
|
||||
|
||||
export const erasLong = ["Before Christ", "Anno Domini"];
|
||||
|
||||
export const erasShort = ["BC", "AD"];
|
||||
|
||||
export const erasNarrow = ["B", "A"];
|
||||
|
||||
export function eras(length) {
|
||||
switch (length) {
|
||||
case "narrow":
|
||||
return [...erasNarrow];
|
||||
case "short":
|
||||
return [...erasShort];
|
||||
case "long":
|
||||
return [...erasLong];
|
||||
default:
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
export function meridiemForDateTime(dt) {
|
||||
return meridiems[dt.hour < 12 ? 0 : 1];
|
||||
}
|
||||
|
||||
export function weekdayForDateTime(dt, length) {
|
||||
return weekdays(length)[dt.weekday - 1];
|
||||
}
|
||||
|
||||
export function monthForDateTime(dt, length) {
|
||||
return months(length)[dt.month - 1];
|
||||
}
|
||||
|
||||
export function eraForDateTime(dt, length) {
|
||||
return eras(length)[dt.year < 0 ? 0 : 1];
|
||||
}
|
||||
|
||||
export function formatRelativeTime(unit, count, numeric = "always", narrow = false) {
|
||||
const units = {
|
||||
years: ["year", "yr."],
|
||||
quarters: ["quarter", "qtr."],
|
||||
months: ["month", "mo."],
|
||||
weeks: ["week", "wk."],
|
||||
days: ["day", "day", "days"],
|
||||
hours: ["hour", "hr."],
|
||||
minutes: ["minute", "min."],
|
||||
seconds: ["second", "sec."],
|
||||
};
|
||||
|
||||
const lastable = ["hours", "minutes", "seconds"].indexOf(unit) === -1;
|
||||
|
||||
if (numeric === "auto" && lastable) {
|
||||
const isDay = unit === "days";
|
||||
switch (count) {
|
||||
case 1:
|
||||
return isDay ? "tomorrow" : `next ${units[unit][0]}`;
|
||||
case -1:
|
||||
return isDay ? "yesterday" : `last ${units[unit][0]}`;
|
||||
case 0:
|
||||
return isDay ? "today" : `this ${units[unit][0]}`;
|
||||
default: // fall through
|
||||
}
|
||||
}
|
||||
|
||||
const isInPast = Object.is(count, -0) || count < 0,
|
||||
fmtValue = Math.abs(count),
|
||||
singular = fmtValue === 1,
|
||||
lilUnits = units[unit],
|
||||
fmtUnit = narrow
|
||||
? singular
|
||||
? lilUnits[1]
|
||||
: lilUnits[2] || lilUnits[1]
|
||||
: singular
|
||||
? units[unit][0]
|
||||
: unit;
|
||||
return isInPast ? `${fmtValue} ${fmtUnit} ago` : `in ${fmtValue} ${fmtUnit}`;
|
||||
}
|
||||
|
||||
export function formatString(knownFormat) {
|
||||
// these all have the offsets removed because we don't have access to them
|
||||
// without all the intl stuff this is backfilling
|
||||
const filtered = pick(knownFormat, [
|
||||
"weekday",
|
||||
"era",
|
||||
"year",
|
||||
"month",
|
||||
"day",
|
||||
"hour",
|
||||
"minute",
|
||||
"second",
|
||||
"timeZoneName",
|
||||
"hourCycle",
|
||||
]),
|
||||
key = stringify(filtered),
|
||||
dateTimeHuge = "EEEE, LLLL d, yyyy, h:mm a";
|
||||
switch (key) {
|
||||
case stringify(Formats.DATE_SHORT):
|
||||
return "M/d/yyyy";
|
||||
case stringify(Formats.DATE_MED):
|
||||
return "LLL d, yyyy";
|
||||
case stringify(Formats.DATE_MED_WITH_WEEKDAY):
|
||||
return "EEE, LLL d, yyyy";
|
||||
case stringify(Formats.DATE_FULL):
|
||||
return "LLLL d, yyyy";
|
||||
case stringify(Formats.DATE_HUGE):
|
||||
return "EEEE, LLLL d, yyyy";
|
||||
case stringify(Formats.TIME_SIMPLE):
|
||||
return "h:mm a";
|
||||
case stringify(Formats.TIME_WITH_SECONDS):
|
||||
return "h:mm:ss a";
|
||||
case stringify(Formats.TIME_WITH_SHORT_OFFSET):
|
||||
return "h:mm a";
|
||||
case stringify(Formats.TIME_WITH_LONG_OFFSET):
|
||||
return "h:mm a";
|
||||
case stringify(Formats.TIME_24_SIMPLE):
|
||||
return "HH:mm";
|
||||
case stringify(Formats.TIME_24_WITH_SECONDS):
|
||||
return "HH:mm:ss";
|
||||
case stringify(Formats.TIME_24_WITH_SHORT_OFFSET):
|
||||
return "HH:mm";
|
||||
case stringify(Formats.TIME_24_WITH_LONG_OFFSET):
|
||||
return "HH:mm";
|
||||
case stringify(Formats.DATETIME_SHORT):
|
||||
return "M/d/yyyy, h:mm a";
|
||||
case stringify(Formats.DATETIME_MED):
|
||||
return "LLL d, yyyy, h:mm a";
|
||||
case stringify(Formats.DATETIME_FULL):
|
||||
return "LLLL d, yyyy, h:mm a";
|
||||
case stringify(Formats.DATETIME_HUGE):
|
||||
return dateTimeHuge;
|
||||
case stringify(Formats.DATETIME_SHORT_WITH_SECONDS):
|
||||
return "M/d/yyyy, h:mm:ss a";
|
||||
case stringify(Formats.DATETIME_MED_WITH_SECONDS):
|
||||
return "LLL d, yyyy, h:mm:ss a";
|
||||
case stringify(Formats.DATETIME_MED_WITH_WEEKDAY):
|
||||
return "EEE, d LLL yyyy, h:mm a";
|
||||
case stringify(Formats.DATETIME_FULL_WITH_SECONDS):
|
||||
return "LLLL d, yyyy, h:mm:ss a";
|
||||
case stringify(Formats.DATETIME_HUGE_WITH_SECONDS):
|
||||
return "EEEE, LLLL d, yyyy, h:mm:ss a";
|
||||
default:
|
||||
return dateTimeHuge;
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user