38 lines
924 B
TypeScript
38 lines
924 B
TypeScript
import {
|
|
ImageVaultAsset,
|
|
ImageVaultAssetResponse,
|
|
} from "@/types/components/imageVault"
|
|
|
|
export function insertResponseToImageVaultAsset(
|
|
response: ImageVaultAssetResponse
|
|
): ImageVaultAsset {
|
|
const alt = response.Metadata?.find((meta) =>
|
|
meta.Name.includes("AltText_")
|
|
)?.Value
|
|
|
|
const caption = response.Metadata?.find((meta) =>
|
|
meta.Name.includes("Title_")
|
|
)?.Value
|
|
|
|
return {
|
|
url: response.MediaConversions[0].Url,
|
|
id: response.Id,
|
|
meta: {
|
|
alt,
|
|
caption,
|
|
},
|
|
title: response.Name,
|
|
dimensions: {
|
|
width: response.MediaConversions[0].Width,
|
|
height: response.MediaConversions[0].Height,
|
|
aspectRatio: response.MediaConversions[0].FormatAspectRatio,
|
|
},
|
|
}
|
|
}
|
|
|
|
export function makeImageVaultImage(image: any) {
|
|
return image && !!Object.keys(image).length
|
|
? insertResponseToImageVaultAsset(image as ImageVaultAssetResponse)
|
|
: undefined
|
|
}
|