summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--.changeset/small-apes-clap.md5
-rw-r--r--packages/astro/content-types.template.d.ts11
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<{