crelte / queries / Handle
Type Alias: Handle()<T, F>
ts
type Handle<T, F> = (csr, vars) => Awaited<ReturnType<F>>;Handles a query request.
Example
ts
// queries/custom.ts
import { vars, type Handle, gql, namedQuery } from 'crelte/queries';
// It is good practice to have the query name inside the file
export const customQuery = namedQuery('custom');
export const variables = {
name: vars.string(),
};
export const handle: Handle<typeof variables> = async (csr, vars) => {
if (vars.name === 'demo') {
throw new Response('not allowed', { status: 400 });
}
return { name: vars.name };
};Type Parameters
T
T extends Record<string, QueryVar<any>> = Record<string, QueryVar<any>>
F
F extends HandleFn<T> = HandleFn<T>
Parameters
csr
vars
InferVariableTypes<T>
Returns
Awaited<ReturnType<F>>