(
filename: string,
{ isDownload = false, imageKey = undefined, cacheBuster = false, ...params }: AssetUrlOptions = {},
)
| 9 | }; |
| 10 | |
| 11 | export function getAssetUrl( |
| 12 | filename: string, |
| 13 | { isDownload = false, imageKey = undefined, cacheBuster = false, ...params }: AssetUrlOptions = {}, |
| 14 | ): string { |
| 15 | const assetUrl = new URL(`assets/${filename}`, getPublicURL()); |
| 16 | |
| 17 | if (params) { |
| 18 | Object.entries(params).forEach(([key, value]) => { |
| 19 | if (value === undefined || value === null) return; |
| 20 | |
| 21 | assetUrl.searchParams.set(key, String(value)); |
| 22 | }); |
| 23 | } |
| 24 | |
| 25 | if (isDownload) assetUrl.searchParams.set('download', ''); |
| 26 | if (imageKey) assetUrl.searchParams.set('key', imageKey); |
| 27 | if (cacheBuster) assetUrl.searchParams.set('v', cacheBuster === true ? Date.now().toString() : String(cacheBuster)); |
| 28 | |
| 29 | return assetUrl.href; |
| 30 | } |
| 31 | |
| 32 | export function getFilesUrl() { |
| 33 | const assetUrl = new URL(`assets/files`, getPublicURL()); |
no test coverage detected