main repo

This commit is contained in:
Basilosaurusrex
2025-11-24 18:09:40 +01:00
parent b636ee5e70
commit f027651f9b
34146 changed files with 4436636 additions and 0 deletions

View File

@@ -0,0 +1,2 @@
import type { FormatDistanceFn } from "../../types.js";
export declare const formatDistance: FormatDistanceFn;

View File

@@ -0,0 +1,2 @@
import type { FormatDistanceFn } from "../../types.js";
export declare const formatDistance: FormatDistanceFn;

118
node_modules/date-fns/locale/cy/_lib/formatDistance.js generated vendored Normal file
View File

@@ -0,0 +1,118 @@
"use strict";
exports.formatDistance = void 0;
const formatDistanceLocale = {
lessThanXSeconds: {
one: "llai na eiliad",
other: "llai na {{count}} eiliad",
},
xSeconds: {
one: "1 eiliad",
other: "{{count}} eiliad",
},
halfAMinute: "hanner munud",
lessThanXMinutes: {
one: "llai na munud",
two: "llai na 2 funud",
other: "llai na {{count}} munud",
},
xMinutes: {
one: "1 munud",
two: "2 funud",
other: "{{count}} munud",
},
aboutXHours: {
one: "tua 1 awr",
other: "tua {{count}} awr",
},
xHours: {
one: "1 awr",
other: "{{count}} awr",
},
xDays: {
one: "1 diwrnod",
two: "2 ddiwrnod",
other: "{{count}} diwrnod",
},
aboutXWeeks: {
one: "tua 1 wythnos",
two: "tua pythefnos",
other: "tua {{count}} wythnos",
},
xWeeks: {
one: "1 wythnos",
two: "pythefnos",
other: "{{count}} wythnos",
},
aboutXMonths: {
one: "tua 1 mis",
two: "tua 2 fis",
other: "tua {{count}} mis",
},
xMonths: {
one: "1 mis",
two: "2 fis",
other: "{{count}} mis",
},
aboutXYears: {
one: "tua 1 flwyddyn",
two: "tua 2 flynedd",
other: "tua {{count}} mlynedd",
},
xYears: {
one: "1 flwyddyn",
two: "2 flynedd",
other: "{{count}} mlynedd",
},
overXYears: {
one: "dros 1 flwyddyn",
two: "dros 2 flynedd",
other: "dros {{count}} mlynedd",
},
almostXYears: {
one: "bron 1 flwyddyn",
two: "bron 2 flynedd",
other: "bron {{count}} mlynedd",
},
};
const formatDistance = (token, count, options) => {
let result;
const tokenValue = formatDistanceLocale[token];
if (typeof tokenValue === "string") {
result = tokenValue;
} else if (count === 1) {
result = tokenValue.one;
} else if (count === 2 && !!tokenValue.two) {
result = tokenValue.two;
} else {
result = tokenValue.other.replace("{{count}}", String(count));
}
if (options?.addSuffix) {
if (options.comparison && options.comparison > 0) {
return "mewn " + result;
} else {
return result + " yn ôl";
}
}
return result;
};
exports.formatDistance = formatDistance;

114
node_modules/date-fns/locale/cy/_lib/formatDistance.mjs generated vendored Normal file
View File

@@ -0,0 +1,114 @@
const formatDistanceLocale = {
lessThanXSeconds: {
one: "llai na eiliad",
other: "llai na {{count}} eiliad",
},
xSeconds: {
one: "1 eiliad",
other: "{{count}} eiliad",
},
halfAMinute: "hanner munud",
lessThanXMinutes: {
one: "llai na munud",
two: "llai na 2 funud",
other: "llai na {{count}} munud",
},
xMinutes: {
one: "1 munud",
two: "2 funud",
other: "{{count}} munud",
},
aboutXHours: {
one: "tua 1 awr",
other: "tua {{count}} awr",
},
xHours: {
one: "1 awr",
other: "{{count}} awr",
},
xDays: {
one: "1 diwrnod",
two: "2 ddiwrnod",
other: "{{count}} diwrnod",
},
aboutXWeeks: {
one: "tua 1 wythnos",
two: "tua pythefnos",
other: "tua {{count}} wythnos",
},
xWeeks: {
one: "1 wythnos",
two: "pythefnos",
other: "{{count}} wythnos",
},
aboutXMonths: {
one: "tua 1 mis",
two: "tua 2 fis",
other: "tua {{count}} mis",
},
xMonths: {
one: "1 mis",
two: "2 fis",
other: "{{count}} mis",
},
aboutXYears: {
one: "tua 1 flwyddyn",
two: "tua 2 flynedd",
other: "tua {{count}} mlynedd",
},
xYears: {
one: "1 flwyddyn",
two: "2 flynedd",
other: "{{count}} mlynedd",
},
overXYears: {
one: "dros 1 flwyddyn",
two: "dros 2 flynedd",
other: "dros {{count}} mlynedd",
},
almostXYears: {
one: "bron 1 flwyddyn",
two: "bron 2 flynedd",
other: "bron {{count}} mlynedd",
},
};
export const formatDistance = (token, count, options) => {
let result;
const tokenValue = formatDistanceLocale[token];
if (typeof tokenValue === "string") {
result = tokenValue;
} else if (count === 1) {
result = tokenValue.one;
} else if (count === 2 && !!tokenValue.two) {
result = tokenValue.two;
} else {
result = tokenValue.other.replace("{{count}}", String(count));
}
if (options?.addSuffix) {
if (options.comparison && options.comparison > 0) {
return "mewn " + result;
} else {
return result + " yn ôl";
}
}
return result;
};

View File

@@ -0,0 +1,2 @@
import type { FormatLong } from "../../types.js";
export declare const formatLong: FormatLong;

2
node_modules/date-fns/locale/cy/_lib/formatLong.d.ts generated vendored Normal file
View File

@@ -0,0 +1,2 @@
import type { FormatLong } from "../../types.js";
export declare const formatLong: FormatLong;

41
node_modules/date-fns/locale/cy/_lib/formatLong.js generated vendored Normal file
View File

@@ -0,0 +1,41 @@
"use strict";
exports.formatLong = void 0;
var _index = require("../../_lib/buildFormatLongFn.js");
const dateFormats = {
full: "EEEE, d MMMM yyyy",
long: "d MMMM yyyy",
medium: "d MMM yyyy",
short: "dd/MM/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}} 'am' {{time}}",
long: "{{date}} 'am' {{time}}",
medium: "{{date}}, {{time}}",
short: "{{date}}, {{time}}",
};
const formatLong = (exports.formatLong = {
date: (0, _index.buildFormatLongFn)({
formats: dateFormats,
defaultWidth: "full",
}),
time: (0, _index.buildFormatLongFn)({
formats: timeFormats,
defaultWidth: "full",
}),
dateTime: (0, _index.buildFormatLongFn)({
formats: dateTimeFormats,
defaultWidth: "full",
}),
});

39
node_modules/date-fns/locale/cy/_lib/formatLong.mjs generated vendored Normal file
View File

@@ -0,0 +1,39 @@
import { buildFormatLongFn } from "../../_lib/buildFormatLongFn.mjs";
const dateFormats = {
full: "EEEE, d MMMM yyyy",
long: "d MMMM yyyy",
medium: "d MMM yyyy",
short: "dd/MM/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}} 'am' {{time}}",
long: "{{date}} 'am' {{time}}",
medium: "{{date}}, {{time}}",
short: "{{date}}, {{time}}",
};
export const formatLong = {
date: buildFormatLongFn({
formats: dateFormats,
defaultWidth: "full",
}),
time: buildFormatLongFn({
formats: timeFormats,
defaultWidth: "full",
}),
dateTime: buildFormatLongFn({
formats: dateTimeFormats,
defaultWidth: "full",
}),
};

View File

@@ -0,0 +1,2 @@
import type { FormatRelativeFn } from "../../types.js";
export declare const formatRelative: FormatRelativeFn;

View File

@@ -0,0 +1,2 @@
import type { FormatRelativeFn } from "../../types.js";
export declare const formatRelative: FormatRelativeFn;

15
node_modules/date-fns/locale/cy/_lib/formatRelative.js generated vendored Normal file
View File

@@ -0,0 +1,15 @@
"use strict";
exports.formatRelative = void 0;
const formatRelativeLocale = {
lastWeek: "eeee 'diwethaf am' p",
yesterday: "'ddoe am' p",
today: "'heddiw am' p",
tomorrow: "'yfory am' p",
nextWeek: "eeee 'am' p",
other: "P",
};
const formatRelative = (token, _date, _baseDate, _options) =>
formatRelativeLocale[token];
exports.formatRelative = formatRelative;

View File

@@ -0,0 +1,11 @@
const formatRelativeLocale = {
lastWeek: "eeee 'diwethaf am' p",
yesterday: "'ddoe am' p",
today: "'heddiw am' p",
tomorrow: "'yfory am' p",
nextWeek: "eeee 'am' p",
other: "P",
};
export const formatRelative = (token, _date, _baseDate, _options) =>
formatRelativeLocale[token];

2
node_modules/date-fns/locale/cy/_lib/localize.d.mts generated vendored Normal file
View File

@@ -0,0 +1,2 @@
import type { Localize } from "../../types.js";
export declare const localize: Localize;

2
node_modules/date-fns/locale/cy/_lib/localize.d.ts generated vendored Normal file
View File

@@ -0,0 +1,2 @@
import type { Localize } from "../../types.js";
export declare const localize: Localize;

205
node_modules/date-fns/locale/cy/_lib/localize.js generated vendored Normal file
View File

@@ -0,0 +1,205 @@
"use strict";
exports.localize = void 0;
var _index = require("../../_lib/buildLocalizeFn.js");
const eraValues = {
narrow: ["C", "O"],
abbreviated: ["CC", "OC"],
wide: ["Cyn Crist", "Ar ôl Crist"],
};
const quarterValues = {
narrow: ["1", "2", "3", "4"],
abbreviated: ["Ch1", "Ch2", "Ch3", "Ch4"],
wide: ["Chwarter 1af", "2ail chwarter", "3ydd chwarter", "4ydd chwarter"],
};
// 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: ["I", "Ch", "Ma", "E", "Mi", "Me", "G", "A", "Md", "H", "T", "Rh"],
abbreviated: [
"Ion",
"Chwe",
"Maw",
"Ebr",
"Mai",
"Meh",
"Gor",
"Aws",
"Med",
"Hyd",
"Tach",
"Rhag",
],
wide: [
"Ionawr",
"Chwefror",
"Mawrth",
"Ebrill",
"Mai",
"Mehefin",
"Gorffennaf",
"Awst",
"Medi",
"Hydref",
"Tachwedd",
"Rhagfyr",
],
};
const dayValues = {
narrow: ["S", "Ll", "M", "M", "I", "G", "S"],
short: ["Su", "Ll", "Ma", "Me", "Ia", "Gw", "Sa"],
abbreviated: ["Sul", "Llun", "Maw", "Mer", "Iau", "Gwe", "Sad"],
wide: [
"dydd Sul",
"dydd Llun",
"dydd Mawrth",
"dydd Mercher",
"dydd Iau",
"dydd Gwener",
"dydd Sadwrn",
],
};
const dayPeriodValues = {
narrow: {
am: "b",
pm: "h",
midnight: "hn",
noon: "hd",
morning: "bore",
afternoon: "prynhawn",
evening: "gyda'r nos",
night: "nos",
},
abbreviated: {
am: "yb",
pm: "yh",
midnight: "hanner nos",
noon: "hanner dydd",
morning: "bore",
afternoon: "prynhawn",
evening: "gyda'r nos",
night: "nos",
},
wide: {
am: "y.b.",
pm: "y.h.",
midnight: "hanner nos",
noon: "hanner dydd",
morning: "bore",
afternoon: "prynhawn",
evening: "gyda'r nos",
night: "nos",
},
};
const formattingDayPeriodValues = {
narrow: {
am: "b",
pm: "h",
midnight: "hn",
noon: "hd",
morning: "yn y bore",
afternoon: "yn y prynhawn",
evening: "gyda'r nos",
night: "yn y nos",
},
abbreviated: {
am: "yb",
pm: "yh",
midnight: "hanner nos",
noon: "hanner dydd",
morning: "yn y bore",
afternoon: "yn y prynhawn",
evening: "gyda'r nos",
night: "yn y nos",
},
wide: {
am: "y.b.",
pm: "y.h.",
midnight: "hanner nos",
noon: "hanner dydd",
morning: "yn y bore",
afternoon: "yn y prynhawn",
evening: "gyda'r nos",
night: "yn y nos",
},
};
const ordinalNumber = (dirtyNumber, _options) => {
const number = Number(dirtyNumber);
if (number < 20) {
switch (number) {
case 0:
return number + "fed";
case 1:
return number + "af";
case 2:
return number + "ail";
case 3:
case 4:
return number + "ydd";
case 5:
case 6:
return number + "ed";
case 7:
case 8:
case 9:
case 10:
case 12:
case 15:
case 18:
return number + "fed";
case 11:
case 13:
case 14:
case 16:
case 17:
case 19:
return number + "eg";
}
} else if ((number >= 50 && number <= 60) || number === 80 || number >= 100) {
return number + "fed";
}
return number + "ain";
};
const localize = (exports.localize = {
ordinalNumber,
era: (0, _index.buildLocalizeFn)({
values: eraValues,
defaultWidth: "wide",
}),
quarter: (0, _index.buildLocalizeFn)({
values: quarterValues,
defaultWidth: "wide",
argumentCallback: (quarter) => quarter - 1,
}),
month: (0, _index.buildLocalizeFn)({
values: monthValues,
defaultWidth: "wide",
}),
day: (0, _index.buildLocalizeFn)({
values: dayValues,
defaultWidth: "wide",
}),
dayPeriod: (0, _index.buildLocalizeFn)({
values: dayPeriodValues,
defaultWidth: "wide",
formattingValues: formattingDayPeriodValues,
defaultFormattingWidth: "wide",
}),
});

203
node_modules/date-fns/locale/cy/_lib/localize.mjs generated vendored Normal file
View File

@@ -0,0 +1,203 @@
import { buildLocalizeFn } from "../../_lib/buildLocalizeFn.mjs";
const eraValues = {
narrow: ["C", "O"],
abbreviated: ["CC", "OC"],
wide: ["Cyn Crist", "Ar ôl Crist"],
};
const quarterValues = {
narrow: ["1", "2", "3", "4"],
abbreviated: ["Ch1", "Ch2", "Ch3", "Ch4"],
wide: ["Chwarter 1af", "2ail chwarter", "3ydd chwarter", "4ydd chwarter"],
};
// 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: ["I", "Ch", "Ma", "E", "Mi", "Me", "G", "A", "Md", "H", "T", "Rh"],
abbreviated: [
"Ion",
"Chwe",
"Maw",
"Ebr",
"Mai",
"Meh",
"Gor",
"Aws",
"Med",
"Hyd",
"Tach",
"Rhag",
],
wide: [
"Ionawr",
"Chwefror",
"Mawrth",
"Ebrill",
"Mai",
"Mehefin",
"Gorffennaf",
"Awst",
"Medi",
"Hydref",
"Tachwedd",
"Rhagfyr",
],
};
const dayValues = {
narrow: ["S", "Ll", "M", "M", "I", "G", "S"],
short: ["Su", "Ll", "Ma", "Me", "Ia", "Gw", "Sa"],
abbreviated: ["Sul", "Llun", "Maw", "Mer", "Iau", "Gwe", "Sad"],
wide: [
"dydd Sul",
"dydd Llun",
"dydd Mawrth",
"dydd Mercher",
"dydd Iau",
"dydd Gwener",
"dydd Sadwrn",
],
};
const dayPeriodValues = {
narrow: {
am: "b",
pm: "h",
midnight: "hn",
noon: "hd",
morning: "bore",
afternoon: "prynhawn",
evening: "gyda'r nos",
night: "nos",
},
abbreviated: {
am: "yb",
pm: "yh",
midnight: "hanner nos",
noon: "hanner dydd",
morning: "bore",
afternoon: "prynhawn",
evening: "gyda'r nos",
night: "nos",
},
wide: {
am: "y.b.",
pm: "y.h.",
midnight: "hanner nos",
noon: "hanner dydd",
morning: "bore",
afternoon: "prynhawn",
evening: "gyda'r nos",
night: "nos",
},
};
const formattingDayPeriodValues = {
narrow: {
am: "b",
pm: "h",
midnight: "hn",
noon: "hd",
morning: "yn y bore",
afternoon: "yn y prynhawn",
evening: "gyda'r nos",
night: "yn y nos",
},
abbreviated: {
am: "yb",
pm: "yh",
midnight: "hanner nos",
noon: "hanner dydd",
morning: "yn y bore",
afternoon: "yn y prynhawn",
evening: "gyda'r nos",
night: "yn y nos",
},
wide: {
am: "y.b.",
pm: "y.h.",
midnight: "hanner nos",
noon: "hanner dydd",
morning: "yn y bore",
afternoon: "yn y prynhawn",
evening: "gyda'r nos",
night: "yn y nos",
},
};
const ordinalNumber = (dirtyNumber, _options) => {
const number = Number(dirtyNumber);
if (number < 20) {
switch (number) {
case 0:
return number + "fed";
case 1:
return number + "af";
case 2:
return number + "ail";
case 3:
case 4:
return number + "ydd";
case 5:
case 6:
return number + "ed";
case 7:
case 8:
case 9:
case 10:
case 12:
case 15:
case 18:
return number + "fed";
case 11:
case 13:
case 14:
case 16:
case 17:
case 19:
return number + "eg";
}
} else if ((number >= 50 && number <= 60) || number === 80 || number >= 100) {
return number + "fed";
}
return number + "ain";
};
export const localize = {
ordinalNumber,
era: buildLocalizeFn({
values: eraValues,
defaultWidth: "wide",
}),
quarter: buildLocalizeFn({
values: quarterValues,
defaultWidth: "wide",
argumentCallback: (quarter) => quarter - 1,
}),
month: buildLocalizeFn({
values: monthValues,
defaultWidth: "wide",
}),
day: buildLocalizeFn({
values: dayValues,
defaultWidth: "wide",
}),
dayPeriod: buildLocalizeFn({
values: dayPeriodValues,
defaultWidth: "wide",
formattingValues: formattingDayPeriodValues,
defaultFormattingWidth: "wide",
}),
};

2
node_modules/date-fns/locale/cy/_lib/match.d.mts generated vendored Normal file
View File

@@ -0,0 +1,2 @@
import type { Match } from "../../types.js";
export declare const match: Match;

2
node_modules/date-fns/locale/cy/_lib/match.d.ts generated vendored Normal file
View File

@@ -0,0 +1,2 @@
import type { Match } from "../../types.js";
export declare const match: Match;

146
node_modules/date-fns/locale/cy/_lib/match.js generated vendored Normal file
View File

@@ -0,0 +1,146 @@
"use strict";
exports.match = void 0;
var _index = require("../../_lib/buildMatchFn.js");
var _index2 = require("../../_lib/buildMatchPatternFn.js");
const matchOrdinalNumberPattern = /^(\d+)(af|ail|ydd|ed|fed|eg|ain)?/i;
const parseOrdinalNumberPattern = /\d+/i;
const matchEraPatterns = {
narrow: /^(c|o)/i,
abbreviated: /^(c\.?\s?c\.?|o\.?\s?c\.?)/i,
wide: /^(cyn christ|ar ôl crist|ar ol crist)/i,
};
const parseEraPatterns = {
wide: [/^c/i, /^(ar ôl crist|ar ol crist)/i],
any: [/^c/i, /^o/i],
};
const matchQuarterPatterns = {
narrow: /^[1234]/i,
abbreviated: /^ch[1234]/i,
wide: /^(chwarter 1af)|([234](ail|ydd)? chwarter)/i,
};
const parseQuarterPatterns = {
any: [/1/i, /2/i, /3/i, /4/i],
};
const matchMonthPatterns = {
narrow: /^(i|ch|m|e|g|a|h|t|rh)/i,
abbreviated: /^(ion|chwe|maw|ebr|mai|meh|gor|aws|med|hyd|tach|rhag)/i,
wide: /^(ionawr|chwefror|mawrth|ebrill|mai|mehefin|gorffennaf|awst|medi|hydref|tachwedd|rhagfyr)/i,
};
const parseMonthPatterns = {
narrow: [
/^i/i,
/^ch/i,
/^m/i,
/^e/i,
/^m/i,
/^m/i,
/^g/i,
/^a/i,
/^m/i,
/^h/i,
/^t/i,
/^rh/i,
],
any: [
/^io/i,
/^ch/i,
/^maw/i,
/^e/i,
/^mai/i,
/^meh/i,
/^g/i,
/^a/i,
/^med/i,
/^h/i,
/^t/i,
/^rh/i,
],
};
const matchDayPatterns = {
narrow: /^(s|ll|m|i|g)/i,
short: /^(su|ll|ma|me|ia|gw|sa)/i,
abbreviated: /^(sul|llun|maw|mer|iau|gwe|sad)/i,
wide: /^dydd (sul|llun|mawrth|mercher|iau|gwener|sadwrn)/i,
};
const parseDayPatterns = {
narrow: [/^s/i, /^ll/i, /^m/i, /^m/i, /^i/i, /^g/i, /^s/i],
wide: [
/^dydd su/i,
/^dydd ll/i,
/^dydd ma/i,
/^dydd me/i,
/^dydd i/i,
/^dydd g/i,
/^dydd sa/i,
],
any: [/^su/i, /^ll/i, /^ma/i, /^me/i, /^i/i, /^g/i, /^sa/i],
};
const matchDayPeriodPatterns = {
narrow: /^(b|h|hn|hd|(yn y|y|yr|gyda'r) (bore|prynhawn|nos|hwyr))/i,
any: /^(y\.?\s?[bh]\.?|hanner nos|hanner dydd|(yn y|y|yr|gyda'r) (bore|prynhawn|nos|hwyr))/i,
};
const parseDayPeriodPatterns = {
any: {
am: /^b|(y\.?\s?b\.?)/i,
pm: /^h|(y\.?\s?h\.?)|(yr hwyr)/i,
midnight: /^hn|hanner nos/i,
noon: /^hd|hanner dydd/i,
morning: /bore/i,
afternoon: /prynhawn/i,
evening: /^gyda'r nos$/i,
night: /blah/i,
},
};
const match = (exports.match = {
ordinalNumber: (0, _index2.buildMatchPatternFn)({
matchPattern: matchOrdinalNumberPattern,
parsePattern: parseOrdinalNumberPattern,
valueCallback: (value) => parseInt(value, 10),
}),
era: (0, _index.buildMatchFn)({
matchPatterns: matchEraPatterns,
defaultMatchWidth: "wide",
parsePatterns: parseEraPatterns,
defaultParseWidth: "any",
}),
quarter: (0, _index.buildMatchFn)({
matchPatterns: matchQuarterPatterns,
defaultMatchWidth: "wide",
parsePatterns: parseQuarterPatterns,
defaultParseWidth: "any",
valueCallback: (index) => index + 1,
}),
month: (0, _index.buildMatchFn)({
matchPatterns: matchMonthPatterns,
defaultMatchWidth: "wide",
parsePatterns: parseMonthPatterns,
defaultParseWidth: "any",
}),
day: (0, _index.buildMatchFn)({
matchPatterns: matchDayPatterns,
defaultMatchWidth: "wide",
parsePatterns: parseDayPatterns,
defaultParseWidth: "any",
}),
dayPeriod: (0, _index.buildMatchFn)({
matchPatterns: matchDayPeriodPatterns,
defaultMatchWidth: "any",
parsePatterns: parseDayPeriodPatterns,
defaultParseWidth: "any",
}),
});

143
node_modules/date-fns/locale/cy/_lib/match.mjs generated vendored Normal file
View File

@@ -0,0 +1,143 @@
import { buildMatchFn } from "../../_lib/buildMatchFn.mjs";
import { buildMatchPatternFn } from "../../_lib/buildMatchPatternFn.mjs";
const matchOrdinalNumberPattern = /^(\d+)(af|ail|ydd|ed|fed|eg|ain)?/i;
const parseOrdinalNumberPattern = /\d+/i;
const matchEraPatterns = {
narrow: /^(c|o)/i,
abbreviated: /^(c\.?\s?c\.?|o\.?\s?c\.?)/i,
wide: /^(cyn christ|ar ôl crist|ar ol crist)/i,
};
const parseEraPatterns = {
wide: [/^c/i, /^(ar ôl crist|ar ol crist)/i],
any: [/^c/i, /^o/i],
};
const matchQuarterPatterns = {
narrow: /^[1234]/i,
abbreviated: /^ch[1234]/i,
wide: /^(chwarter 1af)|([234](ail|ydd)? chwarter)/i,
};
const parseQuarterPatterns = {
any: [/1/i, /2/i, /3/i, /4/i],
};
const matchMonthPatterns = {
narrow: /^(i|ch|m|e|g|a|h|t|rh)/i,
abbreviated: /^(ion|chwe|maw|ebr|mai|meh|gor|aws|med|hyd|tach|rhag)/i,
wide: /^(ionawr|chwefror|mawrth|ebrill|mai|mehefin|gorffennaf|awst|medi|hydref|tachwedd|rhagfyr)/i,
};
const parseMonthPatterns = {
narrow: [
/^i/i,
/^ch/i,
/^m/i,
/^e/i,
/^m/i,
/^m/i,
/^g/i,
/^a/i,
/^m/i,
/^h/i,
/^t/i,
/^rh/i,
],
any: [
/^io/i,
/^ch/i,
/^maw/i,
/^e/i,
/^mai/i,
/^meh/i,
/^g/i,
/^a/i,
/^med/i,
/^h/i,
/^t/i,
/^rh/i,
],
};
const matchDayPatterns = {
narrow: /^(s|ll|m|i|g)/i,
short: /^(su|ll|ma|me|ia|gw|sa)/i,
abbreviated: /^(sul|llun|maw|mer|iau|gwe|sad)/i,
wide: /^dydd (sul|llun|mawrth|mercher|iau|gwener|sadwrn)/i,
};
const parseDayPatterns = {
narrow: [/^s/i, /^ll/i, /^m/i, /^m/i, /^i/i, /^g/i, /^s/i],
wide: [
/^dydd su/i,
/^dydd ll/i,
/^dydd ma/i,
/^dydd me/i,
/^dydd i/i,
/^dydd g/i,
/^dydd sa/i,
],
any: [/^su/i, /^ll/i, /^ma/i, /^me/i, /^i/i, /^g/i, /^sa/i],
};
const matchDayPeriodPatterns = {
narrow: /^(b|h|hn|hd|(yn y|y|yr|gyda'r) (bore|prynhawn|nos|hwyr))/i,
any: /^(y\.?\s?[bh]\.?|hanner nos|hanner dydd|(yn y|y|yr|gyda'r) (bore|prynhawn|nos|hwyr))/i,
};
const parseDayPeriodPatterns = {
any: {
am: /^b|(y\.?\s?b\.?)/i,
pm: /^h|(y\.?\s?h\.?)|(yr hwyr)/i,
midnight: /^hn|hanner nos/i,
noon: /^hd|hanner dydd/i,
morning: /bore/i,
afternoon: /prynhawn/i,
evening: /^gyda'r nos$/i,
night: /blah/i,
},
};
export const 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,
}),
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",
}),
};