Files
klz-cables.com/.pnpm-store/v10/files/a0/e8a1dfe335d5bdea95bce97d44022f9e184b26a360680b617e2be94d4286aa4db64cbb4a81929bb4a9bf00f8e9b59f9875487c8bd86daa17ca2397d5fcf5a8
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

6 lines
1.5 KiB
Plaintext

import { AnyRecord } from "../any-record";
import { Builtin } from "../built-in";
export type DeepPick<Type, Filter> = Type extends Builtin ? Type : Type extends Map<infer Keys, infer Values> ? Filter extends Map<Keys, infer FilterValues> ? Map<Keys, DeepPick<Values, FilterValues>> : Type : Type extends ReadonlyMap<infer Keys, infer Values> ? Filter extends ReadonlyMap<Keys, infer FilterValues> ? ReadonlyMap<Keys, DeepPick<Values, FilterValues>> : Type : Type extends WeakMap<infer Keys, infer Values> ? Filter extends WeakMap<Keys, infer FilterValues> ? WeakMap<Keys, DeepPick<Values, FilterValues>> : Type : Type extends Set<infer Values> ? Filter extends Set<infer FilterValues> ? Set<DeepPick<Values, FilterValues>> : Type : Type extends ReadonlySet<infer Values> ? Filter extends ReadonlySet<infer FilterValues> ? ReadonlySet<DeepPick<Values, FilterValues>> : Type : Type extends WeakSet<infer Values> ? Filter extends WeakSet<infer FilterValues> ? WeakSet<DeepPick<Values, FilterValues>> : Type : Type extends Array<infer Values> ? Filter extends Array<infer FilterValues> ? Array<DeepPick<Values, FilterValues>> : Type : Type extends Promise<infer Value> ? Filter extends Promise<infer FilterValue> ? Promise<DeepPick<Value, FilterValue>> : Type : Filter extends AnyRecord ? {
[Key in keyof Type as Key extends keyof Filter ? Key : never]: Filter[Key & keyof Filter] extends true ? Type[Key] : Key extends keyof Filter ? DeepPick<Type[Key], Filter[Key]> : never;
} : never;