Skip to content

Commit

Permalink
No commit message
Browse files Browse the repository at this point in the history
  • Loading branch information
NikolaRHristov committed Nov 29, 2024
1 parent 547790f commit 980ba5b
Showing 1 changed file with 19 additions and 0 deletions.
19 changes: 19 additions & 0 deletions .astro/content.d.ts
Original file line number Diff line number Diff line change
@@ -1,15 +1,19 @@
declare module 'astro:content' {
export interface RenderResult {
Content: import('astro/runtime/server/index.js').AstroComponentFactory;

headings: import('astro').MarkdownHeading[];

remarkPluginFrontmatter: Record<string, any>;
}

interface Render {
'.md': Promise<RenderResult>;
}

export interface RenderedContent {
html: string;

metadata?: {
imagePaths: Array<string>;
[key: string]: unknown;
Expand All @@ -21,12 +25,15 @@ declare module 'astro:content' {
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;

type AllValuesOf<T> = T extends any ? T[keyof T] : never;

type ValidContentEntrySlug<C extends keyof ContentEntryMap> = AllValuesOf<
ContentEntryMap[C]
>['slug'];
Expand All @@ -53,6 +60,7 @@ declare module 'astro:content' {
collection: C,
filter?: (entry: CollectionEntry<C>) => entry is E,
): Promise<E[]>;

export function getCollection<C extends keyof AnyEntryMap>(
collection: C,
filter?: (entry: CollectionEntry<C>) => unknown,
Expand All @@ -63,19 +71,23 @@ declare module 'astro:content' {
E extends ValidContentEntrySlug<C> | (string & {}),
>(entry: {
collection: C;

slug: E;
}): E extends ValidContentEntrySlug<C>
? Promise<CollectionEntry<C>>
: Promise<CollectionEntry<C> | undefined>;

export function getEntry<
C extends keyof DataEntryMap,
E extends keyof DataEntryMap[C] | (string & {}),
>(entry: {
collection: C;

id: E;
}): E extends keyof DataEntryMap[C]
? Promise<DataEntryMap[C][E]>
: Promise<CollectionEntry<C> | undefined>;

export function getEntry<
C extends keyof ContentEntryMap,
E extends ValidContentEntrySlug<C> | (string & {}),
Expand All @@ -85,6 +97,7 @@ declare module 'astro:content' {
): E extends ValidContentEntrySlug<C>
? Promise<CollectionEntry<C>>
: Promise<CollectionEntry<C> | undefined>;

export function getEntry<
C extends keyof DataEntryMap,
E extends keyof DataEntryMap[C] | (string & {}),
Expand All @@ -99,12 +112,15 @@ declare module 'astro:content' {
export function getEntries<C extends keyof ContentEntryMap>(
entries: {
collection: C;

slug: ValidContentEntrySlug<C>;
}[],
): Promise<CollectionEntry<C>[]>;

export function getEntries<C extends keyof DataEntryMap>(
entries: {
collection: C;

id: keyof DataEntryMap[C];
}[],
): Promise<CollectionEntry<C>[]>;
Expand All @@ -120,10 +136,12 @@ declare module 'astro:content' {
C extends keyof ContentEntryMap
? {
collection: C;

slug: ValidContentEntrySlug<C>;
}
: {
collection: C;

id: keyof DataEntryMap[C];
}
>;
Expand All @@ -135,6 +153,7 @@ declare module 'astro:content' {
): import('astro/zod').ZodEffects<import('astro/zod').ZodString, never>;

type ReturnTypeOrOriginal<T> = T extends (...args: any[]) => infer R ? R : T;

type InferEntrySchema<C extends keyof AnyEntryMap> = import('astro/zod').infer<
ReturnTypeOrOriginal<Required<ContentConfig['collections'][C]>['schema']>
>;
Expand Down

0 comments on commit 980ba5b

Please sign in to comment.