UNPKG

hasura-node-types

Version:

Add Hasura types, event trigger and action wrapper for common web frameworks

14 lines (13 loc) 1.54 kB
import { Handler, Request } from "express"; import { HasuraActionPayload, WithHasuraOptions, HasuraActionHandler, HasuraEventHandler, HasuraEventHandlerMap, HasuraActionHandlerMap, AnyRecord, HasuraEvent, BaseHasuraContext, WithHasura, HasuraScheduledTriggerHandler, HasuraScheduledTriggerHandlerMap } from "./types"; import { Logger } from "./utils"; export declare type HasuraExpressContext<L extends Logger = Logger> = BaseHasuraContext<L> & { readonly request: Request; }; export declare type HasuraActionExpressHandler<P extends HasuraActionPayload = HasuraActionPayload, R extends AnyRecord = AnyRecord> = HasuraActionHandler<P, R, HasuraExpressContext>; export declare type HasuraActionExpressHandlerMap = HasuraActionHandlerMap<HasuraActionExpressHandler>; export declare type HasuraEventExpressHandler<EV extends HasuraEvent = HasuraEvent, R extends AnyRecord = AnyRecord, N extends string = string> = HasuraEventHandler<EV, R, N, HasuraExpressContext>; export declare type HasuraEventExpressHandlerMap = HasuraEventHandlerMap<HasuraEventExpressHandler>; export declare type HasuraScheduledTriggerExpressHandler<P = any, R = unknown> = HasuraScheduledTriggerHandler<P, R, HasuraExpressContext>; export declare type HasuraScheduledTriggerExpressHandlerMap = HasuraScheduledTriggerHandlerMap<HasuraScheduledTriggerExpressHandler>; export declare const withExpress: <CtxOps extends AnyRecord = AnyRecord, L extends Logger = Logger>(options?: WithHasuraOptions<CtxOps, L>) => WithHasura<Handler, HasuraExpressContext<L> & CtxOps>;