17 lines
553 B
TypeScript
17 lines
553 B
TypeScript
|
import { URL } from 'react-native-url-polyfill';
|
||
|
|
||
|
import { isValidUrl } from './isValidUrl';
|
||
|
|
||
|
// https://github.com/RocketChat/Rocket.Chat/blob/5c145e3170f04e341be93a2a60f09b6cbdc46c73/apps/meteor/client/components/message/content/urlPreviews/buildImageURL.ts#L3
|
||
|
export const buildImageURL = (url: string, imageUrl: string): string => {
|
||
|
if (isValidUrl(imageUrl)) {
|
||
|
return imageUrl;
|
||
|
}
|
||
|
|
||
|
const { origin } = new URL(url);
|
||
|
const imgURL = `${origin}/${imageUrl}`;
|
||
|
const normalizedUrl = imgURL.replace(/([^:]\/)\/+/gm, '$1');
|
||
|
|
||
|
return normalizedUrl;
|
||
|
};
|