Files
klz-cables.com/.pnpm-store/v10/files/d2/6bf6b41a58e05960eba67804225d7bb8b2794be890adcd6bdae89ea63186592d5f6170239c8f0b2a560d1e7e1142edefe78e340605c1f283b24299d133511a
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

9 lines
645 B
Plaintext

type ParamValue = string | number | boolean;
type ReadFrom<Path> = Path extends `${string}[${infer Rest}` ? ReadUntil<Rest> : [];
type ReadUntil<Path> = Path extends `${infer Match}]${infer Rest}` ? [Match, ...ReadFrom<Rest>] : [];
type RemovePrefixes<Key> = Key extends `[...${infer Name}` ? Name : Key extends `...${infer Name}` ? Name : Key;
type StrictParams<Pathname> = Pathname extends `${string}[${string}` ? {
[Key in ReadFrom<Pathname>[number] as RemovePrefixes<Key>]: Key extends `[...${string}` ? Array<ParamValue> | undefined : Key extends `...${string}` ? Array<ParamValue> : ParamValue;
} : never;
export default StrictParams;