FIN INIT
This commit is contained in:
7
node_modules/date-fns/_lib/addLeadingZeros.cjs
generated
vendored
Normal file
7
node_modules/date-fns/_lib/addLeadingZeros.cjs
generated
vendored
Normal file
@ -0,0 +1,7 @@
|
||||
"use strict";
|
||||
exports.addLeadingZeros = addLeadingZeros;
|
||||
function addLeadingZeros(number, targetLength) {
|
||||
const sign = number < 0 ? "-" : "";
|
||||
const output = Math.abs(number).toString().padStart(targetLength, "0");
|
||||
return sign + output;
|
||||
}
|
4
node_modules/date-fns/_lib/addLeadingZeros.d.cts
generated
vendored
Normal file
4
node_modules/date-fns/_lib/addLeadingZeros.d.cts
generated
vendored
Normal file
@ -0,0 +1,4 @@
|
||||
export declare function addLeadingZeros(
|
||||
number: number,
|
||||
targetLength: number,
|
||||
): string;
|
4
node_modules/date-fns/_lib/addLeadingZeros.d.ts
generated
vendored
Normal file
4
node_modules/date-fns/_lib/addLeadingZeros.d.ts
generated
vendored
Normal file
@ -0,0 +1,4 @@
|
||||
export declare function addLeadingZeros(
|
||||
number: number,
|
||||
targetLength: number,
|
||||
): string;
|
5
node_modules/date-fns/_lib/addLeadingZeros.js
generated
vendored
Normal file
5
node_modules/date-fns/_lib/addLeadingZeros.js
generated
vendored
Normal file
@ -0,0 +1,5 @@
|
||||
export function addLeadingZeros(number, targetLength) {
|
||||
const sign = number < 0 ? "-" : "";
|
||||
const output = Math.abs(number).toString().padStart(targetLength, "0");
|
||||
return sign + output;
|
||||
}
|
8
node_modules/date-fns/_lib/defaultLocale.cjs
generated
vendored
Normal file
8
node_modules/date-fns/_lib/defaultLocale.cjs
generated
vendored
Normal file
@ -0,0 +1,8 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "defaultLocale", {
|
||||
enumerable: true,
|
||||
get: function () {
|
||||
return _index.enUS;
|
||||
},
|
||||
});
|
||||
var _index = require("../locale/en-US.cjs");
|
1
node_modules/date-fns/_lib/defaultLocale.d.cts
generated
vendored
Normal file
1
node_modules/date-fns/_lib/defaultLocale.d.cts
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
export { enUS as defaultLocale } from "../locale/en-US.js";
|
1
node_modules/date-fns/_lib/defaultLocale.d.ts
generated
vendored
Normal file
1
node_modules/date-fns/_lib/defaultLocale.d.ts
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
export { enUS as defaultLocale } from "../locale/en-US.js";
|
1
node_modules/date-fns/_lib/defaultLocale.js
generated
vendored
Normal file
1
node_modules/date-fns/_lib/defaultLocale.js
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
export { enUS as defaultLocale } from "../locale/en-US.js";
|
13
node_modules/date-fns/_lib/defaultOptions.cjs
generated
vendored
Normal file
13
node_modules/date-fns/_lib/defaultOptions.cjs
generated
vendored
Normal file
@ -0,0 +1,13 @@
|
||||
"use strict";
|
||||
exports.getDefaultOptions = getDefaultOptions;
|
||||
exports.setDefaultOptions = setDefaultOptions;
|
||||
|
||||
let defaultOptions = {};
|
||||
|
||||
function getDefaultOptions() {
|
||||
return defaultOptions;
|
||||
}
|
||||
|
||||
function setDefaultOptions(newOptions) {
|
||||
defaultOptions = newOptions;
|
||||
}
|
11
node_modules/date-fns/_lib/defaultOptions.d.cts
generated
vendored
Normal file
11
node_modules/date-fns/_lib/defaultOptions.d.cts
generated
vendored
Normal file
@ -0,0 +1,11 @@
|
||||
import type {
|
||||
FirstWeekContainsDateOptions,
|
||||
Locale,
|
||||
LocalizedOptions,
|
||||
WeekOptions,
|
||||
} from "../types.js";
|
||||
export type DefaultOptions = LocalizedOptions<keyof Locale> &
|
||||
WeekOptions &
|
||||
FirstWeekContainsDateOptions;
|
||||
export declare function getDefaultOptions(): DefaultOptions;
|
||||
export declare function setDefaultOptions(newOptions: DefaultOptions): void;
|
11
node_modules/date-fns/_lib/defaultOptions.d.ts
generated
vendored
Normal file
11
node_modules/date-fns/_lib/defaultOptions.d.ts
generated
vendored
Normal file
@ -0,0 +1,11 @@
|
||||
import type {
|
||||
FirstWeekContainsDateOptions,
|
||||
Locale,
|
||||
LocalizedOptions,
|
||||
WeekOptions,
|
||||
} from "../types.js";
|
||||
export type DefaultOptions = LocalizedOptions<keyof Locale> &
|
||||
WeekOptions &
|
||||
FirstWeekContainsDateOptions;
|
||||
export declare function getDefaultOptions(): DefaultOptions;
|
||||
export declare function setDefaultOptions(newOptions: DefaultOptions): void;
|
9
node_modules/date-fns/_lib/defaultOptions.js
generated
vendored
Normal file
9
node_modules/date-fns/_lib/defaultOptions.js
generated
vendored
Normal file
@ -0,0 +1,9 @@
|
||||
let defaultOptions = {};
|
||||
|
||||
export function getDefaultOptions() {
|
||||
return defaultOptions;
|
||||
}
|
||||
|
||||
export function setDefaultOptions(newOptions) {
|
||||
defaultOptions = newOptions;
|
||||
}
|
780
node_modules/date-fns/_lib/format/formatters.cjs
generated
vendored
Normal file
780
node_modules/date-fns/_lib/format/formatters.cjs
generated
vendored
Normal file
@ -0,0 +1,780 @@
|
||||
"use strict";
|
||||
exports.formatters = void 0;
|
||||
var _index = require("../../getDayOfYear.cjs");
|
||||
var _index2 = require("../../getISOWeek.cjs");
|
||||
var _index3 = require("../../getISOWeekYear.cjs");
|
||||
var _index4 = require("../../getWeek.cjs");
|
||||
var _index5 = require("../../getWeekYear.cjs");
|
||||
|
||||
var _index6 = require("../addLeadingZeros.cjs");
|
||||
var _index7 = require("./lightFormatters.cjs");
|
||||
|
||||
const dayPeriodEnum = {
|
||||
am: "am",
|
||||
pm: "pm",
|
||||
midnight: "midnight",
|
||||
noon: "noon",
|
||||
morning: "morning",
|
||||
afternoon: "afternoon",
|
||||
evening: "evening",
|
||||
night: "night",
|
||||
};
|
||||
|
||||
/*
|
||||
* | | Unit | | Unit |
|
||||
* |-----|--------------------------------|-----|--------------------------------|
|
||||
* | a | AM, PM | A* | Milliseconds in day |
|
||||
* | b | AM, PM, noon, midnight | B | Flexible day period |
|
||||
* | c | Stand-alone local day of week | C* | Localized hour w/ day period |
|
||||
* | d | Day of month | D | Day of year |
|
||||
* | e | Local day of week | E | Day of week |
|
||||
* | f | | F* | Day of week in month |
|
||||
* | g* | Modified Julian day | G | Era |
|
||||
* | h | Hour [1-12] | H | Hour [0-23] |
|
||||
* | i! | ISO day of week | I! | ISO week of year |
|
||||
* | j* | Localized hour w/ day period | J* | Localized hour w/o day period |
|
||||
* | k | Hour [1-24] | K | Hour [0-11] |
|
||||
* | l* | (deprecated) | L | Stand-alone month |
|
||||
* | m | Minute | M | Month |
|
||||
* | n | | N | |
|
||||
* | o! | Ordinal number modifier | O | Timezone (GMT) |
|
||||
* | p! | Long localized time | P! | Long localized date |
|
||||
* | q | Stand-alone quarter | Q | Quarter |
|
||||
* | r* | Related Gregorian year | R! | ISO week-numbering year |
|
||||
* | s | Second | S | Fraction of second |
|
||||
* | t! | Seconds timestamp | T! | Milliseconds timestamp |
|
||||
* | u | Extended year | U* | Cyclic year |
|
||||
* | v* | Timezone (generic non-locat.) | V* | Timezone (location) |
|
||||
* | w | Local week of year | W* | Week of month |
|
||||
* | x | Timezone (ISO-8601 w/o Z) | X | Timezone (ISO-8601) |
|
||||
* | y | Year (abs) | Y | Local week-numbering year |
|
||||
* | z | Timezone (specific non-locat.) | Z* | Timezone (aliases) |
|
||||
*
|
||||
* Letters marked by * are not implemented but reserved by Unicode standard.
|
||||
*
|
||||
* Letters marked by ! are non-standard, but implemented by date-fns:
|
||||
* - `o` modifies the previous token to turn it into an ordinal (see `format` docs)
|
||||
* - `i` is ISO day of week. For `i` and `ii` is returns numeric ISO week days,
|
||||
* i.e. 7 for Sunday, 1 for Monday, etc.
|
||||
* - `I` is ISO week of year, as opposed to `w` which is local week of year.
|
||||
* - `R` is ISO week-numbering year, as opposed to `Y` which is local week-numbering year.
|
||||
* `R` is supposed to be used in conjunction with `I` and `i`
|
||||
* for universal ISO week-numbering date, whereas
|
||||
* `Y` is supposed to be used in conjunction with `w` and `e`
|
||||
* for week-numbering date specific to the locale.
|
||||
* - `P` is long localized date format
|
||||
* - `p` is long localized time format
|
||||
*/
|
||||
|
||||
const formatters = (exports.formatters = {
|
||||
// Era
|
||||
G: function (date, token, localize) {
|
||||
const era = date.getFullYear() > 0 ? 1 : 0;
|
||||
switch (token) {
|
||||
// AD, BC
|
||||
case "G":
|
||||
case "GG":
|
||||
case "GGG":
|
||||
return localize.era(era, { width: "abbreviated" });
|
||||
// A, B
|
||||
case "GGGGG":
|
||||
return localize.era(era, { width: "narrow" });
|
||||
// Anno Domini, Before Christ
|
||||
case "GGGG":
|
||||
default:
|
||||
return localize.era(era, { width: "wide" });
|
||||
}
|
||||
},
|
||||
|
||||
// Year
|
||||
y: function (date, token, localize) {
|
||||
// Ordinal number
|
||||
if (token === "yo") {
|
||||
const signedYear = date.getFullYear();
|
||||
// Returns 1 for 1 BC (which is year 0 in JavaScript)
|
||||
const year = signedYear > 0 ? signedYear : 1 - signedYear;
|
||||
return localize.ordinalNumber(year, { unit: "year" });
|
||||
}
|
||||
|
||||
return _index7.lightFormatters.y(date, token);
|
||||
},
|
||||
|
||||
// Local week-numbering year
|
||||
Y: function (date, token, localize, options) {
|
||||
const signedWeekYear = (0, _index5.getWeekYear)(date, options);
|
||||
// Returns 1 for 1 BC (which is year 0 in JavaScript)
|
||||
const weekYear = signedWeekYear > 0 ? signedWeekYear : 1 - signedWeekYear;
|
||||
|
||||
// Two digit year
|
||||
if (token === "YY") {
|
||||
const twoDigitYear = weekYear % 100;
|
||||
return (0, _index6.addLeadingZeros)(twoDigitYear, 2);
|
||||
}
|
||||
|
||||
// Ordinal number
|
||||
if (token === "Yo") {
|
||||
return localize.ordinalNumber(weekYear, { unit: "year" });
|
||||
}
|
||||
|
||||
// Padding
|
||||
return (0, _index6.addLeadingZeros)(weekYear, token.length);
|
||||
},
|
||||
|
||||
// ISO week-numbering year
|
||||
R: function (date, token) {
|
||||
const isoWeekYear = (0, _index3.getISOWeekYear)(date);
|
||||
|
||||
// Padding
|
||||
return (0, _index6.addLeadingZeros)(isoWeekYear, token.length);
|
||||
},
|
||||
|
||||
// Extended year. This is a single number designating the year of this calendar system.
|
||||
// The main difference between `y` and `u` localizers are B.C. years:
|
||||
// | Year | `y` | `u` |
|
||||
// |------|-----|-----|
|
||||
// | AC 1 | 1 | 1 |
|
||||
// | BC 1 | 1 | 0 |
|
||||
// | BC 2 | 2 | -1 |
|
||||
// Also `yy` always returns the last two digits of a year,
|
||||
// while `uu` pads single digit years to 2 characters and returns other years unchanged.
|
||||
u: function (date, token) {
|
||||
const year = date.getFullYear();
|
||||
return (0, _index6.addLeadingZeros)(year, token.length);
|
||||
},
|
||||
|
||||
// Quarter
|
||||
Q: function (date, token, localize) {
|
||||
const quarter = Math.ceil((date.getMonth() + 1) / 3);
|
||||
switch (token) {
|
||||
// 1, 2, 3, 4
|
||||
case "Q":
|
||||
return String(quarter);
|
||||
// 01, 02, 03, 04
|
||||
case "QQ":
|
||||
return (0, _index6.addLeadingZeros)(quarter, 2);
|
||||
// 1st, 2nd, 3rd, 4th
|
||||
case "Qo":
|
||||
return localize.ordinalNumber(quarter, { unit: "quarter" });
|
||||
// Q1, Q2, Q3, Q4
|
||||
case "QQQ":
|
||||
return localize.quarter(quarter, {
|
||||
width: "abbreviated",
|
||||
context: "formatting",
|
||||
});
|
||||
// 1, 2, 3, 4 (narrow quarter; could be not numerical)
|
||||
case "QQQQQ":
|
||||
return localize.quarter(quarter, {
|
||||
width: "narrow",
|
||||
context: "formatting",
|
||||
});
|
||||
// 1st quarter, 2nd quarter, ...
|
||||
case "QQQQ":
|
||||
default:
|
||||
return localize.quarter(quarter, {
|
||||
width: "wide",
|
||||
context: "formatting",
|
||||
});
|
||||
}
|
||||
},
|
||||
|
||||
// Stand-alone quarter
|
||||
q: function (date, token, localize) {
|
||||
const quarter = Math.ceil((date.getMonth() + 1) / 3);
|
||||
switch (token) {
|
||||
// 1, 2, 3, 4
|
||||
case "q":
|
||||
return String(quarter);
|
||||
// 01, 02, 03, 04
|
||||
case "qq":
|
||||
return (0, _index6.addLeadingZeros)(quarter, 2);
|
||||
// 1st, 2nd, 3rd, 4th
|
||||
case "qo":
|
||||
return localize.ordinalNumber(quarter, { unit: "quarter" });
|
||||
// Q1, Q2, Q3, Q4
|
||||
case "qqq":
|
||||
return localize.quarter(quarter, {
|
||||
width: "abbreviated",
|
||||
context: "standalone",
|
||||
});
|
||||
// 1, 2, 3, 4 (narrow quarter; could be not numerical)
|
||||
case "qqqqq":
|
||||
return localize.quarter(quarter, {
|
||||
width: "narrow",
|
||||
context: "standalone",
|
||||
});
|
||||
// 1st quarter, 2nd quarter, ...
|
||||
case "qqqq":
|
||||
default:
|
||||
return localize.quarter(quarter, {
|
||||
width: "wide",
|
||||
context: "standalone",
|
||||
});
|
||||
}
|
||||
},
|
||||
|
||||
// Month
|
||||
M: function (date, token, localize) {
|
||||
const month = date.getMonth();
|
||||
switch (token) {
|
||||
case "M":
|
||||
case "MM":
|
||||
return _index7.lightFormatters.M(date, token);
|
||||
// 1st, 2nd, ..., 12th
|
||||
case "Mo":
|
||||
return localize.ordinalNumber(month + 1, { unit: "month" });
|
||||
// Jan, Feb, ..., Dec
|
||||
case "MMM":
|
||||
return localize.month(month, {
|
||||
width: "abbreviated",
|
||||
context: "formatting",
|
||||
});
|
||||
// J, F, ..., D
|
||||
case "MMMMM":
|
||||
return localize.month(month, {
|
||||
width: "narrow",
|
||||
context: "formatting",
|
||||
});
|
||||
// January, February, ..., December
|
||||
case "MMMM":
|
||||
default:
|
||||
return localize.month(month, { width: "wide", context: "formatting" });
|
||||
}
|
||||
},
|
||||
|
||||
// Stand-alone month
|
||||
L: function (date, token, localize) {
|
||||
const month = date.getMonth();
|
||||
switch (token) {
|
||||
// 1, 2, ..., 12
|
||||
case "L":
|
||||
return String(month + 1);
|
||||
// 01, 02, ..., 12
|
||||
case "LL":
|
||||
return (0, _index6.addLeadingZeros)(month + 1, 2);
|
||||
// 1st, 2nd, ..., 12th
|
||||
case "Lo":
|
||||
return localize.ordinalNumber(month + 1, { unit: "month" });
|
||||
// Jan, Feb, ..., Dec
|
||||
case "LLL":
|
||||
return localize.month(month, {
|
||||
width: "abbreviated",
|
||||
context: "standalone",
|
||||
});
|
||||
// J, F, ..., D
|
||||
case "LLLLL":
|
||||
return localize.month(month, {
|
||||
width: "narrow",
|
||||
context: "standalone",
|
||||
});
|
||||
// January, February, ..., December
|
||||
case "LLLL":
|
||||
default:
|
||||
return localize.month(month, { width: "wide", context: "standalone" });
|
||||
}
|
||||
},
|
||||
|
||||
// Local week of year
|
||||
w: function (date, token, localize, options) {
|
||||
const week = (0, _index4.getWeek)(date, options);
|
||||
|
||||
if (token === "wo") {
|
||||
return localize.ordinalNumber(week, { unit: "week" });
|
||||
}
|
||||
|
||||
return (0, _index6.addLeadingZeros)(week, token.length);
|
||||
},
|
||||
|
||||
// ISO week of year
|
||||
I: function (date, token, localize) {
|
||||
const isoWeek = (0, _index2.getISOWeek)(date);
|
||||
|
||||
if (token === "Io") {
|
||||
return localize.ordinalNumber(isoWeek, { unit: "week" });
|
||||
}
|
||||
|
||||
return (0, _index6.addLeadingZeros)(isoWeek, token.length);
|
||||
},
|
||||
|
||||
// Day of the month
|
||||
d: function (date, token, localize) {
|
||||
if (token === "do") {
|
||||
return localize.ordinalNumber(date.getDate(), { unit: "date" });
|
||||
}
|
||||
|
||||
return _index7.lightFormatters.d(date, token);
|
||||
},
|
||||
|
||||
// Day of year
|
||||
D: function (date, token, localize) {
|
||||
const dayOfYear = (0, _index.getDayOfYear)(date);
|
||||
|
||||
if (token === "Do") {
|
||||
return localize.ordinalNumber(dayOfYear, { unit: "dayOfYear" });
|
||||
}
|
||||
|
||||
return (0, _index6.addLeadingZeros)(dayOfYear, token.length);
|
||||
},
|
||||
|
||||
// Day of week
|
||||
E: function (date, token, localize) {
|
||||
const dayOfWeek = date.getDay();
|
||||
switch (token) {
|
||||
// Tue
|
||||
case "E":
|
||||
case "EE":
|
||||
case "EEE":
|
||||
return localize.day(dayOfWeek, {
|
||||
width: "abbreviated",
|
||||
context: "formatting",
|
||||
});
|
||||
// T
|
||||
case "EEEEE":
|
||||
return localize.day(dayOfWeek, {
|
||||
width: "narrow",
|
||||
context: "formatting",
|
||||
});
|
||||
// Tu
|
||||
case "EEEEEE":
|
||||
return localize.day(dayOfWeek, {
|
||||
width: "short",
|
||||
context: "formatting",
|
||||
});
|
||||
// Tuesday
|
||||
case "EEEE":
|
||||
default:
|
||||
return localize.day(dayOfWeek, {
|
||||
width: "wide",
|
||||
context: "formatting",
|
||||
});
|
||||
}
|
||||
},
|
||||
|
||||
// Local day of week
|
||||
e: function (date, token, localize, options) {
|
||||
const dayOfWeek = date.getDay();
|
||||
const localDayOfWeek = (dayOfWeek - options.weekStartsOn + 8) % 7 || 7;
|
||||
switch (token) {
|
||||
// Numerical value (Nth day of week with current locale or weekStartsOn)
|
||||
case "e":
|
||||
return String(localDayOfWeek);
|
||||
// Padded numerical value
|
||||
case "ee":
|
||||
return (0, _index6.addLeadingZeros)(localDayOfWeek, 2);
|
||||
// 1st, 2nd, ..., 7th
|
||||
case "eo":
|
||||
return localize.ordinalNumber(localDayOfWeek, { unit: "day" });
|
||||
case "eee":
|
||||
return localize.day(dayOfWeek, {
|
||||
width: "abbreviated",
|
||||
context: "formatting",
|
||||
});
|
||||
// T
|
||||
case "eeeee":
|
||||
return localize.day(dayOfWeek, {
|
||||
width: "narrow",
|
||||
context: "formatting",
|
||||
});
|
||||
// Tu
|
||||
case "eeeeee":
|
||||
return localize.day(dayOfWeek, {
|
||||
width: "short",
|
||||
context: "formatting",
|
||||
});
|
||||
// Tuesday
|
||||
case "eeee":
|
||||
default:
|
||||
return localize.day(dayOfWeek, {
|
||||
width: "wide",
|
||||
context: "formatting",
|
||||
});
|
||||
}
|
||||
},
|
||||
|
||||
// Stand-alone local day of week
|
||||
c: function (date, token, localize, options) {
|
||||
const dayOfWeek = date.getDay();
|
||||
const localDayOfWeek = (dayOfWeek - options.weekStartsOn + 8) % 7 || 7;
|
||||
switch (token) {
|
||||
// Numerical value (same as in `e`)
|
||||
case "c":
|
||||
return String(localDayOfWeek);
|
||||
// Padded numerical value
|
||||
case "cc":
|
||||
return (0, _index6.addLeadingZeros)(localDayOfWeek, token.length);
|
||||
// 1st, 2nd, ..., 7th
|
||||
case "co":
|
||||
return localize.ordinalNumber(localDayOfWeek, { unit: "day" });
|
||||
case "ccc":
|
||||
return localize.day(dayOfWeek, {
|
||||
width: "abbreviated",
|
||||
context: "standalone",
|
||||
});
|
||||
// T
|
||||
case "ccccc":
|
||||
return localize.day(dayOfWeek, {
|
||||
width: "narrow",
|
||||
context: "standalone",
|
||||
});
|
||||
// Tu
|
||||
case "cccccc":
|
||||
return localize.day(dayOfWeek, {
|
||||
width: "short",
|
||||
context: "standalone",
|
||||
});
|
||||
// Tuesday
|
||||
case "cccc":
|
||||
default:
|
||||
return localize.day(dayOfWeek, {
|
||||
width: "wide",
|
||||
context: "standalone",
|
||||
});
|
||||
}
|
||||
},
|
||||
|
||||
// ISO day of week
|
||||
i: function (date, token, localize) {
|
||||
const dayOfWeek = date.getDay();
|
||||
const isoDayOfWeek = dayOfWeek === 0 ? 7 : dayOfWeek;
|
||||
switch (token) {
|
||||
// 2
|
||||
case "i":
|
||||
return String(isoDayOfWeek);
|
||||
// 02
|
||||
case "ii":
|
||||
return (0, _index6.addLeadingZeros)(isoDayOfWeek, token.length);
|
||||
// 2nd
|
||||
case "io":
|
||||
return localize.ordinalNumber(isoDayOfWeek, { unit: "day" });
|
||||
// Tue
|
||||
case "iii":
|
||||
return localize.day(dayOfWeek, {
|
||||
width: "abbreviated",
|
||||
context: "formatting",
|
||||
});
|
||||
// T
|
||||
case "iiiii":
|
||||
return localize.day(dayOfWeek, {
|
||||
width: "narrow",
|
||||
context: "formatting",
|
||||
});
|
||||
// Tu
|
||||
case "iiiiii":
|
||||
return localize.day(dayOfWeek, {
|
||||
width: "short",
|
||||
context: "formatting",
|
||||
});
|
||||
// Tuesday
|
||||
case "iiii":
|
||||
default:
|
||||
return localize.day(dayOfWeek, {
|
||||
width: "wide",
|
||||
context: "formatting",
|
||||
});
|
||||
}
|
||||
},
|
||||
|
||||
// AM or PM
|
||||
a: function (date, token, localize) {
|
||||
const hours = date.getHours();
|
||||
const dayPeriodEnumValue = hours / 12 >= 1 ? "pm" : "am";
|
||||
|
||||
switch (token) {
|
||||
case "a":
|
||||
case "aa":
|
||||
return localize.dayPeriod(dayPeriodEnumValue, {
|
||||
width: "abbreviated",
|
||||
context: "formatting",
|
||||
});
|
||||
case "aaa":
|
||||
return localize
|
||||
.dayPeriod(dayPeriodEnumValue, {
|
||||
width: "abbreviated",
|
||||
context: "formatting",
|
||||
})
|
||||
.toLowerCase();
|
||||
case "aaaaa":
|
||||
return localize.dayPeriod(dayPeriodEnumValue, {
|
||||
width: "narrow",
|
||||
context: "formatting",
|
||||
});
|
||||
case "aaaa":
|
||||
default:
|
||||
return localize.dayPeriod(dayPeriodEnumValue, {
|
||||
width: "wide",
|
||||
context: "formatting",
|
||||
});
|
||||
}
|
||||
},
|
||||
|
||||
// AM, PM, midnight, noon
|
||||
b: function (date, token, localize) {
|
||||
const hours = date.getHours();
|
||||
let dayPeriodEnumValue;
|
||||
if (hours === 12) {
|
||||
dayPeriodEnumValue = dayPeriodEnum.noon;
|
||||
} else if (hours === 0) {
|
||||
dayPeriodEnumValue = dayPeriodEnum.midnight;
|
||||
} else {
|
||||
dayPeriodEnumValue = hours / 12 >= 1 ? "pm" : "am";
|
||||
}
|
||||
|
||||
switch (token) {
|
||||
case "b":
|
||||
case "bb":
|
||||
return localize.dayPeriod(dayPeriodEnumValue, {
|
||||
width: "abbreviated",
|
||||
context: "formatting",
|
||||
});
|
||||
case "bbb":
|
||||
return localize
|
||||
.dayPeriod(dayPeriodEnumValue, {
|
||||
width: "abbreviated",
|
||||
context: "formatting",
|
||||
})
|
||||
.toLowerCase();
|
||||
case "bbbbb":
|
||||
return localize.dayPeriod(dayPeriodEnumValue, {
|
||||
width: "narrow",
|
||||
context: "formatting",
|
||||
});
|
||||
case "bbbb":
|
||||
default:
|
||||
return localize.dayPeriod(dayPeriodEnumValue, {
|
||||
width: "wide",
|
||||
context: "formatting",
|
||||
});
|
||||
}
|
||||
},
|
||||
|
||||
// in the morning, in the afternoon, in the evening, at night
|
||||
B: function (date, token, localize) {
|
||||
const hours = date.getHours();
|
||||
let dayPeriodEnumValue;
|
||||
if (hours >= 17) {
|
||||
dayPeriodEnumValue = dayPeriodEnum.evening;
|
||||
} else if (hours >= 12) {
|
||||
dayPeriodEnumValue = dayPeriodEnum.afternoon;
|
||||
} else if (hours >= 4) {
|
||||
dayPeriodEnumValue = dayPeriodEnum.morning;
|
||||
} else {
|
||||
dayPeriodEnumValue = dayPeriodEnum.night;
|
||||
}
|
||||
|
||||
switch (token) {
|
||||
case "B":
|
||||
case "BB":
|
||||
case "BBB":
|
||||
return localize.dayPeriod(dayPeriodEnumValue, {
|
||||
width: "abbreviated",
|
||||
context: "formatting",
|
||||
});
|
||||
case "BBBBB":
|
||||
return localize.dayPeriod(dayPeriodEnumValue, {
|
||||
width: "narrow",
|
||||
context: "formatting",
|
||||
});
|
||||
case "BBBB":
|
||||
default:
|
||||
return localize.dayPeriod(dayPeriodEnumValue, {
|
||||
width: "wide",
|
||||
context: "formatting",
|
||||
});
|
||||
}
|
||||
},
|
||||
|
||||
// Hour [1-12]
|
||||
h: function (date, token, localize) {
|
||||
if (token === "ho") {
|
||||
let hours = date.getHours() % 12;
|
||||
if (hours === 0) hours = 12;
|
||||
return localize.ordinalNumber(hours, { unit: "hour" });
|
||||
}
|
||||
|
||||
return _index7.lightFormatters.h(date, token);
|
||||
},
|
||||
|
||||
// Hour [0-23]
|
||||
H: function (date, token, localize) {
|
||||
if (token === "Ho") {
|
||||
return localize.ordinalNumber(date.getHours(), { unit: "hour" });
|
||||
}
|
||||
|
||||
return _index7.lightFormatters.H(date, token);
|
||||
},
|
||||
|
||||
// Hour [0-11]
|
||||
K: function (date, token, localize) {
|
||||
const hours = date.getHours() % 12;
|
||||
|
||||
if (token === "Ko") {
|
||||
return localize.ordinalNumber(hours, { unit: "hour" });
|
||||
}
|
||||
|
||||
return (0, _index6.addLeadingZeros)(hours, token.length);
|
||||
},
|
||||
|
||||
// Hour [1-24]
|
||||
k: function (date, token, localize) {
|
||||
let hours = date.getHours();
|
||||
if (hours === 0) hours = 24;
|
||||
|
||||
if (token === "ko") {
|
||||
return localize.ordinalNumber(hours, { unit: "hour" });
|
||||
}
|
||||
|
||||
return (0, _index6.addLeadingZeros)(hours, token.length);
|
||||
},
|
||||
|
||||
// Minute
|
||||
m: function (date, token, localize) {
|
||||
if (token === "mo") {
|
||||
return localize.ordinalNumber(date.getMinutes(), { unit: "minute" });
|
||||
}
|
||||
|
||||
return _index7.lightFormatters.m(date, token);
|
||||
},
|
||||
|
||||
// Second
|
||||
s: function (date, token, localize) {
|
||||
if (token === "so") {
|
||||
return localize.ordinalNumber(date.getSeconds(), { unit: "second" });
|
||||
}
|
||||
|
||||
return _index7.lightFormatters.s(date, token);
|
||||
},
|
||||
|
||||
// Fraction of second
|
||||
S: function (date, token) {
|
||||
return _index7.lightFormatters.S(date, token);
|
||||
},
|
||||
|
||||
// Timezone (ISO-8601. If offset is 0, output is always `'Z'`)
|
||||
X: function (date, token, _localize) {
|
||||
const timezoneOffset = date.getTimezoneOffset();
|
||||
|
||||
if (timezoneOffset === 0) {
|
||||
return "Z";
|
||||
}
|
||||
|
||||
switch (token) {
|
||||
// Hours and optional minutes
|
||||
case "X":
|
||||
return formatTimezoneWithOptionalMinutes(timezoneOffset);
|
||||
|
||||
// Hours, minutes and optional seconds without `:` delimiter
|
||||
// Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets
|
||||
// so this token always has the same output as `XX`
|
||||
case "XXXX":
|
||||
case "XX": // Hours and minutes without `:` delimiter
|
||||
return formatTimezone(timezoneOffset);
|
||||
|
||||
// Hours, minutes and optional seconds with `:` delimiter
|
||||
// Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets
|
||||
// so this token always has the same output as `XXX`
|
||||
case "XXXXX":
|
||||
case "XXX": // Hours and minutes with `:` delimiter
|
||||
default:
|
||||
return formatTimezone(timezoneOffset, ":");
|
||||
}
|
||||
},
|
||||
|
||||
// Timezone (ISO-8601. If offset is 0, output is `'+00:00'` or equivalent)
|
||||
x: function (date, token, _localize) {
|
||||
const timezoneOffset = date.getTimezoneOffset();
|
||||
|
||||
switch (token) {
|
||||
// Hours and optional minutes
|
||||
case "x":
|
||||
return formatTimezoneWithOptionalMinutes(timezoneOffset);
|
||||
|
||||
// Hours, minutes and optional seconds without `:` delimiter
|
||||
// Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets
|
||||
// so this token always has the same output as `xx`
|
||||
case "xxxx":
|
||||
case "xx": // Hours and minutes without `:` delimiter
|
||||
return formatTimezone(timezoneOffset);
|
||||
|
||||
// Hours, minutes and optional seconds with `:` delimiter
|
||||
// Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets
|
||||
// so this token always has the same output as `xxx`
|
||||
case "xxxxx":
|
||||
case "xxx": // Hours and minutes with `:` delimiter
|
||||
default:
|
||||
return formatTimezone(timezoneOffset, ":");
|
||||
}
|
||||
},
|
||||
|
||||
// Timezone (GMT)
|
||||
O: function (date, token, _localize) {
|
||||
const timezoneOffset = date.getTimezoneOffset();
|
||||
|
||||
switch (token) {
|
||||
// Short
|
||||
case "O":
|
||||
case "OO":
|
||||
case "OOO":
|
||||
return "GMT" + formatTimezoneShort(timezoneOffset, ":");
|
||||
// Long
|
||||
case "OOOO":
|
||||
default:
|
||||
return "GMT" + formatTimezone(timezoneOffset, ":");
|
||||
}
|
||||
},
|
||||
|
||||
// Timezone (specific non-location)
|
||||
z: function (date, token, _localize) {
|
||||
const timezoneOffset = date.getTimezoneOffset();
|
||||
|
||||
switch (token) {
|
||||
// Short
|
||||
case "z":
|
||||
case "zz":
|
||||
case "zzz":
|
||||
return "GMT" + formatTimezoneShort(timezoneOffset, ":");
|
||||
// Long
|
||||
case "zzzz":
|
||||
default:
|
||||
return "GMT" + formatTimezone(timezoneOffset, ":");
|
||||
}
|
||||
},
|
||||
|
||||
// Seconds timestamp
|
||||
t: function (date, token, _localize) {
|
||||
const timestamp = Math.trunc(+date / 1000);
|
||||
return (0, _index6.addLeadingZeros)(timestamp, token.length);
|
||||
},
|
||||
|
||||
// Milliseconds timestamp
|
||||
T: function (date, token, _localize) {
|
||||
return (0, _index6.addLeadingZeros)(+date, token.length);
|
||||
},
|
||||
});
|
||||
|
||||
function formatTimezoneShort(offset, delimiter = "") {
|
||||
const sign = offset > 0 ? "-" : "+";
|
||||
const absOffset = Math.abs(offset);
|
||||
const hours = Math.trunc(absOffset / 60);
|
||||
const minutes = absOffset % 60;
|
||||
if (minutes === 0) {
|
||||
return sign + String(hours);
|
||||
}
|
||||
return (
|
||||
sign + String(hours) + delimiter + (0, _index6.addLeadingZeros)(minutes, 2)
|
||||
);
|
||||
}
|
||||
|
||||
function formatTimezoneWithOptionalMinutes(offset, delimiter) {
|
||||
if (offset % 60 === 0) {
|
||||
const sign = offset > 0 ? "-" : "+";
|
||||
return sign + (0, _index6.addLeadingZeros)(Math.abs(offset) / 60, 2);
|
||||
}
|
||||
return formatTimezone(offset, delimiter);
|
||||
}
|
||||
|
||||
function formatTimezone(offset, delimiter = "") {
|
||||
const sign = offset > 0 ? "-" : "+";
|
||||
const absOffset = Math.abs(offset);
|
||||
const hours = (0, _index6.addLeadingZeros)(Math.trunc(absOffset / 60), 2);
|
||||
const minutes = (0, _index6.addLeadingZeros)(absOffset % 60, 2);
|
||||
return sign + hours + delimiter + minutes;
|
||||
}
|
18
node_modules/date-fns/_lib/format/formatters.d.cts
generated
vendored
Normal file
18
node_modules/date-fns/_lib/format/formatters.d.cts
generated
vendored
Normal file
@ -0,0 +1,18 @@
|
||||
import type { Localize } from "../../locale/types.js";
|
||||
import type {
|
||||
FirstWeekContainsDateOptions,
|
||||
LocalizedOptions,
|
||||
WeekOptions,
|
||||
} from "../../types.js";
|
||||
type Formatter = (
|
||||
date: Date,
|
||||
token: string,
|
||||
localize: Localize,
|
||||
options: Required<
|
||||
LocalizedOptions<"options"> & WeekOptions & FirstWeekContainsDateOptions
|
||||
>,
|
||||
) => string;
|
||||
export declare const formatters: {
|
||||
[token: string]: Formatter;
|
||||
};
|
||||
export {};
|
18
node_modules/date-fns/_lib/format/formatters.d.ts
generated
vendored
Normal file
18
node_modules/date-fns/_lib/format/formatters.d.ts
generated
vendored
Normal file
@ -0,0 +1,18 @@
|
||||
import type { Localize } from "../../locale/types.js";
|
||||
import type {
|
||||
FirstWeekContainsDateOptions,
|
||||
LocalizedOptions,
|
||||
WeekOptions,
|
||||
} from "../../types.js";
|
||||
type Formatter = (
|
||||
date: Date,
|
||||
token: string,
|
||||
localize: Localize,
|
||||
options: Required<
|
||||
LocalizedOptions<"options"> & WeekOptions & FirstWeekContainsDateOptions
|
||||
>,
|
||||
) => string;
|
||||
export declare const formatters: {
|
||||
[token: string]: Formatter;
|
||||
};
|
||||
export {};
|
776
node_modules/date-fns/_lib/format/formatters.js
generated
vendored
Normal file
776
node_modules/date-fns/_lib/format/formatters.js
generated
vendored
Normal file
@ -0,0 +1,776 @@
|
||||
import { getDayOfYear } from "../../getDayOfYear.js";
|
||||
import { getISOWeek } from "../../getISOWeek.js";
|
||||
import { getISOWeekYear } from "../../getISOWeekYear.js";
|
||||
import { getWeek } from "../../getWeek.js";
|
||||
import { getWeekYear } from "../../getWeekYear.js";
|
||||
|
||||
import { addLeadingZeros } from "../addLeadingZeros.js";
|
||||
import { lightFormatters } from "./lightFormatters.js";
|
||||
|
||||
const dayPeriodEnum = {
|
||||
am: "am",
|
||||
pm: "pm",
|
||||
midnight: "midnight",
|
||||
noon: "noon",
|
||||
morning: "morning",
|
||||
afternoon: "afternoon",
|
||||
evening: "evening",
|
||||
night: "night",
|
||||
};
|
||||
|
||||
/*
|
||||
* | | Unit | | Unit |
|
||||
* |-----|--------------------------------|-----|--------------------------------|
|
||||
* | a | AM, PM | A* | Milliseconds in day |
|
||||
* | b | AM, PM, noon, midnight | B | Flexible day period |
|
||||
* | c | Stand-alone local day of week | C* | Localized hour w/ day period |
|
||||
* | d | Day of month | D | Day of year |
|
||||
* | e | Local day of week | E | Day of week |
|
||||
* | f | | F* | Day of week in month |
|
||||
* | g* | Modified Julian day | G | Era |
|
||||
* | h | Hour [1-12] | H | Hour [0-23] |
|
||||
* | i! | ISO day of week | I! | ISO week of year |
|
||||
* | j* | Localized hour w/ day period | J* | Localized hour w/o day period |
|
||||
* | k | Hour [1-24] | K | Hour [0-11] |
|
||||
* | l* | (deprecated) | L | Stand-alone month |
|
||||
* | m | Minute | M | Month |
|
||||
* | n | | N | |
|
||||
* | o! | Ordinal number modifier | O | Timezone (GMT) |
|
||||
* | p! | Long localized time | P! | Long localized date |
|
||||
* | q | Stand-alone quarter | Q | Quarter |
|
||||
* | r* | Related Gregorian year | R! | ISO week-numbering year |
|
||||
* | s | Second | S | Fraction of second |
|
||||
* | t! | Seconds timestamp | T! | Milliseconds timestamp |
|
||||
* | u | Extended year | U* | Cyclic year |
|
||||
* | v* | Timezone (generic non-locat.) | V* | Timezone (location) |
|
||||
* | w | Local week of year | W* | Week of month |
|
||||
* | x | Timezone (ISO-8601 w/o Z) | X | Timezone (ISO-8601) |
|
||||
* | y | Year (abs) | Y | Local week-numbering year |
|
||||
* | z | Timezone (specific non-locat.) | Z* | Timezone (aliases) |
|
||||
*
|
||||
* Letters marked by * are not implemented but reserved by Unicode standard.
|
||||
*
|
||||
* Letters marked by ! are non-standard, but implemented by date-fns:
|
||||
* - `o` modifies the previous token to turn it into an ordinal (see `format` docs)
|
||||
* - `i` is ISO day of week. For `i` and `ii` is returns numeric ISO week days,
|
||||
* i.e. 7 for Sunday, 1 for Monday, etc.
|
||||
* - `I` is ISO week of year, as opposed to `w` which is local week of year.
|
||||
* - `R` is ISO week-numbering year, as opposed to `Y` which is local week-numbering year.
|
||||
* `R` is supposed to be used in conjunction with `I` and `i`
|
||||
* for universal ISO week-numbering date, whereas
|
||||
* `Y` is supposed to be used in conjunction with `w` and `e`
|
||||
* for week-numbering date specific to the locale.
|
||||
* - `P` is long localized date format
|
||||
* - `p` is long localized time format
|
||||
*/
|
||||
|
||||
export const formatters = {
|
||||
// Era
|
||||
G: function (date, token, localize) {
|
||||
const era = date.getFullYear() > 0 ? 1 : 0;
|
||||
switch (token) {
|
||||
// AD, BC
|
||||
case "G":
|
||||
case "GG":
|
||||
case "GGG":
|
||||
return localize.era(era, { width: "abbreviated" });
|
||||
// A, B
|
||||
case "GGGGG":
|
||||
return localize.era(era, { width: "narrow" });
|
||||
// Anno Domini, Before Christ
|
||||
case "GGGG":
|
||||
default:
|
||||
return localize.era(era, { width: "wide" });
|
||||
}
|
||||
},
|
||||
|
||||
// Year
|
||||
y: function (date, token, localize) {
|
||||
// Ordinal number
|
||||
if (token === "yo") {
|
||||
const signedYear = date.getFullYear();
|
||||
// Returns 1 for 1 BC (which is year 0 in JavaScript)
|
||||
const year = signedYear > 0 ? signedYear : 1 - signedYear;
|
||||
return localize.ordinalNumber(year, { unit: "year" });
|
||||
}
|
||||
|
||||
return lightFormatters.y(date, token);
|
||||
},
|
||||
|
||||
// Local week-numbering year
|
||||
Y: function (date, token, localize, options) {
|
||||
const signedWeekYear = getWeekYear(date, options);
|
||||
// Returns 1 for 1 BC (which is year 0 in JavaScript)
|
||||
const weekYear = signedWeekYear > 0 ? signedWeekYear : 1 - signedWeekYear;
|
||||
|
||||
// Two digit year
|
||||
if (token === "YY") {
|
||||
const twoDigitYear = weekYear % 100;
|
||||
return addLeadingZeros(twoDigitYear, 2);
|
||||
}
|
||||
|
||||
// Ordinal number
|
||||
if (token === "Yo") {
|
||||
return localize.ordinalNumber(weekYear, { unit: "year" });
|
||||
}
|
||||
|
||||
// Padding
|
||||
return addLeadingZeros(weekYear, token.length);
|
||||
},
|
||||
|
||||
// ISO week-numbering year
|
||||
R: function (date, token) {
|
||||
const isoWeekYear = getISOWeekYear(date);
|
||||
|
||||
// Padding
|
||||
return addLeadingZeros(isoWeekYear, token.length);
|
||||
},
|
||||
|
||||
// Extended year. This is a single number designating the year of this calendar system.
|
||||
// The main difference between `y` and `u` localizers are B.C. years:
|
||||
// | Year | `y` | `u` |
|
||||
// |------|-----|-----|
|
||||
// | AC 1 | 1 | 1 |
|
||||
// | BC 1 | 1 | 0 |
|
||||
// | BC 2 | 2 | -1 |
|
||||
// Also `yy` always returns the last two digits of a year,
|
||||
// while `uu` pads single digit years to 2 characters and returns other years unchanged.
|
||||
u: function (date, token) {
|
||||
const year = date.getFullYear();
|
||||
return addLeadingZeros(year, token.length);
|
||||
},
|
||||
|
||||
// Quarter
|
||||
Q: function (date, token, localize) {
|
||||
const quarter = Math.ceil((date.getMonth() + 1) / 3);
|
||||
switch (token) {
|
||||
// 1, 2, 3, 4
|
||||
case "Q":
|
||||
return String(quarter);
|
||||
// 01, 02, 03, 04
|
||||
case "QQ":
|
||||
return addLeadingZeros(quarter, 2);
|
||||
// 1st, 2nd, 3rd, 4th
|
||||
case "Qo":
|
||||
return localize.ordinalNumber(quarter, { unit: "quarter" });
|
||||
// Q1, Q2, Q3, Q4
|
||||
case "QQQ":
|
||||
return localize.quarter(quarter, {
|
||||
width: "abbreviated",
|
||||
context: "formatting",
|
||||
});
|
||||
// 1, 2, 3, 4 (narrow quarter; could be not numerical)
|
||||
case "QQQQQ":
|
||||
return localize.quarter(quarter, {
|
||||
width: "narrow",
|
||||
context: "formatting",
|
||||
});
|
||||
// 1st quarter, 2nd quarter, ...
|
||||
case "QQQQ":
|
||||
default:
|
||||
return localize.quarter(quarter, {
|
||||
width: "wide",
|
||||
context: "formatting",
|
||||
});
|
||||
}
|
||||
},
|
||||
|
||||
// Stand-alone quarter
|
||||
q: function (date, token, localize) {
|
||||
const quarter = Math.ceil((date.getMonth() + 1) / 3);
|
||||
switch (token) {
|
||||
// 1, 2, 3, 4
|
||||
case "q":
|
||||
return String(quarter);
|
||||
// 01, 02, 03, 04
|
||||
case "qq":
|
||||
return addLeadingZeros(quarter, 2);
|
||||
// 1st, 2nd, 3rd, 4th
|
||||
case "qo":
|
||||
return localize.ordinalNumber(quarter, { unit: "quarter" });
|
||||
// Q1, Q2, Q3, Q4
|
||||
case "qqq":
|
||||
return localize.quarter(quarter, {
|
||||
width: "abbreviated",
|
||||
context: "standalone",
|
||||
});
|
||||
// 1, 2, 3, 4 (narrow quarter; could be not numerical)
|
||||
case "qqqqq":
|
||||
return localize.quarter(quarter, {
|
||||
width: "narrow",
|
||||
context: "standalone",
|
||||
});
|
||||
// 1st quarter, 2nd quarter, ...
|
||||
case "qqqq":
|
||||
default:
|
||||
return localize.quarter(quarter, {
|
||||
width: "wide",
|
||||
context: "standalone",
|
||||
});
|
||||
}
|
||||
},
|
||||
|
||||
// Month
|
||||
M: function (date, token, localize) {
|
||||
const month = date.getMonth();
|
||||
switch (token) {
|
||||
case "M":
|
||||
case "MM":
|
||||
return lightFormatters.M(date, token);
|
||||
// 1st, 2nd, ..., 12th
|
||||
case "Mo":
|
||||
return localize.ordinalNumber(month + 1, { unit: "month" });
|
||||
// Jan, Feb, ..., Dec
|
||||
case "MMM":
|
||||
return localize.month(month, {
|
||||
width: "abbreviated",
|
||||
context: "formatting",
|
||||
});
|
||||
// J, F, ..., D
|
||||
case "MMMMM":
|
||||
return localize.month(month, {
|
||||
width: "narrow",
|
||||
context: "formatting",
|
||||
});
|
||||
// January, February, ..., December
|
||||
case "MMMM":
|
||||
default:
|
||||
return localize.month(month, { width: "wide", context: "formatting" });
|
||||
}
|
||||
},
|
||||
|
||||
// Stand-alone month
|
||||
L: function (date, token, localize) {
|
||||
const month = date.getMonth();
|
||||
switch (token) {
|
||||
// 1, 2, ..., 12
|
||||
case "L":
|
||||
return String(month + 1);
|
||||
// 01, 02, ..., 12
|
||||
case "LL":
|
||||
return addLeadingZeros(month + 1, 2);
|
||||
// 1st, 2nd, ..., 12th
|
||||
case "Lo":
|
||||
return localize.ordinalNumber(month + 1, { unit: "month" });
|
||||
// Jan, Feb, ..., Dec
|
||||
case "LLL":
|
||||
return localize.month(month, {
|
||||
width: "abbreviated",
|
||||
context: "standalone",
|
||||
});
|
||||
// J, F, ..., D
|
||||
case "LLLLL":
|
||||
return localize.month(month, {
|
||||
width: "narrow",
|
||||
context: "standalone",
|
||||
});
|
||||
// January, February, ..., December
|
||||
case "LLLL":
|
||||
default:
|
||||
return localize.month(month, { width: "wide", context: "standalone" });
|
||||
}
|
||||
},
|
||||
|
||||
// Local week of year
|
||||
w: function (date, token, localize, options) {
|
||||
const week = getWeek(date, options);
|
||||
|
||||
if (token === "wo") {
|
||||
return localize.ordinalNumber(week, { unit: "week" });
|
||||
}
|
||||
|
||||
return addLeadingZeros(week, token.length);
|
||||
},
|
||||
|
||||
// ISO week of year
|
||||
I: function (date, token, localize) {
|
||||
const isoWeek = getISOWeek(date);
|
||||
|
||||
if (token === "Io") {
|
||||
return localize.ordinalNumber(isoWeek, { unit: "week" });
|
||||
}
|
||||
|
||||
return addLeadingZeros(isoWeek, token.length);
|
||||
},
|
||||
|
||||
// Day of the month
|
||||
d: function (date, token, localize) {
|
||||
if (token === "do") {
|
||||
return localize.ordinalNumber(date.getDate(), { unit: "date" });
|
||||
}
|
||||
|
||||
return lightFormatters.d(date, token);
|
||||
},
|
||||
|
||||
// Day of year
|
||||
D: function (date, token, localize) {
|
||||
const dayOfYear = getDayOfYear(date);
|
||||
|
||||
if (token === "Do") {
|
||||
return localize.ordinalNumber(dayOfYear, { unit: "dayOfYear" });
|
||||
}
|
||||
|
||||
return addLeadingZeros(dayOfYear, token.length);
|
||||
},
|
||||
|
||||
// Day of week
|
||||
E: function (date, token, localize) {
|
||||
const dayOfWeek = date.getDay();
|
||||
switch (token) {
|
||||
// Tue
|
||||
case "E":
|
||||
case "EE":
|
||||
case "EEE":
|
||||
return localize.day(dayOfWeek, {
|
||||
width: "abbreviated",
|
||||
context: "formatting",
|
||||
});
|
||||
// T
|
||||
case "EEEEE":
|
||||
return localize.day(dayOfWeek, {
|
||||
width: "narrow",
|
||||
context: "formatting",
|
||||
});
|
||||
// Tu
|
||||
case "EEEEEE":
|
||||
return localize.day(dayOfWeek, {
|
||||
width: "short",
|
||||
context: "formatting",
|
||||
});
|
||||
// Tuesday
|
||||
case "EEEE":
|
||||
default:
|
||||
return localize.day(dayOfWeek, {
|
||||
width: "wide",
|
||||
context: "formatting",
|
||||
});
|
||||
}
|
||||
},
|
||||
|
||||
// Local day of week
|
||||
e: function (date, token, localize, options) {
|
||||
const dayOfWeek = date.getDay();
|
||||
const localDayOfWeek = (dayOfWeek - options.weekStartsOn + 8) % 7 || 7;
|
||||
switch (token) {
|
||||
// Numerical value (Nth day of week with current locale or weekStartsOn)
|
||||
case "e":
|
||||
return String(localDayOfWeek);
|
||||
// Padded numerical value
|
||||
case "ee":
|
||||
return addLeadingZeros(localDayOfWeek, 2);
|
||||
// 1st, 2nd, ..., 7th
|
||||
case "eo":
|
||||
return localize.ordinalNumber(localDayOfWeek, { unit: "day" });
|
||||
case "eee":
|
||||
return localize.day(dayOfWeek, {
|
||||
width: "abbreviated",
|
||||
context: "formatting",
|
||||
});
|
||||
// T
|
||||
case "eeeee":
|
||||
return localize.day(dayOfWeek, {
|
||||
width: "narrow",
|
||||
context: "formatting",
|
||||
});
|
||||
// Tu
|
||||
case "eeeeee":
|
||||
return localize.day(dayOfWeek, {
|
||||
width: "short",
|
||||
context: "formatting",
|
||||
});
|
||||
// Tuesday
|
||||
case "eeee":
|
||||
default:
|
||||
return localize.day(dayOfWeek, {
|
||||
width: "wide",
|
||||
context: "formatting",
|
||||
});
|
||||
}
|
||||
},
|
||||
|
||||
// Stand-alone local day of week
|
||||
c: function (date, token, localize, options) {
|
||||
const dayOfWeek = date.getDay();
|
||||
const localDayOfWeek = (dayOfWeek - options.weekStartsOn + 8) % 7 || 7;
|
||||
switch (token) {
|
||||
// Numerical value (same as in `e`)
|
||||
case "c":
|
||||
return String(localDayOfWeek);
|
||||
// Padded numerical value
|
||||
case "cc":
|
||||
return addLeadingZeros(localDayOfWeek, token.length);
|
||||
// 1st, 2nd, ..., 7th
|
||||
case "co":
|
||||
return localize.ordinalNumber(localDayOfWeek, { unit: "day" });
|
||||
case "ccc":
|
||||
return localize.day(dayOfWeek, {
|
||||
width: "abbreviated",
|
||||
context: "standalone",
|
||||
});
|
||||
// T
|
||||
case "ccccc":
|
||||
return localize.day(dayOfWeek, {
|
||||
width: "narrow",
|
||||
context: "standalone",
|
||||
});
|
||||
// Tu
|
||||
case "cccccc":
|
||||
return localize.day(dayOfWeek, {
|
||||
width: "short",
|
||||
context: "standalone",
|
||||
});
|
||||
// Tuesday
|
||||
case "cccc":
|
||||
default:
|
||||
return localize.day(dayOfWeek, {
|
||||
width: "wide",
|
||||
context: "standalone",
|
||||
});
|
||||
}
|
||||
},
|
||||
|
||||
// ISO day of week
|
||||
i: function (date, token, localize) {
|
||||
const dayOfWeek = date.getDay();
|
||||
const isoDayOfWeek = dayOfWeek === 0 ? 7 : dayOfWeek;
|
||||
switch (token) {
|
||||
// 2
|
||||
case "i":
|
||||
return String(isoDayOfWeek);
|
||||
// 02
|
||||
case "ii":
|
||||
return addLeadingZeros(isoDayOfWeek, token.length);
|
||||
// 2nd
|
||||
case "io":
|
||||
return localize.ordinalNumber(isoDayOfWeek, { unit: "day" });
|
||||
// Tue
|
||||
case "iii":
|
||||
return localize.day(dayOfWeek, {
|
||||
width: "abbreviated",
|
||||
context: "formatting",
|
||||
});
|
||||
// T
|
||||
case "iiiii":
|
||||
return localize.day(dayOfWeek, {
|
||||
width: "narrow",
|
||||
context: "formatting",
|
||||
});
|
||||
// Tu
|
||||
case "iiiiii":
|
||||
return localize.day(dayOfWeek, {
|
||||
width: "short",
|
||||
context: "formatting",
|
||||
});
|
||||
// Tuesday
|
||||
case "iiii":
|
||||
default:
|
||||
return localize.day(dayOfWeek, {
|
||||
width: "wide",
|
||||
context: "formatting",
|
||||
});
|
||||
}
|
||||
},
|
||||
|
||||
// AM or PM
|
||||
a: function (date, token, localize) {
|
||||
const hours = date.getHours();
|
||||
const dayPeriodEnumValue = hours / 12 >= 1 ? "pm" : "am";
|
||||
|
||||
switch (token) {
|
||||
case "a":
|
||||
case "aa":
|
||||
return localize.dayPeriod(dayPeriodEnumValue, {
|
||||
width: "abbreviated",
|
||||
context: "formatting",
|
||||
});
|
||||
case "aaa":
|
||||
return localize
|
||||
.dayPeriod(dayPeriodEnumValue, {
|
||||
width: "abbreviated",
|
||||
context: "formatting",
|
||||
})
|
||||
.toLowerCase();
|
||||
case "aaaaa":
|
||||
return localize.dayPeriod(dayPeriodEnumValue, {
|
||||
width: "narrow",
|
||||
context: "formatting",
|
||||
});
|
||||
case "aaaa":
|
||||
default:
|
||||
return localize.dayPeriod(dayPeriodEnumValue, {
|
||||
width: "wide",
|
||||
context: "formatting",
|
||||
});
|
||||
}
|
||||
},
|
||||
|
||||
// AM, PM, midnight, noon
|
||||
b: function (date, token, localize) {
|
||||
const hours = date.getHours();
|
||||
let dayPeriodEnumValue;
|
||||
if (hours === 12) {
|
||||
dayPeriodEnumValue = dayPeriodEnum.noon;
|
||||
} else if (hours === 0) {
|
||||
dayPeriodEnumValue = dayPeriodEnum.midnight;
|
||||
} else {
|
||||
dayPeriodEnumValue = hours / 12 >= 1 ? "pm" : "am";
|
||||
}
|
||||
|
||||
switch (token) {
|
||||
case "b":
|
||||
case "bb":
|
||||
return localize.dayPeriod(dayPeriodEnumValue, {
|
||||
width: "abbreviated",
|
||||
context: "formatting",
|
||||
});
|
||||
case "bbb":
|
||||
return localize
|
||||
.dayPeriod(dayPeriodEnumValue, {
|
||||
width: "abbreviated",
|
||||
context: "formatting",
|
||||
})
|
||||
.toLowerCase();
|
||||
case "bbbbb":
|
||||
return localize.dayPeriod(dayPeriodEnumValue, {
|
||||
width: "narrow",
|
||||
context: "formatting",
|
||||
});
|
||||
case "bbbb":
|
||||
default:
|
||||
return localize.dayPeriod(dayPeriodEnumValue, {
|
||||
width: "wide",
|
||||
context: "formatting",
|
||||
});
|
||||
}
|
||||
},
|
||||
|
||||
// in the morning, in the afternoon, in the evening, at night
|
||||
B: function (date, token, localize) {
|
||||
const hours = date.getHours();
|
||||
let dayPeriodEnumValue;
|
||||
if (hours >= 17) {
|
||||
dayPeriodEnumValue = dayPeriodEnum.evening;
|
||||
} else if (hours >= 12) {
|
||||
dayPeriodEnumValue = dayPeriodEnum.afternoon;
|
||||
} else if (hours >= 4) {
|
||||
dayPeriodEnumValue = dayPeriodEnum.morning;
|
||||
} else {
|
||||
dayPeriodEnumValue = dayPeriodEnum.night;
|
||||
}
|
||||
|
||||
switch (token) {
|
||||
case "B":
|
||||
case "BB":
|
||||
case "BBB":
|
||||
return localize.dayPeriod(dayPeriodEnumValue, {
|
||||
width: "abbreviated",
|
||||
context: "formatting",
|
||||
});
|
||||
case "BBBBB":
|
||||
return localize.dayPeriod(dayPeriodEnumValue, {
|
||||
width: "narrow",
|
||||
context: "formatting",
|
||||
});
|
||||
case "BBBB":
|
||||
default:
|
||||
return localize.dayPeriod(dayPeriodEnumValue, {
|
||||
width: "wide",
|
||||
context: "formatting",
|
||||
});
|
||||
}
|
||||
},
|
||||
|
||||
// Hour [1-12]
|
||||
h: function (date, token, localize) {
|
||||
if (token === "ho") {
|
||||
let hours = date.getHours() % 12;
|
||||
if (hours === 0) hours = 12;
|
||||
return localize.ordinalNumber(hours, { unit: "hour" });
|
||||
}
|
||||
|
||||
return lightFormatters.h(date, token);
|
||||
},
|
||||
|
||||
// Hour [0-23]
|
||||
H: function (date, token, localize) {
|
||||
if (token === "Ho") {
|
||||
return localize.ordinalNumber(date.getHours(), { unit: "hour" });
|
||||
}
|
||||
|
||||
return lightFormatters.H(date, token);
|
||||
},
|
||||
|
||||
// Hour [0-11]
|
||||
K: function (date, token, localize) {
|
||||
const hours = date.getHours() % 12;
|
||||
|
||||
if (token === "Ko") {
|
||||
return localize.ordinalNumber(hours, { unit: "hour" });
|
||||
}
|
||||
|
||||
return addLeadingZeros(hours, token.length);
|
||||
},
|
||||
|
||||
// Hour [1-24]
|
||||
k: function (date, token, localize) {
|
||||
let hours = date.getHours();
|
||||
if (hours === 0) hours = 24;
|
||||
|
||||
if (token === "ko") {
|
||||
return localize.ordinalNumber(hours, { unit: "hour" });
|
||||
}
|
||||
|
||||
return addLeadingZeros(hours, token.length);
|
||||
},
|
||||
|
||||
// Minute
|
||||
m: function (date, token, localize) {
|
||||
if (token === "mo") {
|
||||
return localize.ordinalNumber(date.getMinutes(), { unit: "minute" });
|
||||
}
|
||||
|
||||
return lightFormatters.m(date, token);
|
||||
},
|
||||
|
||||
// Second
|
||||
s: function (date, token, localize) {
|
||||
if (token === "so") {
|
||||
return localize.ordinalNumber(date.getSeconds(), { unit: "second" });
|
||||
}
|
||||
|
||||
return lightFormatters.s(date, token);
|
||||
},
|
||||
|
||||
// Fraction of second
|
||||
S: function (date, token) {
|
||||
return lightFormatters.S(date, token);
|
||||
},
|
||||
|
||||
// Timezone (ISO-8601. If offset is 0, output is always `'Z'`)
|
||||
X: function (date, token, _localize) {
|
||||
const timezoneOffset = date.getTimezoneOffset();
|
||||
|
||||
if (timezoneOffset === 0) {
|
||||
return "Z";
|
||||
}
|
||||
|
||||
switch (token) {
|
||||
// Hours and optional minutes
|
||||
case "X":
|
||||
return formatTimezoneWithOptionalMinutes(timezoneOffset);
|
||||
|
||||
// Hours, minutes and optional seconds without `:` delimiter
|
||||
// Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets
|
||||
// so this token always has the same output as `XX`
|
||||
case "XXXX":
|
||||
case "XX": // Hours and minutes without `:` delimiter
|
||||
return formatTimezone(timezoneOffset);
|
||||
|
||||
// Hours, minutes and optional seconds with `:` delimiter
|
||||
// Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets
|
||||
// so this token always has the same output as `XXX`
|
||||
case "XXXXX":
|
||||
case "XXX": // Hours and minutes with `:` delimiter
|
||||
default:
|
||||
return formatTimezone(timezoneOffset, ":");
|
||||
}
|
||||
},
|
||||
|
||||
// Timezone (ISO-8601. If offset is 0, output is `'+00:00'` or equivalent)
|
||||
x: function (date, token, _localize) {
|
||||
const timezoneOffset = date.getTimezoneOffset();
|
||||
|
||||
switch (token) {
|
||||
// Hours and optional minutes
|
||||
case "x":
|
||||
return formatTimezoneWithOptionalMinutes(timezoneOffset);
|
||||
|
||||
// Hours, minutes and optional seconds without `:` delimiter
|
||||
// Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets
|
||||
// so this token always has the same output as `xx`
|
||||
case "xxxx":
|
||||
case "xx": // Hours and minutes without `:` delimiter
|
||||
return formatTimezone(timezoneOffset);
|
||||
|
||||
// Hours, minutes and optional seconds with `:` delimiter
|
||||
// Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets
|
||||
// so this token always has the same output as `xxx`
|
||||
case "xxxxx":
|
||||
case "xxx": // Hours and minutes with `:` delimiter
|
||||
default:
|
||||
return formatTimezone(timezoneOffset, ":");
|
||||
}
|
||||
},
|
||||
|
||||
// Timezone (GMT)
|
||||
O: function (date, token, _localize) {
|
||||
const timezoneOffset = date.getTimezoneOffset();
|
||||
|
||||
switch (token) {
|
||||
// Short
|
||||
case "O":
|
||||
case "OO":
|
||||
case "OOO":
|
||||
return "GMT" + formatTimezoneShort(timezoneOffset, ":");
|
||||
// Long
|
||||
case "OOOO":
|
||||
default:
|
||||
return "GMT" + formatTimezone(timezoneOffset, ":");
|
||||
}
|
||||
},
|
||||
|
||||
// Timezone (specific non-location)
|
||||
z: function (date, token, _localize) {
|
||||
const timezoneOffset = date.getTimezoneOffset();
|
||||
|
||||
switch (token) {
|
||||
// Short
|
||||
case "z":
|
||||
case "zz":
|
||||
case "zzz":
|
||||
return "GMT" + formatTimezoneShort(timezoneOffset, ":");
|
||||
// Long
|
||||
case "zzzz":
|
||||
default:
|
||||
return "GMT" + formatTimezone(timezoneOffset, ":");
|
||||
}
|
||||
},
|
||||
|
||||
// Seconds timestamp
|
||||
t: function (date, token, _localize) {
|
||||
const timestamp = Math.trunc(+date / 1000);
|
||||
return addLeadingZeros(timestamp, token.length);
|
||||
},
|
||||
|
||||
// Milliseconds timestamp
|
||||
T: function (date, token, _localize) {
|
||||
return addLeadingZeros(+date, token.length);
|
||||
},
|
||||
};
|
||||
|
||||
function formatTimezoneShort(offset, delimiter = "") {
|
||||
const sign = offset > 0 ? "-" : "+";
|
||||
const absOffset = Math.abs(offset);
|
||||
const hours = Math.trunc(absOffset / 60);
|
||||
const minutes = absOffset % 60;
|
||||
if (minutes === 0) {
|
||||
return sign + String(hours);
|
||||
}
|
||||
return sign + String(hours) + delimiter + addLeadingZeros(minutes, 2);
|
||||
}
|
||||
|
||||
function formatTimezoneWithOptionalMinutes(offset, delimiter) {
|
||||
if (offset % 60 === 0) {
|
||||
const sign = offset > 0 ? "-" : "+";
|
||||
return sign + addLeadingZeros(Math.abs(offset) / 60, 2);
|
||||
}
|
||||
return formatTimezone(offset, delimiter);
|
||||
}
|
||||
|
||||
function formatTimezone(offset, delimiter = "") {
|
||||
const sign = offset > 0 ? "-" : "+";
|
||||
const absOffset = Math.abs(offset);
|
||||
const hours = addLeadingZeros(Math.trunc(absOffset / 60), 2);
|
||||
const minutes = addLeadingZeros(absOffset % 60, 2);
|
||||
return sign + hours + delimiter + minutes;
|
||||
}
|
102
node_modules/date-fns/_lib/format/lightFormatters.cjs
generated
vendored
Normal file
102
node_modules/date-fns/_lib/format/lightFormatters.cjs
generated
vendored
Normal file
@ -0,0 +1,102 @@
|
||||
"use strict";
|
||||
exports.lightFormatters = void 0;
|
||||
var _index = require("../addLeadingZeros.cjs");
|
||||
|
||||
/*
|
||||
* | | Unit | | Unit |
|
||||
* |-----|--------------------------------|-----|--------------------------------|
|
||||
* | a | AM, PM | A* | |
|
||||
* | d | Day of month | D | |
|
||||
* | h | Hour [1-12] | H | Hour [0-23] |
|
||||
* | m | Minute | M | Month |
|
||||
* | s | Second | S | Fraction of second |
|
||||
* | y | Year (abs) | Y | |
|
||||
*
|
||||
* Letters marked by * are not implemented but reserved by Unicode standard.
|
||||
*/
|
||||
|
||||
const lightFormatters = (exports.lightFormatters = {
|
||||
// Year
|
||||
y(date, token) {
|
||||
// From http://www.unicode.org/reports/tr35/tr35-31/tr35-dates.html#Date_Format_tokens
|
||||
// | Year | y | yy | yyy | yyyy | yyyyy |
|
||||
// |----------|-------|----|-------|-------|-------|
|
||||
// | AD 1 | 1 | 01 | 001 | 0001 | 00001 |
|
||||
// | AD 12 | 12 | 12 | 012 | 0012 | 00012 |
|
||||
// | AD 123 | 123 | 23 | 123 | 0123 | 00123 |
|
||||
// | AD 1234 | 1234 | 34 | 1234 | 1234 | 01234 |
|
||||
// | AD 12345 | 12345 | 45 | 12345 | 12345 | 12345 |
|
||||
|
||||
const signedYear = date.getFullYear();
|
||||
// Returns 1 for 1 BC (which is year 0 in JavaScript)
|
||||
const year = signedYear > 0 ? signedYear : 1 - signedYear;
|
||||
return (0, _index.addLeadingZeros)(
|
||||
token === "yy" ? year % 100 : year,
|
||||
token.length,
|
||||
);
|
||||
},
|
||||
|
||||
// Month
|
||||
M(date, token) {
|
||||
const month = date.getMonth();
|
||||
return token === "M"
|
||||
? String(month + 1)
|
||||
: (0, _index.addLeadingZeros)(month + 1, 2);
|
||||
},
|
||||
|
||||
// Day of the month
|
||||
d(date, token) {
|
||||
return (0, _index.addLeadingZeros)(date.getDate(), token.length);
|
||||
},
|
||||
|
||||
// AM or PM
|
||||
a(date, token) {
|
||||
const dayPeriodEnumValue = date.getHours() / 12 >= 1 ? "pm" : "am";
|
||||
|
||||
switch (token) {
|
||||
case "a":
|
||||
case "aa":
|
||||
return dayPeriodEnumValue.toUpperCase();
|
||||
case "aaa":
|
||||
return dayPeriodEnumValue;
|
||||
case "aaaaa":
|
||||
return dayPeriodEnumValue[0];
|
||||
case "aaaa":
|
||||
default:
|
||||
return dayPeriodEnumValue === "am" ? "a.m." : "p.m.";
|
||||
}
|
||||
},
|
||||
|
||||
// Hour [1-12]
|
||||
h(date, token) {
|
||||
return (0, _index.addLeadingZeros)(
|
||||
date.getHours() % 12 || 12,
|
||||
token.length,
|
||||
);
|
||||
},
|
||||
|
||||
// Hour [0-23]
|
||||
H(date, token) {
|
||||
return (0, _index.addLeadingZeros)(date.getHours(), token.length);
|
||||
},
|
||||
|
||||
// Minute
|
||||
m(date, token) {
|
||||
return (0, _index.addLeadingZeros)(date.getMinutes(), token.length);
|
||||
},
|
||||
|
||||
// Second
|
||||
s(date, token) {
|
||||
return (0, _index.addLeadingZeros)(date.getSeconds(), token.length);
|
||||
},
|
||||
|
||||
// Fraction of second
|
||||
S(date, token) {
|
||||
const numberOfDigits = token.length;
|
||||
const milliseconds = date.getMilliseconds();
|
||||
const fractionalSeconds = Math.trunc(
|
||||
milliseconds * Math.pow(10, numberOfDigits - 3),
|
||||
);
|
||||
return (0, _index.addLeadingZeros)(fractionalSeconds, token.length);
|
||||
},
|
||||
});
|
11
node_modules/date-fns/_lib/format/lightFormatters.d.cts
generated
vendored
Normal file
11
node_modules/date-fns/_lib/format/lightFormatters.d.cts
generated
vendored
Normal file
@ -0,0 +1,11 @@
|
||||
export declare const lightFormatters: {
|
||||
y(date: Date, token: string): string;
|
||||
M(date: Date, token: string): string;
|
||||
d(date: Date, token: string): string;
|
||||
a(date: Date, token: string): string;
|
||||
h(date: Date, token: string): string;
|
||||
H(date: Date, token: string): string;
|
||||
m(date: Date, token: string): string;
|
||||
s(date: Date, token: string): string;
|
||||
S(date: Date, token: string): string;
|
||||
};
|
11
node_modules/date-fns/_lib/format/lightFormatters.d.ts
generated
vendored
Normal file
11
node_modules/date-fns/_lib/format/lightFormatters.d.ts
generated
vendored
Normal file
@ -0,0 +1,11 @@
|
||||
export declare const lightFormatters: {
|
||||
y(date: Date, token: string): string;
|
||||
M(date: Date, token: string): string;
|
||||
d(date: Date, token: string): string;
|
||||
a(date: Date, token: string): string;
|
||||
h(date: Date, token: string): string;
|
||||
H(date: Date, token: string): string;
|
||||
m(date: Date, token: string): string;
|
||||
s(date: Date, token: string): string;
|
||||
S(date: Date, token: string): string;
|
||||
};
|
92
node_modules/date-fns/_lib/format/lightFormatters.js
generated
vendored
Normal file
92
node_modules/date-fns/_lib/format/lightFormatters.js
generated
vendored
Normal file
@ -0,0 +1,92 @@
|
||||
import { addLeadingZeros } from "../addLeadingZeros.js";
|
||||
|
||||
/*
|
||||
* | | Unit | | Unit |
|
||||
* |-----|--------------------------------|-----|--------------------------------|
|
||||
* | a | AM, PM | A* | |
|
||||
* | d | Day of month | D | |
|
||||
* | h | Hour [1-12] | H | Hour [0-23] |
|
||||
* | m | Minute | M | Month |
|
||||
* | s | Second | S | Fraction of second |
|
||||
* | y | Year (abs) | Y | |
|
||||
*
|
||||
* Letters marked by * are not implemented but reserved by Unicode standard.
|
||||
*/
|
||||
|
||||
export const lightFormatters = {
|
||||
// Year
|
||||
y(date, token) {
|
||||
// From http://www.unicode.org/reports/tr35/tr35-31/tr35-dates.html#Date_Format_tokens
|
||||
// | Year | y | yy | yyy | yyyy | yyyyy |
|
||||
// |----------|-------|----|-------|-------|-------|
|
||||
// | AD 1 | 1 | 01 | 001 | 0001 | 00001 |
|
||||
// | AD 12 | 12 | 12 | 012 | 0012 | 00012 |
|
||||
// | AD 123 | 123 | 23 | 123 | 0123 | 00123 |
|
||||
// | AD 1234 | 1234 | 34 | 1234 | 1234 | 01234 |
|
||||
// | AD 12345 | 12345 | 45 | 12345 | 12345 | 12345 |
|
||||
|
||||
const signedYear = date.getFullYear();
|
||||
// Returns 1 for 1 BC (which is year 0 in JavaScript)
|
||||
const year = signedYear > 0 ? signedYear : 1 - signedYear;
|
||||
return addLeadingZeros(token === "yy" ? year % 100 : year, token.length);
|
||||
},
|
||||
|
||||
// Month
|
||||
M(date, token) {
|
||||
const month = date.getMonth();
|
||||
return token === "M" ? String(month + 1) : addLeadingZeros(month + 1, 2);
|
||||
},
|
||||
|
||||
// Day of the month
|
||||
d(date, token) {
|
||||
return addLeadingZeros(date.getDate(), token.length);
|
||||
},
|
||||
|
||||
// AM or PM
|
||||
a(date, token) {
|
||||
const dayPeriodEnumValue = date.getHours() / 12 >= 1 ? "pm" : "am";
|
||||
|
||||
switch (token) {
|
||||
case "a":
|
||||
case "aa":
|
||||
return dayPeriodEnumValue.toUpperCase();
|
||||
case "aaa":
|
||||
return dayPeriodEnumValue;
|
||||
case "aaaaa":
|
||||
return dayPeriodEnumValue[0];
|
||||
case "aaaa":
|
||||
default:
|
||||
return dayPeriodEnumValue === "am" ? "a.m." : "p.m.";
|
||||
}
|
||||
},
|
||||
|
||||
// Hour [1-12]
|
||||
h(date, token) {
|
||||
return addLeadingZeros(date.getHours() % 12 || 12, token.length);
|
||||
},
|
||||
|
||||
// Hour [0-23]
|
||||
H(date, token) {
|
||||
return addLeadingZeros(date.getHours(), token.length);
|
||||
},
|
||||
|
||||
// Minute
|
||||
m(date, token) {
|
||||
return addLeadingZeros(date.getMinutes(), token.length);
|
||||
},
|
||||
|
||||
// Second
|
||||
s(date, token) {
|
||||
return addLeadingZeros(date.getSeconds(), token.length);
|
||||
},
|
||||
|
||||
// Fraction of second
|
||||
S(date, token) {
|
||||
const numberOfDigits = token.length;
|
||||
const milliseconds = date.getMilliseconds();
|
||||
const fractionalSeconds = Math.trunc(
|
||||
milliseconds * Math.pow(10, numberOfDigits - 3),
|
||||
);
|
||||
return addLeadingZeros(fractionalSeconds, token.length);
|
||||
},
|
||||
};
|
67
node_modules/date-fns/_lib/format/longFormatters.cjs
generated
vendored
Normal file
67
node_modules/date-fns/_lib/format/longFormatters.cjs
generated
vendored
Normal file
@ -0,0 +1,67 @@
|
||||
"use strict";
|
||||
exports.longFormatters = void 0;
|
||||
|
||||
const dateLongFormatter = (pattern, formatLong) => {
|
||||
switch (pattern) {
|
||||
case "P":
|
||||
return formatLong.date({ width: "short" });
|
||||
case "PP":
|
||||
return formatLong.date({ width: "medium" });
|
||||
case "PPP":
|
||||
return formatLong.date({ width: "long" });
|
||||
case "PPPP":
|
||||
default:
|
||||
return formatLong.date({ width: "full" });
|
||||
}
|
||||
};
|
||||
|
||||
const timeLongFormatter = (pattern, formatLong) => {
|
||||
switch (pattern) {
|
||||
case "p":
|
||||
return formatLong.time({ width: "short" });
|
||||
case "pp":
|
||||
return formatLong.time({ width: "medium" });
|
||||
case "ppp":
|
||||
return formatLong.time({ width: "long" });
|
||||
case "pppp":
|
||||
default:
|
||||
return formatLong.time({ width: "full" });
|
||||
}
|
||||
};
|
||||
|
||||
const dateTimeLongFormatter = (pattern, formatLong) => {
|
||||
const matchResult = pattern.match(/(P+)(p+)?/) || [];
|
||||
const datePattern = matchResult[1];
|
||||
const timePattern = matchResult[2];
|
||||
|
||||
if (!timePattern) {
|
||||
return dateLongFormatter(pattern, formatLong);
|
||||
}
|
||||
|
||||
let dateTimeFormat;
|
||||
|
||||
switch (datePattern) {
|
||||
case "P":
|
||||
dateTimeFormat = formatLong.dateTime({ width: "short" });
|
||||
break;
|
||||
case "PP":
|
||||
dateTimeFormat = formatLong.dateTime({ width: "medium" });
|
||||
break;
|
||||
case "PPP":
|
||||
dateTimeFormat = formatLong.dateTime({ width: "long" });
|
||||
break;
|
||||
case "PPPP":
|
||||
default:
|
||||
dateTimeFormat = formatLong.dateTime({ width: "full" });
|
||||
break;
|
||||
}
|
||||
|
||||
return dateTimeFormat
|
||||
.replace("{{date}}", dateLongFormatter(datePattern, formatLong))
|
||||
.replace("{{time}}", timeLongFormatter(timePattern, formatLong));
|
||||
};
|
||||
|
||||
const longFormatters = (exports.longFormatters = {
|
||||
p: timeLongFormatter,
|
||||
P: dateTimeLongFormatter,
|
||||
});
|
4
node_modules/date-fns/_lib/format/longFormatters.d.cts
generated
vendored
Normal file
4
node_modules/date-fns/_lib/format/longFormatters.d.cts
generated
vendored
Normal file
@ -0,0 +1,4 @@
|
||||
import type { FormatLong } from "../../locale/types.js";
|
||||
type LongFormatter = (pattern: string, formatLong: FormatLong) => string;
|
||||
export declare const longFormatters: Record<string, LongFormatter>;
|
||||
export {};
|
4
node_modules/date-fns/_lib/format/longFormatters.d.ts
generated
vendored
Normal file
4
node_modules/date-fns/_lib/format/longFormatters.d.ts
generated
vendored
Normal file
@ -0,0 +1,4 @@
|
||||
import type { FormatLong } from "../../locale/types.js";
|
||||
type LongFormatter = (pattern: string, formatLong: FormatLong) => string;
|
||||
export declare const longFormatters: Record<string, LongFormatter>;
|
||||
export {};
|
64
node_modules/date-fns/_lib/format/longFormatters.js
generated
vendored
Normal file
64
node_modules/date-fns/_lib/format/longFormatters.js
generated
vendored
Normal file
@ -0,0 +1,64 @@
|
||||
const dateLongFormatter = (pattern, formatLong) => {
|
||||
switch (pattern) {
|
||||
case "P":
|
||||
return formatLong.date({ width: "short" });
|
||||
case "PP":
|
||||
return formatLong.date({ width: "medium" });
|
||||
case "PPP":
|
||||
return formatLong.date({ width: "long" });
|
||||
case "PPPP":
|
||||
default:
|
||||
return formatLong.date({ width: "full" });
|
||||
}
|
||||
};
|
||||
|
||||
const timeLongFormatter = (pattern, formatLong) => {
|
||||
switch (pattern) {
|
||||
case "p":
|
||||
return formatLong.time({ width: "short" });
|
||||
case "pp":
|
||||
return formatLong.time({ width: "medium" });
|
||||
case "ppp":
|
||||
return formatLong.time({ width: "long" });
|
||||
case "pppp":
|
||||
default:
|
||||
return formatLong.time({ width: "full" });
|
||||
}
|
||||
};
|
||||
|
||||
const dateTimeLongFormatter = (pattern, formatLong) => {
|
||||
const matchResult = pattern.match(/(P+)(p+)?/) || [];
|
||||
const datePattern = matchResult[1];
|
||||
const timePattern = matchResult[2];
|
||||
|
||||
if (!timePattern) {
|
||||
return dateLongFormatter(pattern, formatLong);
|
||||
}
|
||||
|
||||
let dateTimeFormat;
|
||||
|
||||
switch (datePattern) {
|
||||
case "P":
|
||||
dateTimeFormat = formatLong.dateTime({ width: "short" });
|
||||
break;
|
||||
case "PP":
|
||||
dateTimeFormat = formatLong.dateTime({ width: "medium" });
|
||||
break;
|
||||
case "PPP":
|
||||
dateTimeFormat = formatLong.dateTime({ width: "long" });
|
||||
break;
|
||||
case "PPPP":
|
||||
default:
|
||||
dateTimeFormat = formatLong.dateTime({ width: "full" });
|
||||
break;
|
||||
}
|
||||
|
||||
return dateTimeFormat
|
||||
.replace("{{date}}", dateLongFormatter(datePattern, formatLong))
|
||||
.replace("{{time}}", timeLongFormatter(timePattern, formatLong));
|
||||
};
|
||||
|
||||
export const longFormatters = {
|
||||
p: timeLongFormatter,
|
||||
P: dateTimeLongFormatter,
|
||||
};
|
11
node_modules/date-fns/_lib/getRoundingMethod.cjs
generated
vendored
Normal file
11
node_modules/date-fns/_lib/getRoundingMethod.cjs
generated
vendored
Normal file
@ -0,0 +1,11 @@
|
||||
"use strict";
|
||||
exports.getRoundingMethod = getRoundingMethod;
|
||||
|
||||
function getRoundingMethod(method) {
|
||||
return (number) => {
|
||||
const round = method ? Math[method] : Math.trunc;
|
||||
const result = round(number);
|
||||
// Prevent negative zero
|
||||
return result === 0 ? 0 : result;
|
||||
};
|
||||
}
|
4
node_modules/date-fns/_lib/getRoundingMethod.d.cts
generated
vendored
Normal file
4
node_modules/date-fns/_lib/getRoundingMethod.d.cts
generated
vendored
Normal file
@ -0,0 +1,4 @@
|
||||
import type { RoundingMethod } from "../types.js";
|
||||
export declare function getRoundingMethod(
|
||||
method: RoundingMethod | undefined,
|
||||
): (number: number) => number;
|
4
node_modules/date-fns/_lib/getRoundingMethod.d.ts
generated
vendored
Normal file
4
node_modules/date-fns/_lib/getRoundingMethod.d.ts
generated
vendored
Normal file
@ -0,0 +1,4 @@
|
||||
import type { RoundingMethod } from "../types.js";
|
||||
export declare function getRoundingMethod(
|
||||
method: RoundingMethod | undefined,
|
||||
): (number: number) => number;
|
8
node_modules/date-fns/_lib/getRoundingMethod.js
generated
vendored
Normal file
8
node_modules/date-fns/_lib/getRoundingMethod.js
generated
vendored
Normal file
@ -0,0 +1,8 @@
|
||||
export function getRoundingMethod(method) {
|
||||
return (number) => {
|
||||
const round = method ? Math[method] : Math.trunc;
|
||||
const result = round(number);
|
||||
// Prevent negative zero
|
||||
return result === 0 ? 0 : result;
|
||||
};
|
||||
}
|
31
node_modules/date-fns/_lib/getTimezoneOffsetInMilliseconds.cjs
generated
vendored
Normal file
31
node_modules/date-fns/_lib/getTimezoneOffsetInMilliseconds.cjs
generated
vendored
Normal file
@ -0,0 +1,31 @@
|
||||
"use strict";
|
||||
exports.getTimezoneOffsetInMilliseconds = getTimezoneOffsetInMilliseconds;
|
||||
var _index = require("../toDate.cjs");
|
||||
|
||||
/**
|
||||
* Google Chrome as of 67.0.3396.87 introduced timezones with offset that includes seconds.
|
||||
* They usually appear for dates that denote time before the timezones were introduced
|
||||
* (e.g. for 'Europe/Prague' timezone the offset is GMT+00:57:44 before 1 October 1891
|
||||
* and GMT+01:00:00 after that date)
|
||||
*
|
||||
* Date#getTimezoneOffset returns the offset in minutes and would return 57 for the example above,
|
||||
* which would lead to incorrect calculations.
|
||||
*
|
||||
* This function returns the timezone offset in milliseconds that takes seconds in account.
|
||||
*/
|
||||
function getTimezoneOffsetInMilliseconds(date) {
|
||||
const _date = (0, _index.toDate)(date);
|
||||
const utcDate = new Date(
|
||||
Date.UTC(
|
||||
_date.getFullYear(),
|
||||
_date.getMonth(),
|
||||
_date.getDate(),
|
||||
_date.getHours(),
|
||||
_date.getMinutes(),
|
||||
_date.getSeconds(),
|
||||
_date.getMilliseconds(),
|
||||
),
|
||||
);
|
||||
utcDate.setUTCFullYear(_date.getFullYear());
|
||||
return +date - +utcDate;
|
||||
}
|
15
node_modules/date-fns/_lib/getTimezoneOffsetInMilliseconds.d.cts
generated
vendored
Normal file
15
node_modules/date-fns/_lib/getTimezoneOffsetInMilliseconds.d.cts
generated
vendored
Normal file
@ -0,0 +1,15 @@
|
||||
import type { DateArg } from "../types.js";
|
||||
/**
|
||||
* Google Chrome as of 67.0.3396.87 introduced timezones with offset that includes seconds.
|
||||
* They usually appear for dates that denote time before the timezones were introduced
|
||||
* (e.g. for 'Europe/Prague' timezone the offset is GMT+00:57:44 before 1 October 1891
|
||||
* and GMT+01:00:00 after that date)
|
||||
*
|
||||
* Date#getTimezoneOffset returns the offset in minutes and would return 57 for the example above,
|
||||
* which would lead to incorrect calculations.
|
||||
*
|
||||
* This function returns the timezone offset in milliseconds that takes seconds in account.
|
||||
*/
|
||||
export declare function getTimezoneOffsetInMilliseconds(
|
||||
date: DateArg<Date> & {},
|
||||
): number;
|
15
node_modules/date-fns/_lib/getTimezoneOffsetInMilliseconds.d.ts
generated
vendored
Normal file
15
node_modules/date-fns/_lib/getTimezoneOffsetInMilliseconds.d.ts
generated
vendored
Normal file
@ -0,0 +1,15 @@
|
||||
import type { DateArg } from "../types.js";
|
||||
/**
|
||||
* Google Chrome as of 67.0.3396.87 introduced timezones with offset that includes seconds.
|
||||
* They usually appear for dates that denote time before the timezones were introduced
|
||||
* (e.g. for 'Europe/Prague' timezone the offset is GMT+00:57:44 before 1 October 1891
|
||||
* and GMT+01:00:00 after that date)
|
||||
*
|
||||
* Date#getTimezoneOffset returns the offset in minutes and would return 57 for the example above,
|
||||
* which would lead to incorrect calculations.
|
||||
*
|
||||
* This function returns the timezone offset in milliseconds that takes seconds in account.
|
||||
*/
|
||||
export declare function getTimezoneOffsetInMilliseconds(
|
||||
date: DateArg<Date> & {},
|
||||
): number;
|
29
node_modules/date-fns/_lib/getTimezoneOffsetInMilliseconds.js
generated
vendored
Normal file
29
node_modules/date-fns/_lib/getTimezoneOffsetInMilliseconds.js
generated
vendored
Normal file
@ -0,0 +1,29 @@
|
||||
import { toDate } from "../toDate.js";
|
||||
|
||||
/**
|
||||
* Google Chrome as of 67.0.3396.87 introduced timezones with offset that includes seconds.
|
||||
* They usually appear for dates that denote time before the timezones were introduced
|
||||
* (e.g. for 'Europe/Prague' timezone the offset is GMT+00:57:44 before 1 October 1891
|
||||
* and GMT+01:00:00 after that date)
|
||||
*
|
||||
* Date#getTimezoneOffset returns the offset in minutes and would return 57 for the example above,
|
||||
* which would lead to incorrect calculations.
|
||||
*
|
||||
* This function returns the timezone offset in milliseconds that takes seconds in account.
|
||||
*/
|
||||
export function getTimezoneOffsetInMilliseconds(date) {
|
||||
const _date = toDate(date);
|
||||
const utcDate = new Date(
|
||||
Date.UTC(
|
||||
_date.getFullYear(),
|
||||
_date.getMonth(),
|
||||
_date.getDate(),
|
||||
_date.getHours(),
|
||||
_date.getMinutes(),
|
||||
_date.getSeconds(),
|
||||
_date.getMilliseconds(),
|
||||
),
|
||||
);
|
||||
utcDate.setUTCFullYear(_date.getFullYear());
|
||||
return +date - +utcDate;
|
||||
}
|
11
node_modules/date-fns/_lib/normalizeDates.cjs
generated
vendored
Normal file
11
node_modules/date-fns/_lib/normalizeDates.cjs
generated
vendored
Normal file
@ -0,0 +1,11 @@
|
||||
"use strict";
|
||||
exports.normalizeDates = normalizeDates;
|
||||
var _index = require("../constructFrom.cjs");
|
||||
|
||||
function normalizeDates(context, ...dates) {
|
||||
const normalize = _index.constructFrom.bind(
|
||||
null,
|
||||
context || dates.find((date) => typeof date === "object"),
|
||||
);
|
||||
return dates.map(normalize);
|
||||
}
|
13
node_modules/date-fns/_lib/normalizeDates.d.cts
generated
vendored
Normal file
13
node_modules/date-fns/_lib/normalizeDates.d.cts
generated
vendored
Normal file
@ -0,0 +1,13 @@
|
||||
import type { ContextFn, DateArg } from "../types.js";
|
||||
export declare function normalizeDates(
|
||||
context: ContextFn<Date> | undefined,
|
||||
...dates: [DateArg<Date>, DateArg<Date>, DateArg<Date>]
|
||||
): [Date, Date, Date];
|
||||
export declare function normalizeDates(
|
||||
context: ContextFn<Date> | undefined,
|
||||
...dates: [DateArg<Date>, DateArg<Date>]
|
||||
): [Date, Date];
|
||||
export declare function normalizeDates(
|
||||
context: ContextFn<Date> | undefined,
|
||||
...dates: Array<DateArg<Date> & {}>
|
||||
): Date[];
|
13
node_modules/date-fns/_lib/normalizeDates.d.ts
generated
vendored
Normal file
13
node_modules/date-fns/_lib/normalizeDates.d.ts
generated
vendored
Normal file
@ -0,0 +1,13 @@
|
||||
import type { ContextFn, DateArg } from "../types.js";
|
||||
export declare function normalizeDates(
|
||||
context: ContextFn<Date> | undefined,
|
||||
...dates: [DateArg<Date>, DateArg<Date>, DateArg<Date>]
|
||||
): [Date, Date, Date];
|
||||
export declare function normalizeDates(
|
||||
context: ContextFn<Date> | undefined,
|
||||
...dates: [DateArg<Date>, DateArg<Date>]
|
||||
): [Date, Date];
|
||||
export declare function normalizeDates(
|
||||
context: ContextFn<Date> | undefined,
|
||||
...dates: Array<DateArg<Date> & {}>
|
||||
): Date[];
|
9
node_modules/date-fns/_lib/normalizeDates.js
generated
vendored
Normal file
9
node_modules/date-fns/_lib/normalizeDates.js
generated
vendored
Normal file
@ -0,0 +1,9 @@
|
||||
import { constructFrom } from "../constructFrom.js";
|
||||
|
||||
export function normalizeDates(context, ...dates) {
|
||||
const normalize = constructFrom.bind(
|
||||
null,
|
||||
context || dates.find((date) => typeof date === "object"),
|
||||
);
|
||||
return dates.map(normalize);
|
||||
}
|
12
node_modules/date-fns/_lib/normalizeInterval.cjs
generated
vendored
Normal file
12
node_modules/date-fns/_lib/normalizeInterval.cjs
generated
vendored
Normal file
@ -0,0 +1,12 @@
|
||||
"use strict";
|
||||
exports.normalizeInterval = normalizeInterval;
|
||||
var _index = require("./normalizeDates.cjs");
|
||||
|
||||
function normalizeInterval(context, interval) {
|
||||
const [start, end] = (0, _index.normalizeDates)(
|
||||
context,
|
||||
interval.start,
|
||||
interval.end,
|
||||
);
|
||||
return { start, end };
|
||||
}
|
5
node_modules/date-fns/_lib/normalizeInterval.d.cts
generated
vendored
Normal file
5
node_modules/date-fns/_lib/normalizeInterval.d.cts
generated
vendored
Normal file
@ -0,0 +1,5 @@
|
||||
import type { ContextFn, Interval, NormalizedInterval } from "../types.js";
|
||||
export declare function normalizeInterval(
|
||||
context: ContextFn<Date> | undefined,
|
||||
interval: Interval,
|
||||
): NormalizedInterval<Date>;
|
5
node_modules/date-fns/_lib/normalizeInterval.d.ts
generated
vendored
Normal file
5
node_modules/date-fns/_lib/normalizeInterval.d.ts
generated
vendored
Normal file
@ -0,0 +1,5 @@
|
||||
import type { ContextFn, Interval, NormalizedInterval } from "../types.js";
|
||||
export declare function normalizeInterval(
|
||||
context: ContextFn<Date> | undefined,
|
||||
interval: Interval,
|
||||
): NormalizedInterval<Date>;
|
6
node_modules/date-fns/_lib/normalizeInterval.js
generated
vendored
Normal file
6
node_modules/date-fns/_lib/normalizeInterval.js
generated
vendored
Normal file
@ -0,0 +1,6 @@
|
||||
import { normalizeDates } from "./normalizeDates.js";
|
||||
|
||||
export function normalizeInterval(context, interval) {
|
||||
const [start, end] = normalizeDates(context, interval.start, interval.end);
|
||||
return { start, end };
|
||||
}
|
27
node_modules/date-fns/_lib/protectedTokens.cjs
generated
vendored
Normal file
27
node_modules/date-fns/_lib/protectedTokens.cjs
generated
vendored
Normal file
@ -0,0 +1,27 @@
|
||||
"use strict";
|
||||
exports.isProtectedDayOfYearToken = isProtectedDayOfYearToken;
|
||||
exports.isProtectedWeekYearToken = isProtectedWeekYearToken;
|
||||
exports.warnOrThrowProtectedError = warnOrThrowProtectedError;
|
||||
const dayOfYearTokenRE = /^D+$/;
|
||||
const weekYearTokenRE = /^Y+$/;
|
||||
|
||||
const throwTokens = ["D", "DD", "YY", "YYYY"];
|
||||
|
||||
function isProtectedDayOfYearToken(token) {
|
||||
return dayOfYearTokenRE.test(token);
|
||||
}
|
||||
|
||||
function isProtectedWeekYearToken(token) {
|
||||
return weekYearTokenRE.test(token);
|
||||
}
|
||||
|
||||
function warnOrThrowProtectedError(token, format, input) {
|
||||
const _message = message(token, format, input);
|
||||
console.warn(_message);
|
||||
if (throwTokens.includes(token)) throw new RangeError(_message);
|
||||
}
|
||||
|
||||
function message(token, format, input) {
|
||||
const subject = token[0] === "Y" ? "years" : "days of the month";
|
||||
return `Use \`${token.toLowerCase()}\` instead of \`${token}\` (in \`${format}\`) for formatting ${subject} to the input \`${input}\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`;
|
||||
}
|
7
node_modules/date-fns/_lib/protectedTokens.d.cts
generated
vendored
Normal file
7
node_modules/date-fns/_lib/protectedTokens.d.cts
generated
vendored
Normal file
@ -0,0 +1,7 @@
|
||||
export declare function isProtectedDayOfYearToken(token: string): boolean;
|
||||
export declare function isProtectedWeekYearToken(token: string): boolean;
|
||||
export declare function warnOrThrowProtectedError(
|
||||
token: string,
|
||||
format: string,
|
||||
input: string,
|
||||
): void;
|
7
node_modules/date-fns/_lib/protectedTokens.d.ts
generated
vendored
Normal file
7
node_modules/date-fns/_lib/protectedTokens.d.ts
generated
vendored
Normal file
@ -0,0 +1,7 @@
|
||||
export declare function isProtectedDayOfYearToken(token: string): boolean;
|
||||
export declare function isProtectedWeekYearToken(token: string): boolean;
|
||||
export declare function warnOrThrowProtectedError(
|
||||
token: string,
|
||||
format: string,
|
||||
input: string,
|
||||
): void;
|
23
node_modules/date-fns/_lib/protectedTokens.js
generated
vendored
Normal file
23
node_modules/date-fns/_lib/protectedTokens.js
generated
vendored
Normal file
@ -0,0 +1,23 @@
|
||||
const dayOfYearTokenRE = /^D+$/;
|
||||
const weekYearTokenRE = /^Y+$/;
|
||||
|
||||
const throwTokens = ["D", "DD", "YY", "YYYY"];
|
||||
|
||||
export function isProtectedDayOfYearToken(token) {
|
||||
return dayOfYearTokenRE.test(token);
|
||||
}
|
||||
|
||||
export function isProtectedWeekYearToken(token) {
|
||||
return weekYearTokenRE.test(token);
|
||||
}
|
||||
|
||||
export function warnOrThrowProtectedError(token, format, input) {
|
||||
const _message = message(token, format, input);
|
||||
console.warn(_message);
|
||||
if (throwTokens.includes(token)) throw new RangeError(_message);
|
||||
}
|
||||
|
||||
function message(token, format, input) {
|
||||
const subject = token[0] === "Y" ? "years" : "days of the month";
|
||||
return `Use \`${token.toLowerCase()}\` instead of \`${token}\` (in \`${format}\`) for formatting ${subject} to the input \`${input}\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`;
|
||||
}
|
59
node_modules/date-fns/_lib/test.cjs
generated
vendored
Normal file
59
node_modules/date-fns/_lib/test.cjs
generated
vendored
Normal file
@ -0,0 +1,59 @@
|
||||
"use strict";
|
||||
exports.assertType = assertType;
|
||||
exports.fakeDate = fakeDate;
|
||||
exports.generateOffset = generateOffset;
|
||||
exports.resetDefaultOptions = resetDefaultOptions;
|
||||
var _vitest = require("./test/vitest");
|
||||
var _index = require("./addLeadingZeros.cjs");
|
||||
var _index2 = require("./defaultOptions.cjs");
|
||||
var _sinon = require("./test/sinon");
|
||||
|
||||
function assertType(_value) {}
|
||||
|
||||
function resetDefaultOptions() {
|
||||
(0, _index2.setDefaultOptions)({});
|
||||
}
|
||||
|
||||
// This makes sure we create the consistent offsets across timezones, no matter where these tests are ran.
|
||||
function generateOffset(originalDate) {
|
||||
// Add the timezone.
|
||||
let offset = "";
|
||||
const tzOffset = originalDate.getTimezoneOffset();
|
||||
|
||||
if (tzOffset !== 0) {
|
||||
const absoluteOffset = Math.abs(tzOffset);
|
||||
const hourOffset = (0, _index.addLeadingZeros)(
|
||||
Math.trunc(absoluteOffset / 60),
|
||||
2,
|
||||
);
|
||||
const minuteOffset = (0, _index.addLeadingZeros)(absoluteOffset % 60, 2);
|
||||
// If less than 0, the sign is +, because it is ahead of time.
|
||||
const sign = tzOffset < 0 ? "+" : "-";
|
||||
|
||||
offset = `${sign}${hourOffset}:${minuteOffset}`;
|
||||
} else {
|
||||
offset = "Z";
|
||||
}
|
||||
|
||||
return offset;
|
||||
}
|
||||
|
||||
function fakeDate(date) {
|
||||
let clock;
|
||||
|
||||
function fakeNow(date) {
|
||||
clock?.restore();
|
||||
clock = _sinon.default.useFakeTimers(+date);
|
||||
}
|
||||
|
||||
(0, _vitest.beforeEach)(() => {
|
||||
fakeNow(+date);
|
||||
});
|
||||
|
||||
(0, _vitest.afterEach)(() => {
|
||||
clock?.restore();
|
||||
clock = undefined;
|
||||
});
|
||||
|
||||
return { fakeNow };
|
||||
}
|
14
node_modules/date-fns/_lib/test.d.cts
generated
vendored
Normal file
14
node_modules/date-fns/_lib/test.d.cts
generated
vendored
Normal file
@ -0,0 +1,14 @@
|
||||
export declare function assertType<Type>(_value: Type): void;
|
||||
export declare namespace assertType {
|
||||
type Equal<T, U> =
|
||||
Exclude<T, U> extends never
|
||||
? Exclude<U, T> extends never
|
||||
? true
|
||||
: false
|
||||
: false;
|
||||
}
|
||||
export declare function resetDefaultOptions(): void;
|
||||
export declare function generateOffset(originalDate: Date): string;
|
||||
export declare function fakeDate(date: number | Date): {
|
||||
fakeNow: (date: number | Date) => void;
|
||||
};
|
14
node_modules/date-fns/_lib/test.d.ts
generated
vendored
Normal file
14
node_modules/date-fns/_lib/test.d.ts
generated
vendored
Normal file
@ -0,0 +1,14 @@
|
||||
export declare function assertType<Type>(_value: Type): void;
|
||||
export declare namespace assertType {
|
||||
type Equal<T, U> =
|
||||
Exclude<T, U> extends never
|
||||
? Exclude<U, T> extends never
|
||||
? true
|
||||
: false
|
||||
: false;
|
||||
}
|
||||
export declare function resetDefaultOptions(): void;
|
||||
export declare function generateOffset(originalDate: Date): string;
|
||||
export declare function fakeDate(date: number | Date): {
|
||||
fakeNow: (date: number | Date) => void;
|
||||
};
|
51
node_modules/date-fns/_lib/test.js
generated
vendored
Normal file
51
node_modules/date-fns/_lib/test.js
generated
vendored
Normal file
@ -0,0 +1,51 @@
|
||||
import { afterEach, beforeEach } from "./test/vitest";
|
||||
import { addLeadingZeros } from "./addLeadingZeros.js";
|
||||
import { setDefaultOptions } from "./defaultOptions.js";
|
||||
import sinon from "./test/sinon";
|
||||
|
||||
export function assertType(_value) {}
|
||||
|
||||
export function resetDefaultOptions() {
|
||||
setDefaultOptions({});
|
||||
}
|
||||
|
||||
// This makes sure we create the consistent offsets across timezones, no matter where these tests are ran.
|
||||
export function generateOffset(originalDate) {
|
||||
// Add the timezone.
|
||||
let offset = "";
|
||||
const tzOffset = originalDate.getTimezoneOffset();
|
||||
|
||||
if (tzOffset !== 0) {
|
||||
const absoluteOffset = Math.abs(tzOffset);
|
||||
const hourOffset = addLeadingZeros(Math.trunc(absoluteOffset / 60), 2);
|
||||
const minuteOffset = addLeadingZeros(absoluteOffset % 60, 2);
|
||||
// If less than 0, the sign is +, because it is ahead of time.
|
||||
const sign = tzOffset < 0 ? "+" : "-";
|
||||
|
||||
offset = `${sign}${hourOffset}:${minuteOffset}`;
|
||||
} else {
|
||||
offset = "Z";
|
||||
}
|
||||
|
||||
return offset;
|
||||
}
|
||||
|
||||
export function fakeDate(date) {
|
||||
let clock;
|
||||
|
||||
function fakeNow(date) {
|
||||
clock?.restore();
|
||||
clock = sinon.useFakeTimers(+date);
|
||||
}
|
||||
|
||||
beforeEach(() => {
|
||||
fakeNow(+date);
|
||||
});
|
||||
|
||||
afterEach(() => {
|
||||
clock?.restore();
|
||||
clock = undefined;
|
||||
});
|
||||
|
||||
return { fakeNow };
|
||||
}
|
Reference in New Issue
Block a user