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>>