Files
klz-cables.com/.pnpm-store/v10/files/85/4a301da612902273b8d6c0f21fab96aa818d21729d1726d6f1998e6683baaed3dc4fdff69aa3b91dd574bf933955e547dded6d556b58239b38be1eafed3ab9
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.js";
import { buildMatchPatternFn } from "../../_lib/buildMatchPatternFn.js";
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",
}),
};