|
|
@ -65,6 +65,10 @@ function mediaResourceUrl(media: PopiMedia): string | null { |
|
|
return media.url || media.originUrl || media.path || media.originPath || null; |
|
|
return media.url || media.originUrl || media.path || media.originPath || null; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
function isPopiMedia(value: PopiMediaUploadData): value is PopiMedia { |
|
|
|
|
|
return "url" in value || "originUrl" in value || "path" in value || "originPath" in value; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
function uploadedMediaUrls(data: PopiMediaUploadData | undefined): string[] { |
|
|
function uploadedMediaUrls(data: PopiMediaUploadData | undefined): string[] { |
|
|
if (!data) return []; |
|
|
if (!data) return []; |
|
|
if (Array.isArray(data)) { |
|
|
if (Array.isArray(data)) { |
|
|
@ -81,6 +85,7 @@ function uploadedMediaUrls(data: PopiMediaUploadData | undefined): string[] { |
|
|
if (list) { |
|
|
if (list) { |
|
|
return list.map(mediaResourceUrl).filter((url): url is string => Boolean(url)); |
|
|
return list.map(mediaResourceUrl).filter((url): url is string => Boolean(url)); |
|
|
} |
|
|
} |
|
|
|
|
|
if (!isPopiMedia(data)) return []; |
|
|
const single = mediaResourceUrl(data); |
|
|
const single = mediaResourceUrl(data); |
|
|
return single ? [single] : []; |
|
|
return single ? [single] : []; |
|
|
} |
|
|
} |
|
|
|