fix(lib/modules/finders/filters): generate proper keys for relative.withDependencies

This commit is contained in:
PalmDevs 2025-08-20 17:27:36 +07:00
parent a0c03057b4
commit 913c987951
No known key found for this signature in database
GPG key ID: 6FAE8F8677ACA8BA

View file

@ -382,19 +382,25 @@ function depGenFilterKey(deps: ComparableDependencyMap): string {
if (dep === undefined) key += ','
else if (Array.isArray(dep)) {
if (dep.l) key += '#'
// relative.withDependencies?
if (dep.r) key += depGenRelativeKeyPart(dep.r)
key += `[${depGenFilterKey(dep)}],`
} else {
if (dep & RelativeBit) {
const magnitude = depGetRelMagnitude(dep)
const prefix = dep & RelativeRootBit ? '~' : '^'
key += `${prefix}${magnitude},`
} else key += `${dep},`
if (dep & RelativeBit) key += depGenRelativeKeyPart(dep)
else key += `${dep},`
}
}
return key.substring(0, key.length - 1)
}
function depGenRelativeKeyPart(dep: number) {
const magnitude = depGetRelMagnitude(dep)
const prefix = dep & RelativeRootBit ? '~' : '^'
return `${prefix}${magnitude},`
}
export type Every = FilterGenerator<{
<F1 extends Filter, F2 extends Filter>(
f1: F1,