From 6e5c4d41a43a5e5c0d67ed3b0d517b5e34993ff6 Mon Sep 17 00:00:00 2001 From: PalmDevs Date: Thu, 12 Jun 2025 22:14:41 +0700 Subject: [PATCH] fix(lib/assets)!: do not fallback to first type when type is specified --- lib/assets/src/index.ts | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/lib/assets/src/index.ts b/lib/assets/src/index.ts index 6ee41ad..88ee6df 100644 --- a/lib/assets/src/index.ts +++ b/lib/assets/src/index.ts @@ -62,7 +62,7 @@ export function* getPackagerAssets(): Generator { */ 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) } /**