@@ -31,6 +31,15 @@ declare module 'astro:content' {
31
31
ContentEntryMap [ C ]
32
32
> [ 'slug' ] ;
33
33
34
+ export type ReferenceDataEntry < C extends CollectionKey , E extends keyof DataEntryMap [ C ] = string > = {
35
+ collection : C ;
36
+ id : E ;
37
+ }
38
+ export type ReferenceContentEntry < C extends keyof ContentEntryMap , E extends ValidContentEntrySlug < C > | ( string & { } ) = string > = {
39
+ collection : C ;
40
+ slug : E ;
41
+ }
42
+
34
43
/** @deprecated Use `getEntry` instead. */
35
44
export function getEntryBySlug <
36
45
C extends keyof ContentEntryMap ,
@@ -61,19 +70,13 @@ declare module 'astro:content' {
61
70
export function getEntry <
62
71
C extends keyof ContentEntryMap ,
63
72
E extends ValidContentEntrySlug < C > | ( string & { } ) ,
64
- > ( entry : {
65
- collection : C ;
66
- slug : E ;
67
- } ) : E extends ValidContentEntrySlug < C >
73
+ > ( entry : ReferenceContentEntry < C , E > ) : E extends ValidContentEntrySlug < C >
68
74
? Promise < CollectionEntry < C > >
69
75
: Promise < CollectionEntry < C > | undefined > ;
70
76
export function getEntry <
71
77
C extends keyof DataEntryMap ,
72
78
E extends keyof DataEntryMap [ C ] | ( string & { } ) ,
73
- > ( entry : {
74
- collection : C ;
75
- id : E ;
76
- } ) : E extends keyof DataEntryMap [ C ]
79
+ > ( entry : ReferenceDataEntry < C , E > ) : E extends keyof DataEntryMap [ C ]
77
80
? Promise < DataEntryMap [ C ] [ E ] >
78
81
: Promise < CollectionEntry < C > | undefined > ;
79
82
export function getEntry <
@@ -99,16 +102,10 @@ declare module 'astro:content' {
99
102
100
103
/** Resolve an array of entry references from the same collection */
101
104
export function getEntries < C extends keyof ContentEntryMap > (
102
- entries : {
103
- collection : C ;
104
- slug : ValidContentEntrySlug < C > ;
105
- } [ ] ,
105
+ entries : ReferenceContentEntry < C , ValidContentEntrySlug < C > > [ ] ,
106
106
) : Promise < CollectionEntry < C > [ ] > ;
107
107
export function getEntries < C extends keyof DataEntryMap > (
108
- entries : {
109
- collection : C ;
110
- id : keyof DataEntryMap [ C ] ;
111
- } [ ] ,
108
+ entries : ReferenceDataEntry < C , keyof DataEntryMap [ C ] > [ ] ,
112
109
) : Promise < CollectionEntry < C > [ ] > ;
113
110
114
111
export function render < C extends keyof AnyEntryMap > (
@@ -120,14 +117,8 @@ declare module 'astro:content' {
120
117
) : import ( 'astro/zod' ) . ZodEffects <
121
118
import ( 'astro/zod' ) . ZodString ,
122
119
C extends keyof ContentEntryMap
123
- ? {
124
- collection : C ;
125
- slug : ValidContentEntrySlug < C > ;
126
- }
127
- : {
128
- collection : C ;
129
- id : keyof DataEntryMap [ C ] ;
130
- }
120
+ ? ReferenceContentEntry < C , ValidContentEntrySlug < C > >
121
+ : ReferenceDataEntry < C , keyof DataEntryMap [ C ] >
131
122
> ;
132
123
// Allow generic `string` to avoid excessive type errors in the config
133
124
// if `dev` is not running to update as you edit.
0 commit comments