fix(lib/assets)!: do not fallback to first type when type is specified

This commit is contained in:
PalmDevs 2025-06-12 22:14:41 +07:00
parent dfda3afc68
commit 6e5c4d41a4
No known key found for this signature in database
GPG key ID: 6FAE8F8677ACA8BA

View file

@ -62,7 +62,7 @@ export function* getPackagerAssets(): Generator<PackagerAsset> {
*/
export function getAssetByName(
name: string,
type = _preferredType,
type?: Asset['type'],
): Asset | undefined {
const id = getAssetIdByName(name, type)
if (id !== undefined) return AssetsRegistry.getAssetByID(id)
@ -98,13 +98,27 @@ export function getAssetsByName(
*/
export function getAssetIdByName(
name: string,
type = _preferredType,
type?: Asset['type'],
): AssetId | undefined {
const reg = cache[name]
if (!reg) return
const mid = reg[type] ?? reg[Object.keys(reg)[0]!]
if (mid !== undefined) return __r(mid)
if (type) {
const mid = reg[type]
if (mid === undefined) return
return __r(mid)
}
let mid = reg[_preferredType]
if (mid === undefined)
for (const t in reg) {
mid = reg[t]
break
}
if (mid === undefined) return
return __r(mid)
}
/**