123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137 |
- import { buildMatchFn } from "../../_lib/buildMatchFn.js";
- import { buildMatchPatternFn } from "../../_lib/buildMatchPatternFn.js";
- 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",
- }),
- };
|