set up Biome
This commit is contained in:
Vendored
+92
-58
@@ -1,22 +1,22 @@
|
||||
declare module 'astro:content' {
|
||||
declare module "astro:content" {
|
||||
interface Render {
|
||||
'.mdx': Promise<{
|
||||
Content: import('astro').MarkdownInstance<{}>['Content'];
|
||||
headings: import('astro').MarkdownHeading[];
|
||||
".mdx": Promise<{
|
||||
Content: import("astro").MarkdownInstance<{}>["Content"];
|
||||
headings: import("astro").MarkdownHeading[];
|
||||
remarkPluginFrontmatter: Record<string, any>;
|
||||
components: import('astro').MDXInstance<{}>['components'];
|
||||
components: import("astro").MDXInstance<{}>["components"];
|
||||
}>;
|
||||
}
|
||||
}
|
||||
|
||||
declare module 'astro:content' {
|
||||
declare module "astro:content" {
|
||||
export interface RenderResult {
|
||||
Content: import('astro/runtime/server/index.js').AstroComponentFactory;
|
||||
headings: import('astro').MarkdownHeading[];
|
||||
Content: import("astro/runtime/server/index.js").AstroComponentFactory;
|
||||
headings: import("astro").MarkdownHeading[];
|
||||
remarkPluginFrontmatter: Record<string, any>;
|
||||
}
|
||||
interface Render {
|
||||
'.md': Promise<RenderResult>;
|
||||
".md": Promise<RenderResult>;
|
||||
}
|
||||
|
||||
export interface RenderedContent {
|
||||
@@ -28,11 +28,13 @@ declare module 'astro:content' {
|
||||
}
|
||||
}
|
||||
|
||||
declare module 'astro:content' {
|
||||
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 CollectionEntry<C extends CollectionKey> = Flatten<
|
||||
AnyEntryMap[C]
|
||||
>;
|
||||
|
||||
export type ContentCollectionKey = keyof ContentEntryMap;
|
||||
export type DataCollectionKey = keyof DataEntryMap;
|
||||
@@ -40,7 +42,7 @@ declare module 'astro:content' {
|
||||
type AllValuesOf<T> = T extends any ? T[keyof T] : never;
|
||||
type ValidContentEntrySlug<C extends keyof ContentEntryMap> = AllValuesOf<
|
||||
ContentEntryMap[C]
|
||||
>['slug'];
|
||||
>["slug"];
|
||||
|
||||
export type ReferenceDataEntry<
|
||||
C extends CollectionKey,
|
||||
@@ -56,7 +58,9 @@ declare module 'astro:content' {
|
||||
collection: C;
|
||||
slug: E;
|
||||
};
|
||||
export type ReferenceLiveEntry<C extends keyof LiveContentConfig['collections']> = {
|
||||
export type ReferenceLiveEntry<
|
||||
C extends keyof LiveContentConfig["collections"],
|
||||
> = {
|
||||
collection: C;
|
||||
id: string;
|
||||
};
|
||||
@@ -74,12 +78,15 @@ declare module 'astro:content' {
|
||||
: Promise<CollectionEntry<C> | undefined>;
|
||||
|
||||
/** @deprecated Use `getEntry` instead. */
|
||||
export function getDataEntryById<C extends keyof DataEntryMap, E extends keyof DataEntryMap[C]>(
|
||||
collection: C,
|
||||
entryId: E,
|
||||
): Promise<CollectionEntry<C>>;
|
||||
export function getDataEntryById<
|
||||
C extends keyof DataEntryMap,
|
||||
E extends keyof DataEntryMap[C],
|
||||
>(collection: C, entryId: E): Promise<CollectionEntry<C>>;
|
||||
|
||||
export function getCollection<C extends keyof AnyEntryMap, E extends CollectionEntry<C>>(
|
||||
export function getCollection<
|
||||
C extends keyof AnyEntryMap,
|
||||
E extends CollectionEntry<C>,
|
||||
>(
|
||||
collection: C,
|
||||
filter?: (entry: CollectionEntry<C>) => entry is E,
|
||||
): Promise<E[]>;
|
||||
@@ -88,11 +95,16 @@ declare module 'astro:content' {
|
||||
filter?: (entry: CollectionEntry<C>) => unknown,
|
||||
): Promise<CollectionEntry<C>[]>;
|
||||
|
||||
export function getLiveCollection<C extends keyof LiveContentConfig['collections']>(
|
||||
export function getLiveCollection<
|
||||
C extends keyof LiveContentConfig["collections"],
|
||||
>(
|
||||
collection: C,
|
||||
filter?: LiveLoaderCollectionFilterType<C>,
|
||||
): Promise<
|
||||
import('astro').LiveDataCollectionResult<LiveLoaderDataType<C>, LiveLoaderErrorType<C>>
|
||||
import("astro").LiveDataCollectionResult<
|
||||
LiveLoaderDataType<C>,
|
||||
LiveLoaderErrorType<C>
|
||||
>
|
||||
>;
|
||||
|
||||
export function getEntry<
|
||||
@@ -131,10 +143,17 @@ declare module 'astro:content' {
|
||||
? Promise<DataEntryMap[C][E]> | undefined
|
||||
: Promise<DataEntryMap[C][E]>
|
||||
: Promise<CollectionEntry<C> | undefined>;
|
||||
export function getLiveEntry<C extends keyof LiveContentConfig['collections']>(
|
||||
export function getLiveEntry<
|
||||
C extends keyof LiveContentConfig["collections"],
|
||||
>(
|
||||
collection: C,
|
||||
filter: string | LiveLoaderEntryFilterType<C>,
|
||||
): Promise<import('astro').LiveDataEntryResult<LiveLoaderDataType<C>, LiveLoaderErrorType<C>>>;
|
||||
): Promise<
|
||||
import("astro").LiveDataEntryResult<
|
||||
LiveLoaderDataType<C>,
|
||||
LiveLoaderErrorType<C>
|
||||
>
|
||||
>;
|
||||
|
||||
/** Resolve an array of entry references from the same collection */
|
||||
export function getEntries<C extends keyof ContentEntryMap>(
|
||||
@@ -150,8 +169,8 @@ declare module 'astro:content' {
|
||||
|
||||
export function reference<C extends keyof AnyEntryMap>(
|
||||
collection: C,
|
||||
): import('astro/zod').ZodEffects<
|
||||
import('astro/zod').ZodString,
|
||||
): import("astro/zod").ZodEffects<
|
||||
import("astro/zod").ZodString,
|
||||
C extends keyof ContentEntryMap
|
||||
? ReferenceContentEntry<C, ValidContentEntrySlug<C>>
|
||||
: ReferenceDataEntry<C, keyof DataEntryMap[C]>
|
||||
@@ -161,57 +180,72 @@ declare module 'astro:content' {
|
||||
// Invalid collection names will be caught at build time.
|
||||
export function reference<C extends string>(
|
||||
collection: C,
|
||||
): import('astro/zod').ZodEffects<import('astro/zod').ZodString, never>;
|
||||
): 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']>
|
||||
>;
|
||||
type InferEntrySchema<C extends keyof AnyEntryMap> =
|
||||
import("astro/zod").infer<
|
||||
ReturnTypeOrOriginal<Required<ContentConfig["collections"][C]>["schema"]>
|
||||
>;
|
||||
|
||||
type ContentEntryMap = {
|
||||
|
||||
};
|
||||
type ContentEntryMap = {};
|
||||
|
||||
type DataEntryMap = {
|
||||
"blog": Record<string, {
|
||||
id: string;
|
||||
body?: string;
|
||||
collection: "blog";
|
||||
data: InferEntrySchema<"blog">;
|
||||
rendered?: RenderedContent;
|
||||
filePath?: string;
|
||||
}>;
|
||||
|
||||
blog: Record<
|
||||
string,
|
||||
{
|
||||
id: string;
|
||||
body?: string;
|
||||
collection: "blog";
|
||||
data: InferEntrySchema<"blog">;
|
||||
rendered?: RenderedContent;
|
||||
filePath?: string;
|
||||
}
|
||||
>;
|
||||
};
|
||||
|
||||
type AnyEntryMap = ContentEntryMap & DataEntryMap;
|
||||
|
||||
type ExtractLoaderTypes<T> = T extends import('astro/loaders').LiveLoader<
|
||||
type ExtractLoaderTypes<T> = T extends import("astro/loaders").LiveLoader<
|
||||
infer TData,
|
||||
infer TEntryFilter,
|
||||
infer TCollectionFilter,
|
||||
infer TError
|
||||
>
|
||||
? { data: TData; entryFilter: TEntryFilter; collectionFilter: TCollectionFilter; error: TError }
|
||||
: { data: never; entryFilter: never; collectionFilter: never; error: never };
|
||||
type ExtractDataType<T> = ExtractLoaderTypes<T>['data'];
|
||||
type ExtractEntryFilterType<T> = ExtractLoaderTypes<T>['entryFilter'];
|
||||
type ExtractCollectionFilterType<T> = ExtractLoaderTypes<T>['collectionFilter'];
|
||||
type ExtractErrorType<T> = ExtractLoaderTypes<T>['error'];
|
||||
? {
|
||||
data: TData;
|
||||
entryFilter: TEntryFilter;
|
||||
collectionFilter: TCollectionFilter;
|
||||
error: TError;
|
||||
}
|
||||
: {
|
||||
data: never;
|
||||
entryFilter: never;
|
||||
collectionFilter: never;
|
||||
error: never;
|
||||
};
|
||||
type ExtractDataType<T> = ExtractLoaderTypes<T>["data"];
|
||||
type ExtractEntryFilterType<T> = ExtractLoaderTypes<T>["entryFilter"];
|
||||
type ExtractCollectionFilterType<T> =
|
||||
ExtractLoaderTypes<T>["collectionFilter"];
|
||||
type ExtractErrorType<T> = ExtractLoaderTypes<T>["error"];
|
||||
|
||||
type LiveLoaderDataType<C extends keyof LiveContentConfig['collections']> =
|
||||
LiveContentConfig['collections'][C]['schema'] extends undefined
|
||||
? ExtractDataType<LiveContentConfig['collections'][C]['loader']>
|
||||
: import('astro/zod').infer<
|
||||
Exclude<LiveContentConfig['collections'][C]['schema'], undefined>
|
||||
type LiveLoaderDataType<C extends keyof LiveContentConfig["collections"]> =
|
||||
LiveContentConfig["collections"][C]["schema"] extends undefined
|
||||
? ExtractDataType<LiveContentConfig["collections"][C]["loader"]>
|
||||
: import("astro/zod").infer<
|
||||
Exclude<LiveContentConfig["collections"][C]["schema"], undefined>
|
||||
>;
|
||||
type LiveLoaderEntryFilterType<C extends keyof LiveContentConfig['collections']> =
|
||||
ExtractEntryFilterType<LiveContentConfig['collections'][C]['loader']>;
|
||||
type LiveLoaderCollectionFilterType<C extends keyof LiveContentConfig['collections']> =
|
||||
ExtractCollectionFilterType<LiveContentConfig['collections'][C]['loader']>;
|
||||
type LiveLoaderErrorType<C extends keyof LiveContentConfig['collections']> = ExtractErrorType<
|
||||
LiveContentConfig['collections'][C]['loader']
|
||||
type LiveLoaderEntryFilterType<
|
||||
C extends keyof LiveContentConfig["collections"],
|
||||
> = ExtractEntryFilterType<LiveContentConfig["collections"][C]["loader"]>;
|
||||
type LiveLoaderCollectionFilterType<
|
||||
C extends keyof LiveContentConfig["collections"],
|
||||
> = ExtractCollectionFilterType<
|
||||
LiveContentConfig["collections"][C]["loader"]
|
||||
>;
|
||||
type LiveLoaderErrorType<C extends keyof LiveContentConfig["collections"]> =
|
||||
ExtractErrorType<LiveContentConfig["collections"][C]["loader"]>;
|
||||
|
||||
export type ContentConfig = typeof import("../src/content.config.js");
|
||||
export type LiveContentConfig = never;
|
||||
|
||||
Reference in New Issue
Block a user