diff --git a/packages/groq-builder/src/commands/parameters.ts b/packages/groq-builder/src/commands/parameters.ts index ca63b91..38435eb 100644 --- a/packages/groq-builder/src/commands/parameters.ts +++ b/packages/groq-builder/src/commands/parameters.ts @@ -4,6 +4,29 @@ import { Simplify } from "type-fest"; declare module "../groq-builder" { export interface GroqBuilder { + /** + * Defines the names and types of parameters that + * must be passed to the query. + * + * This method is just for defining types; + * it has no runtime effects. + * + * The parameter types should not include the `$` prefix. + * + * @example + * const productsBySlug = ( + * q.parameters<{ slug: string }>() + * .star + * .filterByType('product') + * // You can now reference the $slug parameter: + * .filterBy('slug.current == $slug') + * ); + * const results = await executeQuery( + * productsBySlug, + * // The 'slug' parameter is required: + * { parameters: { slug: "123" } } + * ) + */ parameters(): GroqBuilder< TResult, Override< @@ -14,6 +37,9 @@ declare module "../groq-builder" { } > >; + + /** @deprecated Use `parameters` to define parameters */ + variables: never; } }