Skip to content
This repository was archived by the owner on Sep 9, 2024. It is now read-only.

Commit 8641036

Browse files
committed
feat: improve typing on media hooks
1 parent 91bb851 commit 8641036

File tree

1 file changed

+17
-6
lines changed

1 file changed

+17
-6
lines changed

packages/core/src/lib/hooks/useMediaAsset.ts

Lines changed: 17 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,13 +10,18 @@ import type {
1010
CollectionWithDefaults,
1111
Entry,
1212
MediaField,
13+
ObjectValue,
1314
UnknownField,
1415
} from '@staticcms/core';
1516

16-
export function useGetMediaAsset<T extends MediaField, EF extends BaseField = UnknownField>(
17+
export function useGetMediaAsset<
18+
T extends MediaField,
19+
EF extends BaseField = UnknownField,
20+
D = ObjectValue,
21+
>(
1722
collection?: CollectionWithDefaults<EF>,
1823
field?: T,
19-
entry?: Entry,
24+
entry?: Entry<D>,
2025
currentFolder?: string,
2126
isDirectory = false,
2227
): (url: string | undefined | null) => Promise<string | undefined | null> {
@@ -30,7 +35,9 @@ export function useGetMediaAsset<T extends MediaField, EF extends BaseField = Un
3035
return url;
3136
}
3237

33-
const asset = await dispatch(getAsset<T, EF>(collection, entry, url, field, currentFolder));
38+
const asset = await dispatch(
39+
getAsset<T, EF>(collection, entry as Entry, url, field, currentFolder),
40+
);
3441

3542
if (asset !== emptyAsset) {
3643
return asset?.toString() ?? '';
@@ -42,11 +49,15 @@ export function useGetMediaAsset<T extends MediaField, EF extends BaseField = Un
4249
);
4350
}
4451

45-
export default function useMediaAsset<T extends MediaField, EF extends BaseField = UnknownField>(
52+
export default function useMediaAsset<
53+
T extends MediaField,
54+
EF extends BaseField = UnknownField,
55+
D = ObjectValue,
56+
>(
4657
url: string | undefined | null,
4758
collection?: CollectionWithDefaults<EF>,
4859
field?: T,
49-
entry?: Entry,
60+
entry?: Entry<D>,
5061
currentFolder?: string,
5162
isDirectory?: boolean,
5263
): string {
@@ -68,7 +79,7 @@ export default function useMediaAsset<T extends MediaField, EF extends BaseField
6879

6980
const fetchMedia = async () => {
7081
const asset = await dispatch(
71-
getAsset<T, EF>(collection, entry, debouncedUrl, field, currentFolder),
82+
getAsset<T, EF>(collection, entry as Entry, debouncedUrl, field, currentFolder),
7283
);
7384

7485
if (alive) {

0 commit comments

Comments
 (0)