timepiece/node_modules/date-fns/locale/km/_lib/match.mjs

138 lines
4.2 KiB
JavaScript

import { buildMatchFn } from "../../_lib/buildMatchFn.mjs";
import { buildMatchPatternFn } from "../../_lib/buildMatchPatternFn.mjs";
const matchOrdinalNumberPattern = /^(\d+)(th|st|nd|rd)?/i;
const parseOrdinalNumberPattern = /\d+/i;
const matchEraPatterns = {
narrow: /^(ម\.)?គស/i,
abbreviated: /^(មុន)?គ\.ស/i,
wide: /^(មុន|នៃ)គ្រិស្តសករាជ/i,
};
const parseEraPatterns = {
any: [/^(ម|មុន)គ\.?ស/i, /^(នៃ)?គ\.?ស/i],
};
const matchQuarterPatterns = {
narrow: /^[1234]/i,
abbreviated: /^q[1234]/i,
wide: /^(ត្រីមាស)(ទី)?\s?[1234]/i,
};
const parseQuarterPatterns = {
any: [/1/i, /2/i, /3/i, /4/i],
};
const matchMonthPatterns = {
narrow: /^(ម\.ក|ក\.ម|មិ|ម\.ស|ឧ\.ស|ម\.ថ|ក\.ដ|សី|កញ|តុ|វិ|ធ)/i,
abbreviated:
/^(មករា|កុម្ភៈ|មីនា|មេសា|ឧសភា|មិថុនា|កក្កដា|សីហា|កញ្ញា|តុលា|វិច្ឆិកា|ធ្នូ)/i,
wide: /^(មករា|កុម្ភៈ|មីនា|មេសា|ឧសភា|មិថុនា|កក្កដា|សីហា|កញ្ញា|តុលា|វិច្ឆិកា|ធ្នូ)/i,
};
const parseMonthPatterns = {
narrow: [
/^ម\.ក/i,
/^ក\.ម/i,
/^មិ/i,
/^ម\.ស/i,
/^ឧ\.ស/i,
/^ម\.ថ/i,
/^ក\.ដ/i,
/^សី/i,
/^កញ/i,
/^តុ/i,
/^វិ/i,
/^ធ/i,
],
any: [
/^មក/i,
/^កុ/i,
/^មីន/i,
/^មេ/i,
/^ឧស/i,
/^មិថ/i,
/^កក/i,
/^សី/i,
/^កញ/i,
/^តុ/i,
/^វិច/i,
/^ធ/i,
],
};
const matchDayPatterns = {
narrow: /^(អា|ច|អ|ព|ព្រ|សុ|ស)/i,
short: /^(អា|ច|អ|ព|ព្រ|សុ|ស)/i,
abbreviated: /^(អា|ច|អ|ព|ព្រ|សុ|ស)/i,
wide: /^(អាទិត្យ|ចន្ទ|អង្គារ|ពុធ|ព្រហស្បតិ៍|សុក្រ|សៅរ៍)/i,
};
const parseDayPatterns = {
narrow: [/^អា/i, /^ច/i, /^អ/i, /^ព/i, /^ព្រ/i, /^សុ/i, /^ស/i],
any: [/^អា/i, /^ច/i, /^អ/i, /^ព/i, /^ព្រ/i, /^សុ/i, /^សៅ/i],
};
const matchDayPeriodPatterns = {
narrow:
/^(ព្រឹក|ល្ងាច|ពេលព្រឹក|ពេលថ្ងៃត្រង់|ពេលល្ងាច|ពេលរសៀល|ពេលយប់|ពេលកណ្ដាលអធ្រាត្រ)/i,
any: /^(ព្រឹក|ល្ងាច|ពេលព្រឹក|ពេលថ្ងៃត្រង់|ពេលល្ងាច|ពេលរសៀល|ពេលយប់|ពេលកណ្ដាលអធ្រាត្រ)/i,
};
const parseDayPeriodPatterns = {
any: {
am: /^ព្រឹក/i,
pm: /^ល្ងាច/i,
midnight: /^ពេលកណ្ដាលអធ្រាត្រ/i,
noon: /^ពេលថ្ងៃត្រង់/i,
morning: /ពេលព្រឹក/i,
afternoon: /ពេលរសៀល/i,
evening: /ពេលល្ងាច/i,
night: /ពេលយប់/i,
},
};
export const match = {
ordinalNumber: buildMatchPatternFn({
matchPattern: matchOrdinalNumberPattern,
parsePattern: parseOrdinalNumberPattern,
valueCallback: function (value) {
return 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",
}),
};