diff --git a/.astro/types.d.ts b/.astro/types.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..ab2ee4a1588f91ff035ddcd810bbe19a258bbcf8 --- /dev/null +++ b/.astro/types.d.ts @@ -0,0 +1,192 @@ +declare module 'astro:content' { + interface Render { + '.mdx': Promise<{ + Content: import('astro').MarkdownInstance<{}>['Content']; + headings: import('astro').MarkdownHeading[]; + remarkPluginFrontmatter: Record<string, any>; + }>; + } +} + +declare module 'astro:content' { + interface Render { + '.md': Promise<{ + Content: import('astro').MarkdownInstance<{}>['Content']; + headings: import('astro').MarkdownHeading[]; + remarkPluginFrontmatter: Record<string, any>; + }>; + } +} + +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']; + + export function getEntryBySlug< + C extends keyof ContentEntryMap, + E extends ValidContentEntrySlug<C> | (string & {}), + >( + collection: C, + // Note that this has to accept a regular string too, for SSR + entrySlug: E + ): E extends ValidContentEntrySlug<C> + ? Promise<CollectionEntry<C>> + : Promise<CollectionEntry<C> | undefined>; + + 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>>( + 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 + ): Promise<CollectionEntry<C>[]>; + + export function getEntry< + C extends keyof ContentEntryMap, + 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 & {}), + >( + 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 & {}), + >( + collection: C, + id: E + ): E extends keyof DataEntryMap[C] + ? Promise<DataEntryMap[C][E]> + : Promise<CollectionEntry<C> | undefined>; + + /** Resolve an array of entry references from the same collection */ + 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>[]>; + + export function reference<C extends keyof AnyEntryMap>( + collection: C + ): import('astro/zod').ZodEffects< + import('astro/zod').ZodString, + C extends keyof ContentEntryMap + ? { + collection: C; + slug: ValidContentEntrySlug<C>; + } + : { + collection: C; + id: keyof DataEntryMap[C]; + } + >; + // Allow generic `string` to avoid excessive type errors in the config + // if `dev` is not running to update as you edit. + // 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>; + + 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 ContentEntryMap = { + "docs": { +"Funcionament/difusio.mdx": { + id: "Funcionament/difusio.mdx"; + slug: "funcionament/difusio"; + body: string; + collection: "docs"; + data: InferEntrySchema<"docs"> +} & { render(): Render[".mdx"] }; +"Funcionament/publicar.mdx": { + id: "Funcionament/publicar.mdx"; + slug: "funcionament/publicar"; + body: string; + collection: "docs"; + data: InferEntrySchema<"docs"> +} & { render(): Render[".mdx"] }; +"Funcionament/usuari-registrat.mdx": { + id: "Funcionament/usuari-registrat.mdx"; + slug: "funcionament/usuari-registrat"; + body: string; + collection: "docs"; + data: InferEntrySchema<"docs"> +} & { render(): Render[".mdx"] }; +"contacte.mdx": { + id: "contacte.mdx"; + slug: "contacte"; + body: string; + collection: "docs"; + data: InferEntrySchema<"docs"> +} & { render(): Render[".mdx"] }; +"es/index.mdx": { + id: "es/index.mdx"; + slug: "es"; + body: string; + collection: "docs"; + data: InferEntrySchema<"docs"> +} & { render(): Render[".mdx"] }; +"index.mdx": { + id: "index.mdx"; + slug: "index"; + body: string; + collection: "docs"; + data: InferEntrySchema<"docs"> +} & { render(): Render[".mdx"] }; +}; + + }; + + type DataEntryMap = { + + }; + + type AnyEntryMap = ContentEntryMap & DataEntryMap; + + export type ContentConfig = typeof import("../src/content/config.js"); +} diff --git a/.vscode/extensions.json b/.vscode/extensions.json new file mode 100644 index 0000000000000000000000000000000000000000..22a15055d638988eb33bb61536d27f623df92e4a --- /dev/null +++ b/.vscode/extensions.json @@ -0,0 +1,4 @@ +{ + "recommendations": ["astro-build.astro-vscode"], + "unwantedRecommendations": [] +} diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 0000000000000000000000000000000000000000..d6422097621fd7c1b1ccc6daa670c46aed7ef5b7 --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,11 @@ +{ + "version": "0.2.0", + "configurations": [ + { + "command": "./node_modules/.bin/astro dev", + "name": "Development server", + "request": "launch", + "type": "node-terminal" + } + ] +}