Skip to content

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

CrelteServerRequest

vars

InferVariableTypes<T>

Returns

Awaited<ReturnType<F>>