Files
klz-cables.com/.pnpm-store/v10/files/8c/41f95d2033dceb493df11a2e17c9c578d8d93ccf067ac03ba7d48f11836e2d4001ed95072fc1da18f17a7d724c292ac43b387a4a44a8a352e76854156a6b34
Marc Mintel 5397309103
Some checks failed
Build & Deploy / 🔍 Prepare (push) Successful in 20s
Build & Deploy / đŸ§Ē QA (push) Failing after 34s
Build & Deploy / đŸ—ī¸ Build (push) Has started running
Build & Deploy / 🚀 Deploy (push) Has been cancelled
Build & Deploy / đŸ§Ē Smoke Test (push) Has been cancelled
Build & Deploy / ⚡ Lighthouse (push) Has been cancelled
Build & Deploy / 🔔 Notify (push) Has been cancelled
fix(products): fix breadcrumbs and product filtering (backport from main)
2026-02-24 16:04:21 +01:00

143 lines
5.0 KiB
Plaintext
Raw 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.mjs";
import { buildMatchPatternFn } from "../../_lib/buildMatchPatternFn.mjs";
const matchOrdinalNumberPattern = /^(\d+)(āĻŽ|⧟|āĻ°ā§āĻĨ|āĻˇā§āĻ |āĻļ⧇|āχ|āϤāĻŽ)?/i;
const parseOrdinalNumberPattern = /\d+/i;
const matchEraPatterns = {
narrow: /^(āĻ–ā§āϰāĻŋāσāĻĒā§‚āσ|āĻ–ā§āϰāĻŋāσ)/i,
abbreviated: /^(āĻ–ā§āϰāĻŋāσāĻĒā§‚āĻ°ā§āĻŦ|āĻ–ā§āϰāĻŋāσ)/i,
wide: /^(āĻ–ā§āϰāĻŋāĻ¸ā§āϟāĻĒā§‚āĻ°ā§āĻŦ|āĻ–ā§āϰāĻŋāĻ¸ā§āϟāĻžāĻŦā§āĻĻ)/i,
};
const parseEraPatterns = {
narrow: [/^āĻ–ā§āϰāĻŋāσāĻĒā§‚āσ/i, /^āĻ–ā§āϰāĻŋāσ/i],
abbreviated: [/^āĻ–ā§āϰāĻŋāσāĻĒā§‚āĻ°ā§āĻŦ/i, /^āĻ–ā§āϰāĻŋāσ/i],
wide: [/^āĻ–ā§āϰāĻŋāĻ¸ā§āϟāĻĒā§‚āĻ°ā§āĻŦ/i, /^āĻ–ā§āϰāĻŋāĻ¸ā§āϟāĻžāĻŦā§āĻĻ/i],
};
const matchQuarterPatterns = {
narrow: /^[ā§§ā§¨ā§Šā§Ē]/i,
abbreviated: /^[ā§§ā§¨ā§Šā§Ē]āĻ¤ā§āϰ⧈/i,
wide: /^[ā§§ā§¨ā§Šā§Ē](āĻŽ|⧟|āĻ°ā§āĻĨ)? āĻ¤ā§āϰ⧈āĻŽāĻžāϏāĻŋāĻ•/i,
};
const parseQuarterPatterns = {
any: [/ā§§/i, /⧍/i, /ā§Š/i, /ā§Ē/i],
};
const matchMonthPatterns = {
narrow:
/^(āϜāĻžāύ⧁|āĻĢ⧇āĻŦā§āϰ⧁|āĻŽāĻžāĻ°ā§āϚ|āĻāĻĒā§āϰāĻŋāϞ|āĻŽā§‡|āϜ⧁āύ|āϜ⧁āϞāĻžāχ|āφāĻ—āĻ¸ā§āϟ|āϏ⧇āĻĒā§āϟ|āĻ…āĻ•ā§āĻŸā§‹|āύāϭ⧇|āĻĄāĻŋāϏ⧇)/i,
abbreviated:
/^(āϜāĻžāύ⧁|āĻĢ⧇āĻŦā§āϰ⧁|āĻŽāĻžāĻ°ā§āϚ|āĻāĻĒā§āϰāĻŋāϞ|āĻŽā§‡|āϜ⧁āύ|āϜ⧁āϞāĻžāχ|āφāĻ—āĻ¸ā§āϟ|āϏ⧇āĻĒā§āϟ|āĻ…āĻ•ā§āĻŸā§‹|āύāϭ⧇|āĻĄāĻŋāϏ⧇)/i,
wide: /^(āϜāĻžāύ⧁⧟āĻžāϰāĻŋ|āĻĢ⧇āĻŦā§āϰ⧁⧟āĻžāϰāĻŋ|āĻŽāĻžāĻ°ā§āϚ|āĻāĻĒā§āϰāĻŋāϞ|āĻŽā§‡|āϜ⧁āύ|āϜ⧁āϞāĻžāχ|āφāĻ—āĻ¸ā§āϟ|āϏ⧇āĻĒā§āĻŸā§‡āĻŽā§āĻŦāϰ|āĻ…āĻ•ā§āĻŸā§‹āĻŦāϰ|āύāϭ⧇āĻŽā§āĻŦāϰ|āĻĄāĻŋāϏ⧇āĻŽā§āĻŦāϰ)/i,
};
const parseMonthPatterns = {
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],
short: [/^āϰāĻŦāĻŋ/i, /^āϏ⧋āĻŽ/i, /^āĻŽāĻ™ā§āĻ—āϞ/i, /^āĻŦ⧁āϧ/i, /^āĻŦ⧃āĻš/i, /^āĻļ⧁āĻ•ā§āϰ/i, /^āĻļāύāĻŋ/i],
abbreviated: [
/^āϰāĻŦāĻŋ/i,
/^āϏ⧋āĻŽ/i,
/^āĻŽāĻ™ā§āĻ—āϞ/i,
/^āĻŦ⧁āϧ/i,
/^āĻŦ⧃āĻš/i,
/^āĻļ⧁āĻ•ā§āϰ/i,
/^āĻļāύāĻŋ/i,
],
wide: [
/^āϰāĻŦāĻŋāĻŦāĻžāϰ/i,
/^āϏ⧋āĻŽāĻŦāĻžāϰ/i,
/^āĻŽāĻ™ā§āĻ—āϞāĻŦāĻžāϰ/i,
/^āĻŦ⧁āϧāĻŦāĻžāϰ/i,
/^āĻŦ⧃āĻšāĻ¸ā§āĻĒāϤāĻŋāĻŦāĻžāϰ /i,
/^āĻļ⧁āĻ•ā§āϰāĻŦāĻžāϰ/i,
/^āĻļāύāĻŋāĻŦāĻžāϰ/i,
],
};
const matchDayPeriodPatterns = {
narrow: /^(āĻĒā§‚|āĻ…āĻĒ|āĻŽāĻ§ā§āϝāϰāĻžāϤ|āĻŽāĻ§ā§āϝāĻžāĻšā§āύ|āϏāĻ•āĻžāϞ|āĻŦāĻŋāĻ•āĻžāϞ|āϏāĻ¨ā§āĻ§ā§āϝāĻž|āϰāĻžāϤ)/i,
abbreviated: /^(āĻĒā§‚āĻ°ā§āĻŦāĻžāĻšā§āύ|āĻ…āĻĒāϰāĻžāĻšā§āύ|āĻŽāĻ§ā§āϝāϰāĻžāϤ|āĻŽāĻ§ā§āϝāĻžāĻšā§āύ|āϏāĻ•āĻžāϞ|āĻŦāĻŋāĻ•āĻžāϞ|āϏāĻ¨ā§āĻ§ā§āϝāĻž|āϰāĻžāϤ)/i,
wide: /^(āĻĒā§‚āĻ°ā§āĻŦāĻžāĻšā§āύ|āĻ…āĻĒāϰāĻžāĻšā§āύ|āĻŽāĻ§ā§āϝāϰāĻžāϤ|āĻŽāĻ§ā§āϝāĻžāĻšā§āύ|āϏāĻ•āĻžāϞ|āĻŦāĻŋāĻ•āĻžāϞ|āϏāĻ¨ā§āĻ§ā§āϝāĻž|āϰāĻžāϤ)/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: "wide",
}),
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: "wide",
}),
dayPeriod: buildMatchFn({
matchPatterns: matchDayPeriodPatterns,
defaultMatchWidth: "wide",
parsePatterns: parseDayPeriodPatterns,
defaultParseWidth: "any",
}),
};