diff options
Diffstat (limited to '')
-rw-r--r-- | .changeset/small-apes-clap.md | 5 | ||||
-rw-r--r-- | packages/astro/content-types.template.d.ts | 11 |
2 files changed, 13 insertions, 3 deletions
diff --git a/.changeset/small-apes-clap.md b/.changeset/small-apes-clap.md new file mode 100644 index 000000000..1a682604a --- /dev/null +++ b/.changeset/small-apes-clap.md @@ -0,0 +1,5 @@ +--- +"astro": patch +--- + +Add `CollectionKey`, `ContentCollectionKey`, and `DataCollectionKey` exports to `astro:content` diff --git a/packages/astro/content-types.template.d.ts b/packages/astro/content-types.template.d.ts index 596764fe6..8e5b59c39 100644 --- a/packages/astro/content-types.template.d.ts +++ b/packages/astro/content-types.template.d.ts @@ -10,9 +10,14 @@ declare module 'astro:content' { declare module 'astro:content' { export { z } from 'astro/zod'; - - type Flatten<T> = T extends { [K: string]: infer U } ? U : never; - export type CollectionEntry<C extends keyof AnyEntryMap> = Flatten<AnyEntryMap[C]>; + + type Flatten<T> = T extends { [K: string]: infer U } ? U : never; + + export type CollectionKey = keyof AnyEntryMap; + export type CollectionEntry<C extends CollectionKey> = Flatten<AnyEntryMap[C]>; + + export type ContentCollectionKey = keyof ContentEntryMap; + export type DataCollectionKey = keyof DataEntryMap; // This needs to be in sync with ImageMetadata export type ImageFunction = () => import('astro/zod').ZodObject<{ |