📄 match.js
/home/palash/git/site/node_modules/date-fns/locale/th/_lib/match.js
Language: js â€Ē Lines: 134
import { buildMatchFn } from "../../_lib/buildMatchFn.js";
import { buildMatchPatternFn } from "../../_lib/buildMatchPatternFn.js";

const matchOrdinalNumberPattern = /^\d+/i;
const parseOrdinalNumberPattern = /\d+/i;

const matchEraPatterns = {
  narrow: /^([bB]|[aA]|āļ„āļĻ)/i,
  abbreviated:
    /^([bB]\.?\s?[cC]\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?|āļ„\.?āļĻ\.?)/i,
  wide: /^(āļāđˆāļ­āļ™āļ„āļĢāļīāļŠāļ•āļāļēāļĨ|āļ„āļĢāļīāļŠāļ•āđŒāļĻāļąāļāļĢāļēāļŠ|āļ„āļĢāļīāļŠāļ•āļāļēāļĨ)/i,
};
const parseEraPatterns = {
  any: [/^[bB]/i, /^(^[aA]|āļ„\.?āļĻ\.?|āļ„āļĢāļīāļŠāļ•āļāļēāļĨ|āļ„āļĢāļīāļŠāļ•āđŒāļĻāļąāļāļĢāļēāļŠ|)/i],
};

const matchQuarterPatterns = {
  narrow: /^[1234]/i,
  abbreviated: /^q[1234]/i,
  wide: /^āđ„āļ•āļĢāļĄāļēāļŠ(āļ—āļĩāđˆ)? ?[1234]/i,
};
const parseQuarterPatterns = {
  any: [/(1|āđāļĢāļ|āļŦāļ™āļķāđˆāļ‡)/i, /(2|āļŠāļ­āļ‡)/i, /(3|āļŠāļēāļĄ)/i, /(4|āļŠāļĩāđˆ)/i],
};

const matchMonthPatterns = {
  narrow:
    /^(āļĄ\.?āļ„\.?|āļ\.?āļž\.?|āļĄāļĩ\.?āļ„\.?|āđ€āļĄ\.?āļĒ\.?|āļž\.?āļ„\.?|āļĄāļī\.?āļĒ\.?|āļ\.?āļ„\.?|āļŠ\.?āļ„\.?|āļ\.?āļĒ\.?|āļ•\.?āļ„\.?|āļž\.?āļĒ\.?|āļ˜\.?āļ„\.?)/i,
  abbreviated:
    /^(āļĄ\.?āļ„\.?|āļ\.?āļž\.?|āļĄāļĩ\.?āļ„\.?|āđ€āļĄ\.?āļĒ\.?|āļž\.?āļ„\.?|āļĄāļī\.?āļĒ\.?|āļ\.?āļ„\.?|āļŠ\.?āļ„\.?|āļ\.?āļĒ\.?|āļ•\.?āļ„\.?|āļž\.?āļĒ\.?|āļ˜\.?āļ„\.?')/i,
  wide: /^(āļĄāļāļĢāļēāļ„āļĄ|āļāļļāļĄāļ āļēāļžāļąāļ™āļ˜āđŒ|āļĄāļĩāļ™āļēāļ„āļĄ|āđ€āļĄāļĐāļēāļĒāļ™|āļžāļĪāļĐāļ āļēāļ„āļĄ|āļĄāļīāļ–āļļāļ™āļēāļĒāļ™|āļāļĢāļāļŽāļēāļ„āļĄ|āļŠāļīāļ‡āļŦāļēāļ„āļĄ|āļāļąāļ™āļĒāļēāļĒāļ™|āļ•āļļāļĨāļēāļ„āļĄ|āļžāļĪāļĻāļˆāļīāļāļēāļĒāļ™|āļ˜āļąāļ™āļ§āļēāļ„āļĄ)/i,
};
const parseMonthPatterns = {
  wide: [
    /^āļĄāļ/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 = {
  wide: [/^āļ­āļē/i, /^āļˆāļą/i, /^āļ­āļą/i, /^āļžāļļāļ˜/i, /^āļžāļĪ/i, /^āļĻ/i, /^āđ€āļŠ/i],
  any: [/^āļ­āļē/i, /^āļˆ/i, /^āļ­/i, /^āļž(?!āļĪ)/i, /^āļžāļĪ/i, /^āļĻ/i, /^āļŠ/i],
};

const matchDayPeriodPatterns = {
  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: (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",
  }),
};