# extendify/3.0.4/src/Agent/lib/media.js

Extendify, version 3.0.4. 53 lines.

- Page: https://pluginprobe.com/plugins/extendify/3.0.4/code/src/Agent/lib/media.js
- Raw: https://pluginprobe.com/plugins/extendify/3.0.4/raw/src/Agent/lib/media.js
- Modified: 2026-02-18T22:27:14+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/extendify/3.0.4/code/src/Agent/lib/media.js#L10-L20`.

```javascript
import { applyFilters } from '@wordpress/hooks';

export const getMediaDetails = (media) => {
	if (!media) return {};

	const defaultSize = applyFilters(
		'editor.PostFeaturedImage.imageSize',
		'large',
		media.id,
	);
	if (defaultSize in (media?.media_details?.sizes ?? {})) {
		return {
			mediaWidth: media.media_details.sizes[defaultSize].width,
			mediaHeight: media.media_details.sizes[defaultSize].height,
			mediaSourceUrl: media.media_details.sizes[defaultSize].source_url,
		};
	}

	const mediumSize = applyFilters(
		'editor.PostFeaturedImage.imageSize',
		'medium',
		media.id,
	);
	if (mediumSize in (media?.media_details?.sizes ?? {})) {
		return {
			mediaWidth: media.media_details.sizes[mediumSize].width,
			mediaHeight: media.media_details.sizes[mediumSize].height,
			mediaSourceUrl: media.media_details.sizes[mediumSize].source_url,
		};
	}

	// Use fallbackSize when defaultSize is not available.
	const fallbackSize = applyFilters(
		'editor.PostFeaturedImage.imageSize',
		'thumbnail',
		media.id,
	);
	if (fallbackSize in (media?.media_details?.sizes ?? {})) {
		return {
			mediaWidth: media.media_details.sizes[fallbackSize].width,
			mediaHeight: media.media_details.sizes[fallbackSize].height,
			mediaSourceUrl: media.media_details.sizes[fallbackSize].source_url,
		};
	}

	// Use full image size when fallbackSize and defaultSize are not available.
	return {
		mediaWidth: media.media_details.width,
		mediaHeight: media.media_details.height,
		mediaSourceUrl: media.source_url,
	};
};

```
