INNER CODE UNIT · TypeScript
resolveBilibiliAssetUrl
Purewhiter/mobilegym · apps/Bilibili/data/index.ts:10
export const resolveBilibiliAssetUrl = (raw: unknown): unknown => {
const s = typeof raw === 'string' ? raw : null;
if (!s) return raw;
if (s.startsWith('http') || s.startsWith('data:') || s.startsWith('blob:')) return raw;
if (s.startsWith('/cdn/')) return resolveCdnUrl(s);
if (s.startsWith('./images/') || s.startsWith('images/')) {
return resolveCdnUrl(s, 'bilibili');
}
if (s.startsWith('/')) return raw;
if (!ASSET_EXT_RE.test(s)) return raw;
return resolveCdnUrl(s, 'bilibili');
};
export const resolveBilibiliAssetsDeep = (value: unknown): unknown => {
if (Array.isArray(value)) return value.map(resolveBilibiliAssetsDeep);
if (value && typeof value === 'object') {
const out: Record<string, unknown> = {};
for (const [key, child] of Object.entries(value as Record<string, unknown>)) {