Rocky_Mountain_Vending/.pnpm-store/v10/files/4e/168153f6b3d8ab3f2b87c2867b03124945d04c87eee666046d7192bd05062d88c109c047e0e070eb1bc550dbf844db315934afc85971a05b553193efdde643
DMleadgen 46d973904b
Initial commit: Rocky Mountain Vending website
Next.js website for Rocky Mountain Vending company featuring:
- Product catalog with Stripe integration
- Service areas and parts pages
- Admin dashboard with Clerk authentication
- SEO optimized pages with JSON-LD structured data

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-12 16:22:15 -07:00

141 lines
3.7 KiB
Text
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import { buildMatchFn } from "../../_lib/buildMatchFn.js";
import { buildMatchPatternFn } from "../../_lib/buildMatchPatternFn.js";
const matchOrdinalNumberPattern = /^(\d+)(-?ام)?/i;
const parseOrdinalNumberPattern = /\d+/i;
const matchEraPatterns = {
narrow: /^(ق|ب)/i,
abbreviated: /^(ق\.?\s?ه\.?|ب\.?\s?ه\.?|ه\.?)/i,
wide: /^(قبل از هجرت|هجری شمسی|بعد از هجرت)/i,
};
const parseEraPatterns = {
any: [/^قبل/i, /^بعد/i],
};
const matchQuarterPatterns = {
narrow: /^[1234]/i,
abbreviated: /^(ف|Q|س‌م)[1234]/i,
wide: /^(فصل|quarter|سه‌ماهه) [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: /^(ش|ج|1ش|2ش|3ش|4ش|5ش)/i,
abbreviated: /^(یکشنبه|دوشنبه|سه‌شنبه|چهارشنبه|پنج‌شنبه|جمعه|شنبه)/i,
wide: /^(یکشنبه|دوشنبه|سه‌شنبه|چهارشنبه|پنج‌شنبه|جمعه|شنبه)/i,
};
const parseDayPatterns = {
narrow: [/^ی/i, /^دو/i, /^س/i, /^چ/i, /^پ/i, /^ج/i, /^ش/i],
any: [
/^(ی|1ش|یکشنبه)/i,
/^(د|2ش|دوشنبه)/i,
/^(س|3ش|سه‌شنبه)/i,
/^(چ|4ش|چهارشنبه)/i,
/^(پ|5ش|پنجشنبه)/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: (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",
}),
};