mirror of
https://github.com/mosip/inji-wallet.git
synced 2026-01-07 20:53:54 -05:00
fix(#223): [Bhargavi|Pooja] add filipino locale to date-fns using patch-package
This commit is contained in:
@@ -2,7 +2,7 @@ import React from 'react';
|
||||
import { formatDistanceToNow } from 'date-fns';
|
||||
import { useTranslation } from 'react-i18next';
|
||||
|
||||
import * as DateFnsLocale from '../lib/date-fns/locale';
|
||||
import * as DateFnsLocale from 'date-fns/locale';
|
||||
import { ActivityLog } from '../machines/activityLog';
|
||||
import { TextItem } from './ui/TextItem';
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { formatDistanceToNow } from 'date-fns';
|
||||
import React from 'react';
|
||||
import * as DateFnsLocale from '../lib/date-fns/locale';
|
||||
import * as DateFnsLocale from 'date-fns/locale';
|
||||
import { useTranslation } from 'react-i18next';
|
||||
import { Image, ImageBackground, View } from 'react-native';
|
||||
import { Icon } from 'react-native-elements';
|
||||
|
||||
@@ -1,23 +0,0 @@
|
||||
import type { FormatLongFn, FormatLongWidth } from '../../types';
|
||||
|
||||
export interface BuildFormatLongFnArgs<
|
||||
DefaultMatchWidth extends FormatLongWidth
|
||||
> {
|
||||
formats: Partial<{ [format in FormatLongWidth]: string }> & {
|
||||
[format in DefaultMatchWidth]: string;
|
||||
};
|
||||
defaultWidth: DefaultMatchWidth;
|
||||
}
|
||||
|
||||
export default function buildFormatLongFn<
|
||||
DefaultMatchWidth extends FormatLongWidth
|
||||
>(args: BuildFormatLongFnArgs<DefaultMatchWidth>): FormatLongFn {
|
||||
return (options = {}) => {
|
||||
// TODO: Remove String()
|
||||
const width = options.width
|
||||
? (String(options.width) as FormatLongWidth)
|
||||
: args.defaultWidth;
|
||||
const format = args.formats[width] || args.formats[args.defaultWidth];
|
||||
return format;
|
||||
};
|
||||
}
|
||||
@@ -1,120 +0,0 @@
|
||||
import type { Era, Quarter, Month, Day } from '../../../types';
|
||||
import type {
|
||||
LocaleDayPeriod,
|
||||
LocalePatternWidth,
|
||||
LocaleUnit,
|
||||
LocalizeFn,
|
||||
LocalizeUnitIndex,
|
||||
} from '../../types';
|
||||
|
||||
type LocalizeEraValues = readonly [string, string];
|
||||
|
||||
type LocalizeQuarterValues = readonly [string, string, string, string];
|
||||
|
||||
type LocalizeDayValues = readonly [
|
||||
string,
|
||||
string,
|
||||
string,
|
||||
string,
|
||||
string,
|
||||
string,
|
||||
string
|
||||
];
|
||||
|
||||
type LocalizeMonthValues = readonly [
|
||||
string,
|
||||
string,
|
||||
string,
|
||||
string,
|
||||
string,
|
||||
string,
|
||||
string,
|
||||
string,
|
||||
string,
|
||||
string,
|
||||
string,
|
||||
string
|
||||
];
|
||||
|
||||
export type LocalizeUnitValuesIndex<Values extends LocalizeUnitValues<any>> =
|
||||
Values extends Record<LocaleDayPeriod, string>
|
||||
? string
|
||||
: Values extends LocalizeEraValues
|
||||
? Era
|
||||
: Values extends LocalizeQuarterValues
|
||||
? Quarter
|
||||
: Values extends LocalizeDayValues
|
||||
? Day
|
||||
: Values extends LocalizeMonthValues
|
||||
? Month
|
||||
: never;
|
||||
|
||||
export type LocalizeUnitValues<Unit extends LocaleUnit> =
|
||||
Unit extends LocaleDayPeriod
|
||||
? Record<LocaleDayPeriod, string>
|
||||
: Unit extends Era
|
||||
? LocalizeEraValues
|
||||
: Unit extends Quarter
|
||||
? LocalizeQuarterValues
|
||||
: Unit extends Day
|
||||
? LocalizeDayValues
|
||||
: Unit extends Month
|
||||
? LocalizeMonthValues
|
||||
: never;
|
||||
|
||||
export type LocalizePeriodValuesMap<Unit extends LocaleUnit> = {
|
||||
[pattern in LocalePatternWidth]?: LocalizeUnitValues<Unit>;
|
||||
};
|
||||
|
||||
export type BuildLocalizeFnArgCallback<Result extends LocaleUnit | number> = (
|
||||
value: Result
|
||||
) => LocalizeUnitIndex<Result>;
|
||||
|
||||
export type BuildLocalizeFnArgs<
|
||||
Result extends LocaleUnit,
|
||||
ArgCallback extends BuildLocalizeFnArgCallback<Result> | undefined
|
||||
> = {
|
||||
values: LocalizePeriodValuesMap<Result>;
|
||||
defaultWidth: LocalePatternWidth;
|
||||
formattingValues?: LocalizePeriodValuesMap<Result>;
|
||||
defaultFormattingWidth?: LocalePatternWidth;
|
||||
} & (ArgCallback extends undefined
|
||||
? { argumentCallback?: undefined }
|
||||
: { argumentCallback: BuildLocalizeFnArgCallback<Result> });
|
||||
|
||||
export default function buildLocalizeFn<
|
||||
Result extends LocaleUnit,
|
||||
ArgCallback extends BuildLocalizeFnArgCallback<Result> | undefined
|
||||
>(
|
||||
args: BuildLocalizeFnArgs<Result, ArgCallback>
|
||||
): LocalizeFn<Result, ArgCallback> {
|
||||
return (dirtyIndex, dirtyOptions) => {
|
||||
const options = dirtyOptions || {};
|
||||
|
||||
const context = options.context ? String(options.context) : 'standalone';
|
||||
|
||||
let valuesArray: LocalizeUnitValues<Result>;
|
||||
if (context === 'formatting' && args.formattingValues) {
|
||||
const defaultWidth = args.defaultFormattingWidth || args.defaultWidth;
|
||||
const width = (
|
||||
options.width ? String(options.width) : defaultWidth
|
||||
) as LocalePatternWidth;
|
||||
valuesArray = (args.formattingValues[width] ||
|
||||
args.formattingValues[defaultWidth]) as LocalizeUnitValues<Result>;
|
||||
} else {
|
||||
const defaultWidth = args.defaultWidth;
|
||||
const width = (
|
||||
options.width ? String(options.width) : args.defaultWidth
|
||||
) as LocalePatternWidth;
|
||||
valuesArray = (args.values[width] ||
|
||||
args.values[defaultWidth]) as LocalizeUnitValues<Result>;
|
||||
}
|
||||
const index = (
|
||||
args.argumentCallback
|
||||
? args.argumentCallback(dirtyIndex as Result)
|
||||
: (dirtyIndex as LocalizeUnitIndex<Result> as unknown)
|
||||
) as LocalizeUnitValuesIndex<typeof valuesArray>;
|
||||
// @ts-ignore: For some reason TypeScript just don't want to match it, no matter how hard we try. I challenge you to try to remove it!
|
||||
return valuesArray[index];
|
||||
};
|
||||
}
|
||||
@@ -1,72 +0,0 @@
|
||||
import type {
|
||||
BuildMatchFnArgs,
|
||||
LocaleDayPeriod,
|
||||
LocaleUnit,
|
||||
LocalePatternWidth,
|
||||
MatchFn,
|
||||
} from '../../types';
|
||||
|
||||
export default function buildMatchFn<
|
||||
Result extends LocaleUnit,
|
||||
DefaultMatchWidth extends LocalePatternWidth,
|
||||
DefaultParseWidth extends LocalePatternWidth
|
||||
>(
|
||||
args: BuildMatchFnArgs<Result, DefaultMatchWidth, DefaultParseWidth>
|
||||
): MatchFn<Result> {
|
||||
return (string, options = {}) => {
|
||||
const width = options.width;
|
||||
|
||||
const matchPattern =
|
||||
(width && args.matchPatterns[width]) ||
|
||||
args.matchPatterns[args.defaultMatchWidth];
|
||||
const matchResult = string.match(matchPattern);
|
||||
|
||||
if (!matchResult) {
|
||||
return null;
|
||||
}
|
||||
const matchedString = matchResult[0];
|
||||
|
||||
const parsePatterns =
|
||||
(width && args.parsePatterns[width]) ||
|
||||
args.parsePatterns[args.defaultParseWidth];
|
||||
|
||||
const key = (
|
||||
Array.isArray(parsePatterns)
|
||||
? findIndex(parsePatterns, (pattern) => pattern.test(matchedString))
|
||||
: findKey(parsePatterns, (pattern: any) => pattern.test(matchedString))
|
||||
) as Result extends LocaleDayPeriod ? string : number;
|
||||
|
||||
let value: Result;
|
||||
|
||||
value = (args.valueCallback ? args.valueCallback(key) : key) as Result;
|
||||
value = options.valueCallback ? options.valueCallback(value) : value;
|
||||
|
||||
const rest = string.slice(matchedString.length);
|
||||
|
||||
return { value, rest };
|
||||
};
|
||||
}
|
||||
|
||||
function findKey<Value, Obj extends { [key in string | number]: Value }>(
|
||||
object: Obj,
|
||||
predicate: (value: Value) => boolean
|
||||
): keyof Obj | undefined {
|
||||
for (const key in object) {
|
||||
if (object.hasOwnProperty(key) && predicate(object[key])) {
|
||||
return key;
|
||||
}
|
||||
}
|
||||
return undefined;
|
||||
}
|
||||
|
||||
function findIndex<Item>(
|
||||
array: Item[],
|
||||
predicate: (item: Item) => boolean
|
||||
): number | undefined {
|
||||
for (let key = 0; key < array.length; key++) {
|
||||
if (predicate(array[key])) {
|
||||
return key;
|
||||
}
|
||||
}
|
||||
return undefined;
|
||||
}
|
||||
@@ -1,28 +0,0 @@
|
||||
import type { MatchFn, MatchValueCallback } from '../../types';
|
||||
|
||||
export interface BuildMatchPatternFnArgs<Result> {
|
||||
matchPattern: RegExp;
|
||||
parsePattern: RegExp;
|
||||
valueCallback?: MatchValueCallback<string, Result>;
|
||||
}
|
||||
|
||||
export default function buildMatchPatternFn<Result>(
|
||||
args: BuildMatchPatternFnArgs<Result>
|
||||
): MatchFn<Result> {
|
||||
return (string, options = {}) => {
|
||||
const matchResult = string.match(args.matchPattern);
|
||||
if (!matchResult) return null;
|
||||
const matchedString = matchResult[0];
|
||||
|
||||
const parseResult = string.match(args.parsePattern);
|
||||
if (!parseResult) return null;
|
||||
let value = (
|
||||
args.valueCallback ? args.valueCallback(parseResult[0]) : parseResult[0]
|
||||
) as Result;
|
||||
value = options.valueCallback ? options.valueCallback(value) : value;
|
||||
|
||||
const rest = string.slice(matchedString.length);
|
||||
|
||||
return { value, rest };
|
||||
};
|
||||
}
|
||||
@@ -1,112 +0,0 @@
|
||||
import type { FormatDistanceFn, FormatDistanceLocale } from '../../../types';
|
||||
|
||||
type FormatDistanceTokenValue =
|
||||
| string
|
||||
| {
|
||||
one: string;
|
||||
other: string;
|
||||
};
|
||||
|
||||
const formatDistanceLocale: FormatDistanceLocale<FormatDistanceTokenValue> = {
|
||||
lessThanXSeconds: {
|
||||
one: 'wala pang isang segundo',
|
||||
other: 'wala pang {{count}} na segundo',
|
||||
},
|
||||
|
||||
xSeconds: {
|
||||
one: 'isang segundo',
|
||||
other: '{{count}} segundo',
|
||||
},
|
||||
|
||||
halfAMinute: 'kalahating minuto',
|
||||
|
||||
lessThanXMinutes: {
|
||||
one: 'wala pang isang minuto',
|
||||
other: 'wala pang {{count}} na minuto',
|
||||
},
|
||||
|
||||
xMinutes: {
|
||||
one: 'isang minuto',
|
||||
other: '{{count}} minuto',
|
||||
},
|
||||
|
||||
aboutXHours: {
|
||||
one: 'mga isang oras',
|
||||
other: 'mga {{count}} na oras',
|
||||
},
|
||||
|
||||
xHours: {
|
||||
one: 'isang oras',
|
||||
other: '{{count}} na oras',
|
||||
},
|
||||
|
||||
xDays: {
|
||||
one: 'isang araw',
|
||||
other: '{{count}} na araw',
|
||||
},
|
||||
|
||||
aboutXWeeks: {
|
||||
one: 'mga isang linggo',
|
||||
other: 'mga {{count}} na linggo',
|
||||
},
|
||||
|
||||
xWeeks: {
|
||||
one: 'isang linggo',
|
||||
other: '{{count}} na linggo',
|
||||
},
|
||||
|
||||
aboutXMonths: {
|
||||
one: 'mga isang buwan',
|
||||
other: 'mga {{count}} na buwan',
|
||||
},
|
||||
|
||||
xMonths: {
|
||||
one: 'isang buwan',
|
||||
other: '{{count}} na buwan',
|
||||
},
|
||||
|
||||
aboutXYears: {
|
||||
one: 'mga isang taon',
|
||||
other: 'mga {{count}} na taon',
|
||||
},
|
||||
|
||||
xYears: {
|
||||
one: 'isang taon',
|
||||
other: '{{count}} na taon',
|
||||
},
|
||||
|
||||
overXYears: {
|
||||
one: 'mahigit isang taon',
|
||||
other: 'mahigit {{count}} na taon',
|
||||
},
|
||||
|
||||
almostXYears: {
|
||||
one: 'halos isang taon',
|
||||
other: 'halos {{count}} na taon',
|
||||
},
|
||||
};
|
||||
|
||||
const formatDistance: FormatDistanceFn = (token, count, options) => {
|
||||
let result;
|
||||
|
||||
const tokenValue = formatDistanceLocale[token];
|
||||
if (typeof tokenValue === 'string') {
|
||||
result = tokenValue;
|
||||
} else if (count === 1) {
|
||||
result = tokenValue.one;
|
||||
} else {
|
||||
result = tokenValue.other.replace('{{count}}', count.toString());
|
||||
}
|
||||
|
||||
if (options?.addSuffix) {
|
||||
if (options.comparison && options.comparison > 0) {
|
||||
return 'sa ' + result;
|
||||
} else {
|
||||
return result + ' nakaraan';
|
||||
}
|
||||
}
|
||||
|
||||
return result;
|
||||
};
|
||||
|
||||
export default formatDistance;
|
||||
@@ -1,42 +0,0 @@
|
||||
import buildFormatLongFn from '../../../_lib/buildFormatLongFn/index';
|
||||
import type { FormatLong } from '../../../types';
|
||||
|
||||
const dateFormats = {
|
||||
full: 'EEEE, MMMM do, y',
|
||||
long: 'MMMM do, y',
|
||||
medium: 'MMM d, y',
|
||||
short: 'MM/dd/yyyy',
|
||||
};
|
||||
|
||||
const timeFormats = {
|
||||
full: 'h:mm:ss a zzzz',
|
||||
long: 'h:mm:ss a z',
|
||||
medium: 'h:mm:ss a',
|
||||
short: 'h:mm a',
|
||||
};
|
||||
|
||||
const dateTimeFormats = {
|
||||
full: "{{date}} 'at' {{time}}",
|
||||
long: "{{date}} 'at' {{time}}",
|
||||
medium: '{{date}}, {{time}}',
|
||||
short: '{{date}}, {{time}}',
|
||||
};
|
||||
|
||||
const formatLong: FormatLong = {
|
||||
date: buildFormatLongFn({
|
||||
formats: dateFormats,
|
||||
defaultWidth: 'full',
|
||||
}),
|
||||
|
||||
time: buildFormatLongFn({
|
||||
formats: timeFormats,
|
||||
defaultWidth: 'full',
|
||||
}),
|
||||
|
||||
dateTime: buildFormatLongFn({
|
||||
formats: dateTimeFormats,
|
||||
defaultWidth: 'full',
|
||||
}),
|
||||
};
|
||||
|
||||
export default formatLong;
|
||||
@@ -1,15 +0,0 @@
|
||||
import type { FormatRelativeFn } from '../../../types';
|
||||
|
||||
const formatRelativeLocale = {
|
||||
lastWeek: "'last' eeee 'at' p",
|
||||
yesterday: "'yesterday at' p",
|
||||
today: "'today at' p",
|
||||
tomorrow: "'tomorrow at' p",
|
||||
nextWeek: "eeee 'at' p",
|
||||
other: 'P',
|
||||
};
|
||||
|
||||
const formatRelative: FormatRelativeFn = (token, _date, _baseDate, _options) =>
|
||||
formatRelativeLocale[token];
|
||||
|
||||
export default formatRelative;
|
||||
@@ -1,199 +0,0 @@
|
||||
import type { Quarter } from '../../../../types';
|
||||
import type { Localize, LocalizeFn } from '../../../types';
|
||||
import buildLocalizeFn from '../../../_lib/buildLocalizeFn/index';
|
||||
|
||||
const eraValues = {
|
||||
narrow: ['B', 'A'] as const,
|
||||
abbreviated: ['BC', 'AD'] as const,
|
||||
wide: ['Before Christ', 'Anno Domini'] as const,
|
||||
};
|
||||
|
||||
const quarterValues = {
|
||||
narrow: ['1', '2', '3', '4'] as const,
|
||||
abbreviated: ['Q1', 'Q2', 'Q3', 'Q4'] as const,
|
||||
wide: [
|
||||
'Unang sangkapat',
|
||||
'Ikalawang sangkapat',
|
||||
'Ikatlong sangkapat',
|
||||
'Ikaapat sangkapat',
|
||||
] as const,
|
||||
};
|
||||
|
||||
// Note: in English, the names of days of the week and months are capitalized.
|
||||
// If you are making a new locale based on this one, check if the same is true for the language you're working on.
|
||||
// Generally, formatted dates should look like they are in the middle of a sentence,
|
||||
// e.g. in Spanish language the weekdays and months should be in the lowercase.
|
||||
const monthValues = {
|
||||
narrow: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'] as const,
|
||||
abbreviated: [
|
||||
'Enero',
|
||||
'Peb',
|
||||
'Marso',
|
||||
'Abr',
|
||||
'Mayo',
|
||||
'Hun',
|
||||
'Hul',
|
||||
'Agosto',
|
||||
'Set',
|
||||
'Okt',
|
||||
'Nob',
|
||||
'Dis',
|
||||
] as const,
|
||||
wide: [
|
||||
'Enero',
|
||||
'Pebrero',
|
||||
'Marso',
|
||||
'Abril',
|
||||
'Mayo',
|
||||
'Hunyo',
|
||||
'Hulyo',
|
||||
'Agosto',
|
||||
'Setyembre',
|
||||
'Oktubre',
|
||||
'Nobyembre',
|
||||
'Disyembre',
|
||||
] as const,
|
||||
};
|
||||
|
||||
const dayValues = {
|
||||
narrow: ['L', 'L', 'M', 'M', 'H', 'B', 'S'] as const,
|
||||
short: ['Li', 'Lu', 'Ma', 'Mi', 'Hu', 'Bi', 'Sa'] as const,
|
||||
abbreviated: ['Lin', 'Lun', 'Mar', 'Miy', 'Huw', 'Biy', 'Sab'] as const,
|
||||
wide: [
|
||||
'Linggo',
|
||||
'Lunes',
|
||||
'Martes',
|
||||
'Miyerkules',
|
||||
'Huwebes',
|
||||
'Biyernes',
|
||||
'Sabado',
|
||||
] as const,
|
||||
};
|
||||
|
||||
const dayPeriodValues = {
|
||||
narrow: {
|
||||
am: 'a',
|
||||
pm: 'p',
|
||||
midnight: 'mi',
|
||||
noon: 'n',
|
||||
morning: 'umaga',
|
||||
afternoon: 'hapon',
|
||||
evening: 'gabi',
|
||||
night: 'gabi',
|
||||
},
|
||||
abbreviated: {
|
||||
am: 'AM',
|
||||
pm: 'PM',
|
||||
midnight: 'hatinggabi',
|
||||
noon: 'tanghali',
|
||||
morning: 'umaga',
|
||||
afternoon: 'hapon',
|
||||
evening: 'gabi',
|
||||
night: 'gabi',
|
||||
},
|
||||
wide: {
|
||||
am: 'a.m.',
|
||||
pm: 'p.m.',
|
||||
midnight: 'hatinggabi',
|
||||
noon: 'tanghali',
|
||||
morning: 'umaga',
|
||||
afternoon: 'hapon',
|
||||
evening: 'gabi',
|
||||
night: 'gabi',
|
||||
},
|
||||
};
|
||||
|
||||
const formattingDayPeriodValues = {
|
||||
narrow: {
|
||||
am: 'a',
|
||||
pm: 'p',
|
||||
midnight: 'mi',
|
||||
noon: 'n',
|
||||
morning: 'sa umaga',
|
||||
afternoon: 'sa hapon',
|
||||
evening: 'sa gabi',
|
||||
night: 'sa gabi',
|
||||
},
|
||||
abbreviated: {
|
||||
am: 'AM',
|
||||
pm: 'PM',
|
||||
midnight: 'midnight',
|
||||
noon: 'noon',
|
||||
morning: 'sa umaga',
|
||||
afternoon: 'sa hapon',
|
||||
evening: 'sa gabi',
|
||||
night: 'sa gabi',
|
||||
},
|
||||
wide: {
|
||||
am: 'a.m.',
|
||||
pm: 'p.m.',
|
||||
midnight: 'midnight',
|
||||
noon: 'noon',
|
||||
morning: 'sa umaga',
|
||||
afternoon: 'sa hapon',
|
||||
evening: 'sa gabi',
|
||||
night: 'sa gabi',
|
||||
},
|
||||
};
|
||||
|
||||
const ordinalNumber: LocalizeFn<number, undefined> = (
|
||||
dirtyNumber,
|
||||
_options
|
||||
) => {
|
||||
const number = Number(dirtyNumber);
|
||||
|
||||
// If ordinal numbers depend on context, for example,
|
||||
// if they are different for different grammatical genders,
|
||||
// use `options.unit`.
|
||||
//
|
||||
// `unit` can be 'year', 'quarter', 'month', 'week', 'date', 'dayOfYear',
|
||||
// 'day', 'hour', 'minute', 'second'.
|
||||
|
||||
// const rem100 = number % 100
|
||||
// if (rem100 > 20 || rem100 < 10) {
|
||||
// switch (rem100 % 10) {
|
||||
// case 1:
|
||||
// return number + 'st'
|
||||
// case 2:
|
||||
// return number + 'nd'
|
||||
// case 3:
|
||||
// return number + 'rd'
|
||||
// }
|
||||
// }
|
||||
|
||||
return 'ika-' + number;
|
||||
};
|
||||
|
||||
const localize: Localize = {
|
||||
ordinalNumber,
|
||||
|
||||
era: buildLocalizeFn({
|
||||
values: eraValues,
|
||||
defaultWidth: 'wide',
|
||||
}),
|
||||
|
||||
quarter: buildLocalizeFn({
|
||||
values: quarterValues,
|
||||
defaultWidth: 'wide',
|
||||
argumentCallback: (quarter) => (quarter - 1) as Quarter,
|
||||
}),
|
||||
|
||||
month: buildLocalizeFn({
|
||||
values: monthValues,
|
||||
defaultWidth: 'wide',
|
||||
}),
|
||||
|
||||
day: buildLocalizeFn({
|
||||
values: dayValues,
|
||||
defaultWidth: 'wide',
|
||||
}),
|
||||
|
||||
dayPeriod: buildLocalizeFn({
|
||||
values: dayPeriodValues,
|
||||
defaultWidth: 'wide',
|
||||
formattingValues: formattingDayPeriodValues,
|
||||
defaultFormattingWidth: 'wide',
|
||||
}),
|
||||
};
|
||||
|
||||
export default localize;
|
||||
@@ -1,135 +0,0 @@
|
||||
import type { Quarter } from '../../../../types';
|
||||
import type { Match } from '../../../types';
|
||||
import buildMatchFn from '../../../_lib/buildMatchFn/index';
|
||||
import buildMatchPatternFn from '../../../_lib/buildMatchPatternFn/index';
|
||||
|
||||
const matchOrdinalNumberPattern = /^(\d+)(th|st|nd|rd)?/i;
|
||||
const parseOrdinalNumberPattern = /\d+/i;
|
||||
|
||||
const matchEraPatterns = {
|
||||
narrow: /^(b|a)/i,
|
||||
abbreviated: /^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,
|
||||
wide: /^(before christ|before common era|anno domini|common era)/i,
|
||||
};
|
||||
const parseEraPatterns = {
|
||||
any: [/^b/i, /^(a|c)/i] as const,
|
||||
};
|
||||
|
||||
const matchQuarterPatterns = {
|
||||
narrow: /^[1234]/i,
|
||||
abbreviated: /^q[1234]/i,
|
||||
wide: /^[1234](th|st|nd|rd)? quarter/i,
|
||||
};
|
||||
const parseQuarterPatterns = {
|
||||
any: [/1/i, /2/i, /3/i, /4/i] as const,
|
||||
};
|
||||
|
||||
const matchMonthPatterns = {
|
||||
narrow: /^[jfmasond]/i,
|
||||
abbreviated: /^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,
|
||||
wide: /^(january|february|march|april|may|june|july|august|september|october|november|december)/i,
|
||||
};
|
||||
const parseMonthPatterns = {
|
||||
narrow: [
|
||||
/^j/i,
|
||||
/^f/i,
|
||||
/^m/i,
|
||||
/^a/i,
|
||||
/^m/i,
|
||||
/^j/i,
|
||||
/^j/i,
|
||||
/^a/i,
|
||||
/^s/i,
|
||||
/^o/i,
|
||||
/^n/i,
|
||||
/^d/i,
|
||||
] as const,
|
||||
any: [
|
||||
/^ja/i,
|
||||
/^f/i,
|
||||
/^mar/i,
|
||||
/^ap/i,
|
||||
/^may/i,
|
||||
/^jun/i,
|
||||
/^jul/i,
|
||||
/^au/i,
|
||||
/^s/i,
|
||||
/^o/i,
|
||||
/^n/i,
|
||||
/^d/i,
|
||||
] as const,
|
||||
};
|
||||
|
||||
const matchDayPatterns = {
|
||||
narrow: /^[smtwf]/i,
|
||||
short: /^(su|mo|tu|we|th|fr|sa)/i,
|
||||
abbreviated: /^(sun|mon|tue|wed|thu|fri|sat)/i,
|
||||
wide: /^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i,
|
||||
};
|
||||
const parseDayPatterns = {
|
||||
narrow: [/^s/i, /^m/i, /^t/i, /^w/i, /^t/i, /^f/i, /^s/i] as const,
|
||||
any: [/^su/i, /^m/i, /^tu/i, /^w/i, /^th/i, /^f/i, /^sa/i] as const,
|
||||
};
|
||||
|
||||
const matchDayPeriodPatterns = {
|
||||
narrow: /^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,
|
||||
any: /^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i,
|
||||
};
|
||||
const parseDayPeriodPatterns = {
|
||||
any: {
|
||||
am: /^a/i,
|
||||
pm: /^p/i,
|
||||
midnight: /^mi/i,
|
||||
noon: /^no/i,
|
||||
morning: /morning/i,
|
||||
afternoon: /afternoon/i,
|
||||
evening: /evening/i,
|
||||
night: /night/i,
|
||||
},
|
||||
};
|
||||
|
||||
const match: Match = {
|
||||
ordinalNumber: buildMatchPatternFn({
|
||||
matchPattern: matchOrdinalNumberPattern,
|
||||
parsePattern: parseOrdinalNumberPattern,
|
||||
valueCallback: (value) => parseInt(value, 10),
|
||||
}),
|
||||
|
||||
era: buildMatchFn({
|
||||
matchPatterns: matchEraPatterns,
|
||||
defaultMatchWidth: 'wide',
|
||||
parsePatterns: parseEraPatterns,
|
||||
defaultParseWidth: 'any',
|
||||
}),
|
||||
|
||||
quarter: buildMatchFn({
|
||||
matchPatterns: matchQuarterPatterns,
|
||||
defaultMatchWidth: 'wide',
|
||||
parsePatterns: parseQuarterPatterns,
|
||||
defaultParseWidth: 'any',
|
||||
valueCallback: (index) => (index + 1) as Quarter,
|
||||
}),
|
||||
|
||||
month: buildMatchFn({
|
||||
matchPatterns: matchMonthPatterns,
|
||||
defaultMatchWidth: 'wide',
|
||||
parsePatterns: parseMonthPatterns,
|
||||
defaultParseWidth: 'any',
|
||||
}),
|
||||
|
||||
day: buildMatchFn({
|
||||
matchPatterns: matchDayPatterns,
|
||||
defaultMatchWidth: 'wide',
|
||||
parsePatterns: parseDayPatterns,
|
||||
defaultParseWidth: 'any',
|
||||
}),
|
||||
|
||||
dayPeriod: buildMatchFn({
|
||||
matchPatterns: matchDayPeriodPatterns,
|
||||
defaultMatchWidth: 'any',
|
||||
parsePatterns: parseDayPeriodPatterns,
|
||||
defaultParseWidth: 'any',
|
||||
}),
|
||||
};
|
||||
|
||||
export default match;
|
||||
4
lib/date-fns/locale/fil/index.d.ts
vendored
4
lib/date-fns/locale/fil/index.d.ts
vendored
@@ -1,4 +0,0 @@
|
||||
// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
|
||||
|
||||
import { fil } from 'date-fns/locale';
|
||||
export default fil;
|
||||
@@ -1,35 +0,0 @@
|
||||
// @flow
|
||||
// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
|
||||
|
||||
export type Locale = {
|
||||
code?: string,
|
||||
formatDistance?: (...args: Array<any>) => any,
|
||||
formatRelative?: (...args: Array<any>) => any,
|
||||
localize?: {
|
||||
ordinalNumber: (...args: Array<any>) => any,
|
||||
era: (...args: Array<any>) => any,
|
||||
quarter: (...args: Array<any>) => any,
|
||||
month: (...args: Array<any>) => any,
|
||||
day: (...args: Array<any>) => any,
|
||||
dayPeriod: (...args: Array<any>) => any,
|
||||
},
|
||||
formatLong?: {
|
||||
date: (...args: Array<any>) => any,
|
||||
time: (...args: Array<any>) => any,
|
||||
dateTime: (...args: Array<any>) => any,
|
||||
},
|
||||
match?: {
|
||||
ordinalNumber: (...args: Array<any>) => any,
|
||||
era: (...args: Array<any>) => any,
|
||||
quarter: (...args: Array<any>) => any,
|
||||
month: (...args: Array<any>) => any,
|
||||
day: (...args: Array<any>) => any,
|
||||
dayPeriod: (...args: Array<any>) => any,
|
||||
},
|
||||
options?: {
|
||||
weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
|
||||
firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
|
||||
},
|
||||
}
|
||||
|
||||
declare module.exports: Locale
|
||||
@@ -1,29 +0,0 @@
|
||||
import formatDistance from './_lib/formatDistance/index';
|
||||
import formatLong from './_lib/formatLong/index';
|
||||
import formatRelative from './_lib/formatRelative/index';
|
||||
import localize from './_lib/localize/index';
|
||||
import match from './_lib/match/index';
|
||||
import type { Locale } from '../types';
|
||||
|
||||
/**
|
||||
* @type {Locale}
|
||||
* @category Locales
|
||||
* @summary Filipino locale (Philippines)
|
||||
* @language Filipino
|
||||
* @iso-639-2 fil
|
||||
* @author Paolo Miguel de Leon [@pmigueld]{@link https://github.com/pmigueld}
|
||||
*/
|
||||
const locale: Locale = {
|
||||
code: 'fil',
|
||||
formatDistance: formatDistance,
|
||||
formatLong: formatLong,
|
||||
formatRelative: formatRelative,
|
||||
localize: localize,
|
||||
match: match,
|
||||
options: {
|
||||
weekStartsOn: 0 /* Sunday */,
|
||||
firstWeekContainsDate: 1,
|
||||
},
|
||||
};
|
||||
|
||||
export default locale;
|
||||
@@ -1,330 +0,0 @@
|
||||
# English (en-US) locale
|
||||
|
||||
## `format` and `parse`
|
||||
|
||||
| Title | Token string | Date | `format` result | `parse` result |
|
||||
| ------------------------------- | ------------ | ------------------------ | ------------------------------------------------------- | ------------------------ |
|
||||
| Calendar year | yo | 1987-02-11T12:13:14.015Z | 1987th | 1987-01-01T00:00:00.000Z |
|
||||
| | | 0005-01-01T12:13:14.015Z | 5th | 0005-01-01T00:00:00.000Z |
|
||||
| Local week-numbering year | Yo | 1987-02-11T12:13:14.015Z | 1987th | 1986-12-28T00:00:00.000Z |
|
||||
| | | 0005-01-01T12:13:14.015Z | 5th | 0004-12-26T00:00:00.000Z |
|
||||
| Quarter (formatting) | Qo | 2019-01-01T12:13:14.015Z | 1st | 2019-01-01T00:00:00.000Z |
|
||||
| | | 2019-04-01T12:13:14.015Z | 2nd | 2019-04-01T00:00:00.000Z |
|
||||
| | QQQ | 2019-01-01T12:13:14.015Z | Q1 | 2019-01-01T00:00:00.000Z |
|
||||
| | | 2019-04-01T12:13:14.015Z | Q2 | 2019-04-01T00:00:00.000Z |
|
||||
| | QQQQ | 2019-01-01T12:13:14.015Z | 1st quarter | 2019-01-01T00:00:00.000Z |
|
||||
| | | 2019-04-01T12:13:14.015Z | 2nd quarter | 2019-04-01T00:00:00.000Z |
|
||||
| | QQQQQ | 2019-01-01T12:13:14.015Z | 1 | 2019-01-01T00:00:00.000Z |
|
||||
| | | 2019-04-01T12:13:14.015Z | 2 | 2019-04-01T00:00:00.000Z |
|
||||
| Quarter (stand-alone) | qo | 2019-01-01T12:13:14.015Z | 1st | 2019-01-01T00:00:00.000Z |
|
||||
| | | 2019-04-01T12:13:14.015Z | 2nd | 2019-04-01T00:00:00.000Z |
|
||||
| | qqq | 2019-01-01T12:13:14.015Z | Q1 | 2019-01-01T00:00:00.000Z |
|
||||
| | | 2019-04-01T12:13:14.015Z | Q2 | 2019-04-01T00:00:00.000Z |
|
||||
| | qqqq | 2019-01-01T12:13:14.015Z | 1st quarter | 2019-01-01T00:00:00.000Z |
|
||||
| | | 2019-04-01T12:13:14.015Z | 2nd quarter | 2019-04-01T00:00:00.000Z |
|
||||
| Month (formatting) | Mo | 2019-02-11T12:13:14.015Z | 2nd | 2019-02-01T00:00:00.000Z |
|
||||
| | | 2019-07-10T12:13:14.015Z | 7th | 2019-07-01T00:00:00.000Z |
|
||||
| | MMM | 2019-02-11T12:13:14.015Z | Feb | 2019-02-01T00:00:00.000Z |
|
||||
| | | 2019-07-10T12:13:14.015Z | Jul | 2019-07-01T00:00:00.000Z |
|
||||
| | MMMM | 2019-02-11T12:13:14.015Z | February | 2019-02-01T00:00:00.000Z |
|
||||
| | | 2019-07-10T12:13:14.015Z | July | 2019-07-01T00:00:00.000Z |
|
||||
| | MMMMM | 2019-02-11T12:13:14.015Z | F | 2019-02-01T00:00:00.000Z |
|
||||
| | | 2019-07-10T12:13:14.015Z | J | 2019-01-01T00:00:00.000Z |
|
||||
| Month (stand-alone) | Lo | 2019-02-11T12:13:14.015Z | 2nd | 2019-02-01T00:00:00.000Z |
|
||||
| | | 2019-07-10T12:13:14.015Z | 7th | 2019-07-01T00:00:00.000Z |
|
||||
| | LLL | 2019-02-11T12:13:14.015Z | Feb | 2019-02-01T00:00:00.000Z |
|
||||
| | | 2019-07-10T12:13:14.015Z | Jul | 2019-07-01T00:00:00.000Z |
|
||||
| | LLLL | 2019-02-11T12:13:14.015Z | February | 2019-02-01T00:00:00.000Z |
|
||||
| | | 2019-07-10T12:13:14.015Z | July | 2019-07-01T00:00:00.000Z |
|
||||
| | LLLLL | 2019-02-11T12:13:14.015Z | F | 2019-02-01T00:00:00.000Z |
|
||||
| | | 2019-07-10T12:13:14.015Z | J | 2019-01-01T00:00:00.000Z |
|
||||
| Local week of year | wo | 2019-01-01T12:13:14.015Z | 1st | 2018-12-30T00:00:00.000Z |
|
||||
| | | 2019-12-01T12:13:14.015Z | 49th | 2019-12-01T00:00:00.000Z |
|
||||
| ISO week of year | Io | 2019-01-01T12:13:14.015Z | 1st | 2018-12-31T00:00:00.000Z |
|
||||
| | | 2019-12-01T12:13:14.015Z | 48th | 2019-11-25T00:00:00.000Z |
|
||||
| Day of month | do | 2019-02-11T12:13:14.015Z | 11th | 2019-02-11T00:00:00.000Z |
|
||||
| | | 2019-02-28T12:13:14.015Z | 28th | 2019-02-28T00:00:00.000Z |
|
||||
| Day of year | Do | 2019-02-11T12:13:14.015Z | 42nd | 2019-02-11T00:00:00.000Z |
|
||||
| | | 2019-12-31T12:13:14.015Z | 365th | 2019-12-31T00:00:00.000Z |
|
||||
| Day of week (formatting) | E | 2019-02-11T12:13:14.015Z | Mon | 2019-02-11T00:00:00.000Z |
|
||||
| | | 2019-02-15T12:13:14.015Z | Fri | 2019-02-15T00:00:00.000Z |
|
||||
| | EE | 2019-02-11T12:13:14.015Z | Mon | 2019-02-11T00:00:00.000Z |
|
||||
| | | 2019-02-15T12:13:14.015Z | Fri | 2019-02-15T00:00:00.000Z |
|
||||
| | EEE | 2019-02-11T12:13:14.015Z | Mon | 2019-02-11T00:00:00.000Z |
|
||||
| | | 2019-02-15T12:13:14.015Z | Fri | 2019-02-15T00:00:00.000Z |
|
||||
| | EEEE | 2019-02-11T12:13:14.015Z | Monday | 2019-02-11T00:00:00.000Z |
|
||||
| | | 2019-02-15T12:13:14.015Z | Friday | 2019-02-15T00:00:00.000Z |
|
||||
| | EEEEE | 2019-02-11T12:13:14.015Z | M | 2019-02-11T00:00:00.000Z |
|
||||
| | | 2019-02-15T12:13:14.015Z | F | 2019-02-15T00:00:00.000Z |
|
||||
| | EEEEEE | 2019-02-11T12:13:14.015Z | Mo | 2019-02-11T00:00:00.000Z |
|
||||
| | | 2019-02-15T12:13:14.015Z | Fr | 2019-02-15T00:00:00.000Z |
|
||||
| ISO day of week (formatting) | io | 2019-02-11T12:13:14.015Z | 1st | 2019-02-11T00:00:00.000Z |
|
||||
| | | 2019-02-15T12:13:14.015Z | 5th | 2019-02-15T00:00:00.000Z |
|
||||
| | iii | 2019-02-11T12:13:14.015Z | Mon | 2019-02-11T00:00:00.000Z |
|
||||
| | | 2019-02-15T12:13:14.015Z | Fri | 2019-02-15T00:00:00.000Z |
|
||||
| | iiii | 2019-02-11T12:13:14.015Z | Monday | 2019-02-11T00:00:00.000Z |
|
||||
| | | 2019-02-15T12:13:14.015Z | Friday | 2019-02-15T00:00:00.000Z |
|
||||
| | iiiii | 2019-02-11T12:13:14.015Z | M | 2019-02-11T00:00:00.000Z |
|
||||
| | | 2019-02-15T12:13:14.015Z | F | 2019-02-15T00:00:00.000Z |
|
||||
| | iiiiii | 2019-02-11T12:13:14.015Z | Mo | 2019-02-11T00:00:00.000Z |
|
||||
| | | 2019-02-15T12:13:14.015Z | Fr | 2019-02-15T00:00:00.000Z |
|
||||
| Local day of week (formatting) | eo | 2019-02-11T12:13:14.015Z | 2nd | 2019-02-11T00:00:00.000Z |
|
||||
| | | 2019-02-15T12:13:14.015Z | 6th | 2019-02-15T00:00:00.000Z |
|
||||
| | eee | 2019-02-11T12:13:14.015Z | Mon | 2019-02-11T00:00:00.000Z |
|
||||
| | | 2019-02-15T12:13:14.015Z | Fri | 2019-02-15T00:00:00.000Z |
|
||||
| | eeee | 2019-02-11T12:13:14.015Z | Monday | 2019-02-11T00:00:00.000Z |
|
||||
| | | 2019-02-15T12:13:14.015Z | Friday | 2019-02-15T00:00:00.000Z |
|
||||
| | eeeee | 2019-02-11T12:13:14.015Z | M | 2019-02-11T00:00:00.000Z |
|
||||
| | | 2019-02-15T12:13:14.015Z | F | 2019-02-15T00:00:00.000Z |
|
||||
| | eeeeee | 2019-02-11T12:13:14.015Z | Mo | 2019-02-11T00:00:00.000Z |
|
||||
| | | 2019-02-15T12:13:14.015Z | Fr | 2019-02-15T00:00:00.000Z |
|
||||
| Local day of week (stand-alone) | co | 2019-02-11T12:13:14.015Z | 2nd | 2019-02-11T00:00:00.000Z |
|
||||
| | | 2019-02-15T12:13:14.015Z | 6th | 2019-02-15T00:00:00.000Z |
|
||||
| | ccc | 2019-02-11T12:13:14.015Z | Mon | 2019-02-11T00:00:00.000Z |
|
||||
| | | 2019-02-15T12:13:14.015Z | Fri | 2019-02-15T00:00:00.000Z |
|
||||
| | cccc | 2019-02-11T12:13:14.015Z | Monday | 2019-02-11T00:00:00.000Z |
|
||||
| | | 2019-02-15T12:13:14.015Z | Friday | 2019-02-15T00:00:00.000Z |
|
||||
| | ccccc | 2019-02-11T12:13:14.015Z | M | 2019-02-11T00:00:00.000Z |
|
||||
| | | 2019-02-15T12:13:14.015Z | F | 2019-02-15T00:00:00.000Z |
|
||||
| | cccccc | 2019-02-11T12:13:14.015Z | Mo | 2019-02-11T00:00:00.000Z |
|
||||
| | | 2019-02-15T12:13:14.015Z | Fr | 2019-02-15T00:00:00.000Z |
|
||||
| AM, PM | a | 2019-02-11T11:13:14.015Z | AM | 2019-02-11T00:00:00.000Z |
|
||||
| | | 2019-02-11T14:13:14.015Z | PM | 2019-02-11T12:00:00.000Z |
|
||||
| | | 2019-02-11T19:13:14.015Z | PM | 2019-02-11T12:00:00.000Z |
|
||||
| | | 2019-02-11T02:13:14.015Z | AM | 2019-02-11T00:00:00.000Z |
|
||||
| | aa | 2019-02-11T11:13:14.015Z | AM | 2019-02-11T00:00:00.000Z |
|
||||
| | | 2019-02-11T14:13:14.015Z | PM | 2019-02-11T12:00:00.000Z |
|
||||
| | | 2019-02-11T19:13:14.015Z | PM | 2019-02-11T12:00:00.000Z |
|
||||
| | | 2019-02-11T02:13:14.015Z | AM | 2019-02-11T00:00:00.000Z |
|
||||
| | aaa | 2019-02-11T11:13:14.015Z | am | 2019-02-11T00:00:00.000Z |
|
||||
| | | 2019-02-11T14:13:14.015Z | pm | 2019-02-11T12:00:00.000Z |
|
||||
| | | 2019-02-11T19:13:14.015Z | pm | 2019-02-11T12:00:00.000Z |
|
||||
| | | 2019-02-11T02:13:14.015Z | am | 2019-02-11T00:00:00.000Z |
|
||||
| | aaaa | 2019-02-11T11:13:14.015Z | a.m. | 2019-02-11T00:00:00.000Z |
|
||||
| | | 2019-02-11T14:13:14.015Z | p.m. | 2019-02-11T12:00:00.000Z |
|
||||
| | | 2019-02-11T19:13:14.015Z | p.m. | 2019-02-11T12:00:00.000Z |
|
||||
| | | 2019-02-11T02:13:14.015Z | a.m. | 2019-02-11T00:00:00.000Z |
|
||||
| | aaaaa | 2019-02-11T11:13:14.015Z | a | 2019-02-11T00:00:00.000Z |
|
||||
| | | 2019-02-11T14:13:14.015Z | p | 2019-02-11T12:00:00.000Z |
|
||||
| | | 2019-02-11T19:13:14.015Z | p | 2019-02-11T12:00:00.000Z |
|
||||
| | | 2019-02-11T02:13:14.015Z | a | 2019-02-11T00:00:00.000Z |
|
||||
| AM, PM, noon, midnight | b | 2019-02-11T11:13:14.015Z | AM | 2019-02-11T00:00:00.000Z |
|
||||
| | | 2019-02-11T14:13:14.015Z | PM | 2019-02-11T12:00:00.000Z |
|
||||
| | | 2019-02-11T19:13:14.015Z | PM | 2019-02-11T12:00:00.000Z |
|
||||
| | | 2019-02-11T02:13:14.015Z | AM | 2019-02-11T00:00:00.000Z |
|
||||
| | bb | 2019-02-11T11:13:14.015Z | AM | 2019-02-11T00:00:00.000Z |
|
||||
| | | 2019-02-11T14:13:14.015Z | PM | 2019-02-11T12:00:00.000Z |
|
||||
| | | 2019-02-11T19:13:14.015Z | PM | 2019-02-11T12:00:00.000Z |
|
||||
| | | 2019-02-11T02:13:14.015Z | AM | 2019-02-11T00:00:00.000Z |
|
||||
| | bbb | 2019-02-11T11:13:14.015Z | am | 2019-02-11T00:00:00.000Z |
|
||||
| | | 2019-02-11T14:13:14.015Z | pm | 2019-02-11T12:00:00.000Z |
|
||||
| | | 2019-02-11T19:13:14.015Z | pm | 2019-02-11T12:00:00.000Z |
|
||||
| | | 2019-02-11T02:13:14.015Z | am | 2019-02-11T00:00:00.000Z |
|
||||
| | bbbb | 2019-02-11T11:13:14.015Z | a.m. | 2019-02-11T00:00:00.000Z |
|
||||
| | | 2019-02-11T14:13:14.015Z | p.m. | 2019-02-11T12:00:00.000Z |
|
||||
| | | 2019-02-11T19:13:14.015Z | p.m. | 2019-02-11T12:00:00.000Z |
|
||||
| | | 2019-02-11T02:13:14.015Z | a.m. | 2019-02-11T00:00:00.000Z |
|
||||
| | bbbbb | 2019-02-11T11:13:14.015Z | a | 2019-02-11T00:00:00.000Z |
|
||||
| | | 2019-02-11T14:13:14.015Z | p | 2019-02-11T12:00:00.000Z |
|
||||
| | | 2019-02-11T19:13:14.015Z | p | 2019-02-11T12:00:00.000Z |
|
||||
| | | 2019-02-11T02:13:14.015Z | a | 2019-02-11T00:00:00.000Z |
|
||||
| Flexible day period | B | 2019-02-11T11:13:14.015Z | in the morning | 2019-02-11T04:00:00.000Z |
|
||||
| | | 2019-02-11T14:13:14.015Z | in the afternoon | 2019-02-11T12:00:00.000Z |
|
||||
| | | 2019-02-11T19:13:14.015Z | in the evening | 2019-02-11T17:00:00.000Z |
|
||||
| | | 2019-02-11T02:13:14.015Z | at night | 2019-02-11T00:00:00.000Z |
|
||||
| | BB | 2019-02-11T11:13:14.015Z | in the morning | 2019-02-11T04:00:00.000Z |
|
||||
| | | 2019-02-11T14:13:14.015Z | in the afternoon | 2019-02-11T12:00:00.000Z |
|
||||
| | | 2019-02-11T19:13:14.015Z | in the evening | 2019-02-11T17:00:00.000Z |
|
||||
| | | 2019-02-11T02:13:14.015Z | at night | 2019-02-11T00:00:00.000Z |
|
||||
| | BBB | 2019-02-11T11:13:14.015Z | in the morning | 2019-02-11T04:00:00.000Z |
|
||||
| | | 2019-02-11T14:13:14.015Z | in the afternoon | 2019-02-11T12:00:00.000Z |
|
||||
| | | 2019-02-11T19:13:14.015Z | in the evening | 2019-02-11T17:00:00.000Z |
|
||||
| | | 2019-02-11T02:13:14.015Z | at night | 2019-02-11T00:00:00.000Z |
|
||||
| | BBBB | 2019-02-11T11:13:14.015Z | in the morning | 2019-02-11T04:00:00.000Z |
|
||||
| | | 2019-02-11T14:13:14.015Z | in the afternoon | 2019-02-11T12:00:00.000Z |
|
||||
| | | 2019-02-11T19:13:14.015Z | in the evening | 2019-02-11T17:00:00.000Z |
|
||||
| | | 2019-02-11T02:13:14.015Z | at night | 2019-02-11T00:00:00.000Z |
|
||||
| | BBBBB | 2019-02-11T11:13:14.015Z | in the morning | 2019-02-11T04:00:00.000Z |
|
||||
| | | 2019-02-11T14:13:14.015Z | in the afternoon | 2019-02-11T12:00:00.000Z |
|
||||
| | | 2019-02-11T19:13:14.015Z | in the evening | 2019-02-11T17:00:00.000Z |
|
||||
| | | 2019-02-11T02:13:14.015Z | at night | Invalid Date |
|
||||
| Hour [1-12] | ho | 2019-02-11T11:13:14.015Z | 11th | 2019-02-11T11:00:00.000Z |
|
||||
| | | 2019-02-11T23:13:14.015Z | 11th | 2019-02-11T23:00:00.000Z |
|
||||
| Hour [0-23] | Ho | 2019-02-11T11:13:14.015Z | 11th | 2019-02-11T11:00:00.000Z |
|
||||
| | | 2019-02-11T23:13:14.015Z | 23rd | 2019-02-11T23:00:00.000Z |
|
||||
| Hour [0-11] | Ko | 2019-02-11T11:13:14.015Z | 11th | 2019-02-11T11:00:00.000Z |
|
||||
| | | 2019-02-11T23:13:14.015Z | 11th | 2019-02-11T23:00:00.000Z |
|
||||
| Hour [1-24] | ko | 2019-02-11T11:13:14.015Z | 11th | 2019-02-11T11:00:00.000Z |
|
||||
| | | 2019-02-11T23:13:14.015Z | 23rd | 2019-02-11T23:00:00.000Z |
|
||||
| Minute | mo | 2019-01-01T12:01:14.015Z | 1st | 2019-01-01T12:01:00.000Z |
|
||||
| | | 2019-04-01T12:55:14.015Z | 55th | 2019-04-01T12:55:00.000Z |
|
||||
| Second | so | 2019-01-01T12:13:01.015Z | 1st | 2019-01-01T12:13:01.000Z |
|
||||
| | | 2019-04-01T12:13:55.015Z | 55th | 2019-04-01T12:13:55.000Z |
|
||||
| Long localized date | P | 1987-02-11T12:13:14.015Z | 02/11/1987 | 1987-02-11T00:00:00.000Z |
|
||||
| | | 1453-05-29T23:59:59.999Z | 05/29/1453 | 1453-05-29T00:00:00.000Z |
|
||||
| | PP | 1987-02-11T12:13:14.015Z | Feb 11, 1987 | 1987-02-11T00:00:00.000Z |
|
||||
| | | 1453-05-29T23:59:59.999Z | May 29, 1453 | 1453-05-29T00:00:00.000Z |
|
||||
| | PPP | 1987-02-11T12:13:14.015Z | February 11th, 1987 | 1987-02-11T00:00:00.000Z |
|
||||
| | | 1453-05-29T23:59:59.999Z | May 29th, 1453 | 1453-05-29T00:00:00.000Z |
|
||||
| | PPPP | 1987-02-11T12:13:14.015Z | Wednesday, February 11th, 1987 | 1987-02-11T00:00:00.000Z |
|
||||
| | | 1453-05-29T23:59:59.999Z | Sunday, May 29th, 1453 | 1453-05-29T00:00:00.000Z |
|
||||
| Long localized time | p | 1987-02-11T12:13:14.015Z | 12:13 PM | 1987-02-11T12:13:00.000Z |
|
||||
| | | 1453-05-29T23:59:59.999Z | 11:59 PM | 1453-05-29T23:59:00.000Z |
|
||||
| | pp | 1987-02-11T12:13:14.015Z | 12:13:14 PM | 1987-02-11T12:13:14.000Z |
|
||||
| | | 1453-05-29T23:59:59.999Z | 11:59:59 PM | 1453-05-29T23:59:59.000Z |
|
||||
| | ppp | 1987-02-11T12:13:14.015Z | 12:13:14 PM GMT+0 | Errored |
|
||||
| | | 1453-05-29T23:59:59.999Z | 11:59:59 PM GMT+0 | Errored |
|
||||
| | pppp | 1987-02-11T12:13:14.015Z | 12:13:14 PM GMT+00:00 | Errored |
|
||||
| | | 1453-05-29T23:59:59.999Z | 11:59:59 PM GMT+00:00 | Errored |
|
||||
| Combination of date and time | Pp | 1987-02-11T12:13:14.015Z | 02/11/1987, 12:13 PM | 1987-02-11T12:13:00.000Z |
|
||||
| | | 1453-05-29T23:59:59.999Z | 05/29/1453, 11:59 PM | 1453-05-29T23:59:00.000Z |
|
||||
| | PPpp | 1987-02-11T12:13:14.015Z | Feb 11, 1987, 12:13:14 PM | 1987-02-11T12:13:14.000Z |
|
||||
| | | 1453-05-29T23:59:59.999Z | May 29, 1453, 11:59:59 PM | 1453-05-29T23:59:59.000Z |
|
||||
| | PPPppp | 1987-02-11T12:13:14.015Z | February 11th, 1987 at 12:13:14 PM GMT+0 | Errored |
|
||||
| | | 1453-05-29T23:59:59.999Z | May 29th, 1453 at 11:59:59 PM GMT+0 | Errored |
|
||||
| | PPPPpppp | 1987-02-11T12:13:14.015Z | Wednesday, February 11th, 1987 at 12:13:14 PM GMT+00:00 | Errored |
|
||||
| | | 1453-05-29T23:59:59.999Z | Sunday, May 29th, 1453 at 11:59:59 PM GMT+00:00 | Errored |
|
||||
|
||||
## `formatDistance`
|
||||
|
||||
If now is January 1st, 2000, 00:00.
|
||||
|
||||
| Date | Result | `includeSeconds: true` | `addSuffix: true` |
|
||||
| ------------------------ | ------------------ | ---------------------- | ---------------------- |
|
||||
| 2006-01-01T00:00:00.000Z | about 6 years | about 6 years | in about 6 years |
|
||||
| 2005-01-01T00:00:00.000Z | about 5 years | about 5 years | in about 5 years |
|
||||
| 2004-01-01T00:00:00.000Z | about 4 years | about 4 years | in about 4 years |
|
||||
| 2003-01-01T00:00:00.000Z | about 3 years | about 3 years | in about 3 years |
|
||||
| 2002-01-01T00:00:00.000Z | about 2 years | about 2 years | in about 2 years |
|
||||
| 2001-06-01T00:00:00.000Z | over 1 year | over 1 year | in over 1 year |
|
||||
| 2001-02-01T00:00:00.000Z | about 1 year | about 1 year | in about 1 year |
|
||||
| 2001-01-01T00:00:00.000Z | about 1 year | about 1 year | in about 1 year |
|
||||
| 2000-06-01T00:00:00.000Z | 5 months | 5 months | in 5 months |
|
||||
| 2000-03-01T00:00:00.000Z | 2 months | 2 months | in 2 months |
|
||||
| 2000-02-01T00:00:00.000Z | about 1 month | about 1 month | in about 1 month |
|
||||
| 2000-01-15T00:00:00.000Z | 14 days | 14 days | in 14 days |
|
||||
| 2000-01-02T00:00:00.000Z | 1 day | 1 day | in 1 day |
|
||||
| 2000-01-01T06:00:00.000Z | about 6 hours | about 6 hours | in about 6 hours |
|
||||
| 2000-01-01T01:00:00.000Z | about 1 hour | about 1 hour | in about 1 hour |
|
||||
| 2000-01-01T00:45:00.000Z | about 1 hour | about 1 hour | in about 1 hour |
|
||||
| 2000-01-01T00:30:00.000Z | 30 minutes | 30 minutes | in 30 minutes |
|
||||
| 2000-01-01T00:15:00.000Z | 15 minutes | 15 minutes | in 15 minutes |
|
||||
| 2000-01-01T00:01:00.000Z | 1 minute | 1 minute | in 1 minute |
|
||||
| 2000-01-01T00:00:25.000Z | less than a minute | half a minute | in less than a minute |
|
||||
| 2000-01-01T00:00:15.000Z | less than a minute | less than 20 seconds | in less than a minute |
|
||||
| 2000-01-01T00:00:05.000Z | less than a minute | less than 10 seconds | in less than a minute |
|
||||
| 2000-01-01T00:00:00.000Z | less than a minute | less than 5 seconds | less than a minute ago |
|
||||
| 1999-12-31T23:59:55.000Z | less than a minute | less than 10 seconds | less than a minute ago |
|
||||
| 1999-12-31T23:59:45.000Z | less than a minute | less than 20 seconds | less than a minute ago |
|
||||
| 1999-12-31T23:59:35.000Z | less than a minute | half a minute | less than a minute ago |
|
||||
| 1999-12-31T23:59:00.000Z | 1 minute | 1 minute | 1 minute ago |
|
||||
| 1999-12-31T23:45:00.000Z | 15 minutes | 15 minutes | 15 minutes ago |
|
||||
| 1999-12-31T23:30:00.000Z | 30 minutes | 30 minutes | 30 minutes ago |
|
||||
| 1999-12-31T23:15:00.000Z | about 1 hour | about 1 hour | about 1 hour ago |
|
||||
| 1999-12-31T23:00:00.000Z | about 1 hour | about 1 hour | about 1 hour ago |
|
||||
| 1999-12-31T18:00:00.000Z | about 6 hours | about 6 hours | about 6 hours ago |
|
||||
| 1999-12-30T00:00:00.000Z | 2 days | 2 days | 2 days ago |
|
||||
| 1999-12-15T00:00:00.000Z | 17 days | 17 days | 17 days ago |
|
||||
| 1999-12-01T00:00:00.000Z | about 1 month | about 1 month | about 1 month ago |
|
||||
| 1999-11-01T00:00:00.000Z | 2 months | 2 months | 2 months ago |
|
||||
| 1999-06-01T00:00:00.000Z | 7 months | 7 months | 7 months ago |
|
||||
| 1999-01-01T00:00:00.000Z | about 1 year | about 1 year | about 1 year ago |
|
||||
| 1998-12-01T00:00:00.000Z | about 1 year | about 1 year | about 1 year ago |
|
||||
| 1998-06-01T00:00:00.000Z | over 1 year | over 1 year | over 1 year ago |
|
||||
| 1998-01-01T00:00:00.000Z | about 2 years | about 2 years | about 2 years ago |
|
||||
| 1997-01-01T00:00:00.000Z | about 3 years | about 3 years | about 3 years ago |
|
||||
| 1996-01-01T00:00:00.000Z | about 4 years | about 4 years | about 4 years ago |
|
||||
| 1995-01-01T00:00:00.000Z | about 5 years | about 5 years | about 5 years ago |
|
||||
| 1994-01-01T00:00:00.000Z | about 6 years | about 6 years | about 6 years ago |
|
||||
|
||||
## `formatDistanceStrict`
|
||||
|
||||
If now is January 1st, 2000, 00:00.
|
||||
|
||||
| Date | Result | `addSuffix: true` | With forced unit (i.e. `hour`) |
|
||||
| ------------------------ | ---------- | ----------------- | ------------------------------ |
|
||||
| 2006-01-01T00:00:00.000Z | 6 years | in 6 years | 52608 hours |
|
||||
| 2005-01-01T00:00:00.000Z | 5 years | in 5 years | 43848 hours |
|
||||
| 2004-01-01T00:00:00.000Z | 4 years | in 4 years | 35064 hours |
|
||||
| 2003-01-01T00:00:00.000Z | 3 years | in 3 years | 26304 hours |
|
||||
| 2002-01-01T00:00:00.000Z | 2 years | in 2 years | 17544 hours |
|
||||
| 2001-06-01T00:00:00.000Z | 1 year | in 1 year | 12408 hours |
|
||||
| 2001-02-01T00:00:00.000Z | 1 year | in 1 year | 9528 hours |
|
||||
| 2001-01-01T00:00:00.000Z | 1 year | in 1 year | 8784 hours |
|
||||
| 2000-06-01T00:00:00.000Z | 5 months | in 5 months | 3648 hours |
|
||||
| 2000-03-01T00:00:00.000Z | 2 months | in 2 months | 1440 hours |
|
||||
| 2000-02-01T00:00:00.000Z | 1 month | in 1 month | 744 hours |
|
||||
| 2000-01-15T00:00:00.000Z | 14 days | in 14 days | 336 hours |
|
||||
| 2000-01-02T00:00:00.000Z | 1 day | in 1 day | 24 hours |
|
||||
| 2000-01-01T06:00:00.000Z | 6 hours | in 6 hours | 6 hours |
|
||||
| 2000-01-01T01:00:00.000Z | 1 hour | in 1 hour | 1 hour |
|
||||
| 2000-01-01T00:45:00.000Z | 45 minutes | in 45 minutes | 1 hour |
|
||||
| 2000-01-01T00:30:00.000Z | 30 minutes | in 30 minutes | 1 hour |
|
||||
| 2000-01-01T00:15:00.000Z | 15 minutes | in 15 minutes | 0 hours |
|
||||
| 2000-01-01T00:01:00.000Z | 1 minute | in 1 minute | 0 hours |
|
||||
| 2000-01-01T00:00:25.000Z | 25 seconds | in 25 seconds | 0 hours |
|
||||
| 2000-01-01T00:00:15.000Z | 15 seconds | in 15 seconds | 0 hours |
|
||||
| 2000-01-01T00:00:05.000Z | 5 seconds | in 5 seconds | 0 hours |
|
||||
| 2000-01-01T00:00:00.000Z | 0 seconds | 0 seconds ago | 0 hours |
|
||||
| 1999-12-31T23:59:55.000Z | 5 seconds | 5 seconds ago | 0 hours |
|
||||
| 1999-12-31T23:59:45.000Z | 15 seconds | 15 seconds ago | 0 hours |
|
||||
| 1999-12-31T23:59:35.000Z | 25 seconds | 25 seconds ago | 0 hours |
|
||||
| 1999-12-31T23:59:00.000Z | 1 minute | 1 minute ago | 0 hours |
|
||||
| 1999-12-31T23:45:00.000Z | 15 minutes | 15 minutes ago | 0 hours |
|
||||
| 1999-12-31T23:30:00.000Z | 30 minutes | 30 minutes ago | 1 hour |
|
||||
| 1999-12-31T23:15:00.000Z | 45 minutes | 45 minutes ago | 1 hour |
|
||||
| 1999-12-31T23:00:00.000Z | 1 hour | 1 hour ago | 1 hour |
|
||||
| 1999-12-31T18:00:00.000Z | 6 hours | 6 hours ago | 6 hours |
|
||||
| 1999-12-30T00:00:00.000Z | 2 days | 2 days ago | 48 hours |
|
||||
| 1999-12-15T00:00:00.000Z | 17 days | 17 days ago | 408 hours |
|
||||
| 1999-12-01T00:00:00.000Z | 1 month | 1 month ago | 744 hours |
|
||||
| 1999-11-01T00:00:00.000Z | 2 months | 2 months ago | 1464 hours |
|
||||
| 1999-06-01T00:00:00.000Z | 7 months | 7 months ago | 5136 hours |
|
||||
| 1999-01-01T00:00:00.000Z | 1 year | 1 year ago | 8760 hours |
|
||||
| 1998-12-01T00:00:00.000Z | 1 year | 1 year ago | 9504 hours |
|
||||
| 1998-06-01T00:00:00.000Z | 2 years | 2 years ago | 13896 hours |
|
||||
| 1998-01-01T00:00:00.000Z | 2 years | 2 years ago | 17520 hours |
|
||||
| 1997-01-01T00:00:00.000Z | 3 years | 3 years ago | 26280 hours |
|
||||
| 1996-01-01T00:00:00.000Z | 4 years | 4 years ago | 35064 hours |
|
||||
| 1995-01-01T00:00:00.000Z | 5 years | 5 years ago | 43824 hours |
|
||||
| 1994-01-01T00:00:00.000Z | 6 years | 6 years ago | 52584 hours |
|
||||
|
||||
## `formatRelative`
|
||||
|
||||
If now is January 1st, 2000, 00:00.
|
||||
|
||||
| Date | Result |
|
||||
| ------------------------ | ----------------------- |
|
||||
| 2000-01-10T00:00:00.000Z | 01/10/2000 |
|
||||
| 2000-01-05T00:00:00.000Z | Wednesday at 12:00 AM |
|
||||
| 2000-01-02T00:00:00.000Z | tomorrow at 12:00 AM |
|
||||
| 2000-01-01T00:00:00.000Z | today at 12:00 AM |
|
||||
| 1999-12-31T00:00:00.000Z | yesterday at 12:00 AM |
|
||||
| 1999-12-27T00:00:00.000Z | last Monday at 12:00 AM |
|
||||
| 1999-12-21T00:00:00.000Z | 12/21/1999 |
|
||||
|
||||
## `formatDuration`
|
||||
|
||||
| Duration | Result |
|
||||
| ------------- | --------- |
|
||||
| {"years":0} | 0 years |
|
||||
| {"years":1} | 1 year |
|
||||
| {"years":2} | 2 years |
|
||||
| {"months":0} | 0 months |
|
||||
| {"months":1} | 1 month |
|
||||
| {"months":2} | 2 months |
|
||||
| {"weeks":0} | 0 weeks |
|
||||
| {"weeks":1} | 1 week |
|
||||
| {"weeks":2} | 2 weeks |
|
||||
| {"days":0} | 0 days |
|
||||
| {"days":1} | 1 day |
|
||||
| {"days":2} | 2 days |
|
||||
| {"hours":0} | 0 hours |
|
||||
| {"hours":1} | 1 hour |
|
||||
| {"hours":2} | 2 hours |
|
||||
| {"minutes":0} | 0 minutes |
|
||||
| {"minutes":1} | 1 minute |
|
||||
| {"minutes":2} | 2 minutes |
|
||||
| {"seconds":0} | 0 seconds |
|
||||
| {"seconds":1} | 1 second |
|
||||
| {"seconds":2} | 2 seconds |
|
||||
@@ -1 +0,0 @@
|
||||
export { default as fil } from './fil';
|
||||
@@ -1,273 +0,0 @@
|
||||
/* eslint-disable no-unused-vars */
|
||||
|
||||
import type {
|
||||
Day,
|
||||
Era,
|
||||
FirstWeekContainsDate,
|
||||
Month,
|
||||
Quarter,
|
||||
Unit,
|
||||
} from '../types';
|
||||
import type {
|
||||
BuildLocalizeFnArgCallback,
|
||||
LocalizeUnitValues,
|
||||
LocalizeUnitValuesIndex,
|
||||
} from './_lib/buildLocalizeFn';
|
||||
|
||||
export interface Locale {
|
||||
code: string;
|
||||
formatDistance: FormatDistanceFn;
|
||||
formatRelative: FormatRelativeFn;
|
||||
localize: Localize;
|
||||
formatLong: FormatLong;
|
||||
match: Match;
|
||||
options?: LocaleOptions;
|
||||
}
|
||||
|
||||
export interface LocaleOptions {
|
||||
weekStartsOn?: Day;
|
||||
firstWeekContainsDate?: FirstWeekContainsDate;
|
||||
}
|
||||
|
||||
export type FormatDistanceToken =
|
||||
| 'lessThanXSeconds'
|
||||
| 'xSeconds'
|
||||
| 'halfAMinute'
|
||||
| 'lessThanXMinutes'
|
||||
| 'xMinutes'
|
||||
| 'aboutXHours'
|
||||
| 'xHours'
|
||||
| 'xDays'
|
||||
| 'aboutXWeeks'
|
||||
| 'xWeeks'
|
||||
| 'aboutXMonths'
|
||||
| 'xMonths'
|
||||
| 'aboutXYears'
|
||||
| 'xYears'
|
||||
| 'overXYears'
|
||||
| 'almostXYears';
|
||||
|
||||
export type FormatDistanceLocale<Value> = {
|
||||
[token in FormatDistanceToken]: Value;
|
||||
};
|
||||
|
||||
export interface FormatDistanceFnOptions {
|
||||
addSuffix?: boolean;
|
||||
comparison?: -1 | 0 | 1;
|
||||
}
|
||||
|
||||
export type FormatDistanceTokenFn = (
|
||||
count: number,
|
||||
options?: FormatDistanceOptions
|
||||
) => string;
|
||||
|
||||
export interface FormatDistanceOptions {
|
||||
addSuffix?: boolean;
|
||||
comparison?: -1 | 0 | 1;
|
||||
}
|
||||
|
||||
export type FormatDistanceFn = (
|
||||
token: FormatDistanceToken,
|
||||
count: number,
|
||||
options?: FormatDistanceOptions
|
||||
) => string;
|
||||
|
||||
export type FormatRelativeTokenFn = (
|
||||
date: Date | number,
|
||||
baseDate: Date | number,
|
||||
options?: { weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6 }
|
||||
) => string;
|
||||
|
||||
export type FormatRelativeToken =
|
||||
| 'lastWeek'
|
||||
| 'yesterday'
|
||||
| 'today'
|
||||
| 'tomorrow'
|
||||
| 'nextWeek'
|
||||
| 'other';
|
||||
|
||||
export interface FormatRelativeFnOptions {
|
||||
weekStartsOn?: Day;
|
||||
locale?: Locale;
|
||||
}
|
||||
|
||||
export type FormatRelativeFn = (
|
||||
token: FormatRelativeToken,
|
||||
date: Date,
|
||||
baseDate: Date,
|
||||
options?: FormatRelativeFnOptions
|
||||
) => string;
|
||||
|
||||
// TODO: You're real champion if you're actually get back to it. Proud of you!
|
||||
// Try to get rid of this and (especially) ArgCallback types because the only
|
||||
// case when it's helpful is when using quarter. Maybe.
|
||||
export type LocalizeUnitIndex<Unit extends LocaleUnit | number> =
|
||||
Unit extends LocaleUnit
|
||||
? LocalizeUnitValuesIndex<LocalizeUnitValues<Unit>>
|
||||
: number;
|
||||
|
||||
export type LocalizeFn<
|
||||
Result extends LocaleUnit | number,
|
||||
ArgCallback extends BuildLocalizeFnArgCallback<Result> | undefined = undefined
|
||||
> = (
|
||||
value: ArgCallback extends undefined
|
||||
? Result
|
||||
: Result extends Quarter
|
||||
? Quarter
|
||||
: LocalizeUnitIndex<Result>,
|
||||
options?: {
|
||||
width?: LocalePatternWidth;
|
||||
context?: 'formatting' | 'standalone';
|
||||
unit?: Unit;
|
||||
}
|
||||
) => string;
|
||||
|
||||
export interface Localize {
|
||||
ordinalNumber: LocalizeFn<
|
||||
number,
|
||||
BuildLocalizeFnArgCallback<number> | undefined
|
||||
>;
|
||||
era: LocalizeFn<Era, undefined>;
|
||||
quarter: LocalizeFn<Quarter, BuildLocalizeFnArgCallback<Quarter>>;
|
||||
month: LocalizeFn<Month, undefined>;
|
||||
day: LocalizeFn<Day, undefined>;
|
||||
dayPeriod: LocalizeFn<LocaleDayPeriod, undefined>;
|
||||
}
|
||||
|
||||
export interface BuildMatchFnArgs<
|
||||
Result extends LocaleUnit,
|
||||
DefaultMatchWidth extends LocalePatternWidth,
|
||||
DefaultParseWidth extends LocalePatternWidth
|
||||
> {
|
||||
matchPatterns: MatchPatterns<DefaultMatchWidth>;
|
||||
defaultMatchWidth: DefaultMatchWidth;
|
||||
parsePatterns: ParsePatterns<Result, DefaultParseWidth>;
|
||||
defaultParseWidth: DefaultParseWidth;
|
||||
valueCallback?: MatchValueCallback<
|
||||
Result extends LocaleDayPeriod ? string : number,
|
||||
Result
|
||||
>;
|
||||
}
|
||||
|
||||
export type MatchPatterns<DefaultWidth extends LocalePatternWidth> = {
|
||||
[pattern in LocalePatternWidth]?: RegExp;
|
||||
} & { [key in DefaultWidth]: RegExp };
|
||||
|
||||
export type ParsePatterns<
|
||||
Result extends LocaleUnit,
|
||||
DefaultWidth extends LocalePatternWidth
|
||||
> = {
|
||||
[pattern in LocalePatternWidth]?: ParsePattern<Result>;
|
||||
} & { [key in DefaultWidth]: ParsePattern<Result> };
|
||||
|
||||
export type ParsePattern<Result extends LocaleUnit> =
|
||||
Result extends LocaleDayPeriod
|
||||
? Record<LocaleDayPeriod, RegExp>
|
||||
: Result extends Quarter
|
||||
? readonly [RegExp, RegExp, RegExp, RegExp]
|
||||
: Result extends Era
|
||||
? readonly [RegExp, RegExp]
|
||||
: Result extends Day
|
||||
? readonly [RegExp, RegExp, RegExp, RegExp, RegExp, RegExp, RegExp]
|
||||
: Result extends Month
|
||||
? readonly [
|
||||
RegExp,
|
||||
RegExp,
|
||||
RegExp,
|
||||
RegExp,
|
||||
RegExp,
|
||||
RegExp,
|
||||
RegExp,
|
||||
RegExp,
|
||||
RegExp,
|
||||
RegExp,
|
||||
RegExp,
|
||||
RegExp
|
||||
]
|
||||
: never;
|
||||
|
||||
export type BuildMatchFn<
|
||||
Result extends LocaleUnit,
|
||||
DefaultMatchWidth extends LocalePatternWidth,
|
||||
DefaultParseWidth extends LocalePatternWidth
|
||||
> = (
|
||||
args: BuildMatchFnArgs<Result, DefaultMatchWidth, DefaultParseWidth>
|
||||
) => MatchFn<Result>;
|
||||
|
||||
export type MatchFn<Result> = (
|
||||
str: string,
|
||||
options?: {
|
||||
width?: LocalePatternWidth;
|
||||
valueCallback?: MatchValueCallback<string | Result, Result>;
|
||||
}
|
||||
) => { value: Result; rest: string } | null;
|
||||
|
||||
export type MatchValueCallback<Arg, Result> = (value: Arg) => Result;
|
||||
|
||||
export interface Match {
|
||||
ordinalNumber: MatchFn<number>;
|
||||
era: MatchFn<Era>;
|
||||
quarter: MatchFn<Quarter>;
|
||||
month: MatchFn<Month>;
|
||||
day: MatchFn<Day>;
|
||||
dayPeriod: MatchFn<LocaleDayPeriod>;
|
||||
}
|
||||
|
||||
export type LocaleOrdinalUnit =
|
||||
| 'second'
|
||||
| 'minute'
|
||||
| 'hour'
|
||||
| 'day'
|
||||
| 'week'
|
||||
| 'month'
|
||||
| 'quarter'
|
||||
| 'year'
|
||||
| 'date'
|
||||
| 'dayOfYear';
|
||||
|
||||
export type LocalePatternWidth =
|
||||
| 'narrow'
|
||||
| 'short'
|
||||
| 'abbreviated'
|
||||
| 'wide'
|
||||
| 'any';
|
||||
|
||||
export type LocaleDayPeriod =
|
||||
| 'am'
|
||||
| 'pm'
|
||||
| 'midnight'
|
||||
| 'noon'
|
||||
| 'morning'
|
||||
| 'afternoon'
|
||||
| 'evening'
|
||||
| 'night';
|
||||
|
||||
export type LocaleOptionUnit =
|
||||
| 'year'
|
||||
| 'quarter'
|
||||
| 'month'
|
||||
| 'week'
|
||||
| 'date'
|
||||
| 'dayOfYear'
|
||||
| 'day'
|
||||
| 'hour'
|
||||
| 'minute'
|
||||
| 'second';
|
||||
|
||||
export type FormatLongWidth = 'full' | 'long' | 'medium' | 'short' | 'any';
|
||||
|
||||
export type DateTimeFormat = { [format in FormatLongWidth]: string };
|
||||
|
||||
export type LocaleUnit = Era | Quarter | Month | Day | LocaleDayPeriod;
|
||||
|
||||
export interface FormatLong {
|
||||
date: FormatLongFn;
|
||||
time: FormatLongFn;
|
||||
dateTime: FormatLongFn;
|
||||
}
|
||||
|
||||
export interface FormatLongFnOptions {
|
||||
width?: FormatLongWidth;
|
||||
}
|
||||
|
||||
export type FormatLongFn = (options: FormatLongFnOptions) => string;
|
||||
1085
patches/date-fns+2.28.0.patch
Normal file
1085
patches/date-fns+2.28.0.patch
Normal file
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user