@energica-city/shared-amplify-utils
Version:
Shared utilities for AWS Amplify projects
14 lines • 1.2 kB
TypeScript
import type { GraphQLInputWithModels, GraphQLHandlerReturn, GraphQLMiddlewareChain } from './types';
import type { AmplifyModelType } from '../../queries/types';
/**
* Create a GraphQL-specific middleware chain
*/
export declare function createGraphQLChain<TTypes extends Record<string, AmplifyModelType>, TSelected extends keyof TTypes & string = keyof TTypes & string, TReturn = GraphQLHandlerReturn>(config?: {
enableDebugLogging?: boolean;
onError?: (error: unknown, middlewareName: string) => void;
}): GraphQLMiddlewareChain<TTypes, TSelected, TReturn>;
/**
* Wrap a GraphQL resolver with middleware chain functionality
*/
export declare function wrapGraphQLResolver<TTypes extends Record<string, AmplifyModelType>, TSelected extends keyof TTypes & string = keyof TTypes & string, TReturn extends GraphQLHandlerReturn = GraphQLHandlerReturn>(chain: GraphQLMiddlewareChain<TTypes, TSelected, TReturn>, resolver: (input: GraphQLInputWithModels<TTypes, TSelected>) => Promise<TReturn>): (event: GraphQLInputWithModels<TTypes, TSelected>['event'], context: GraphQLInputWithModels<TTypes, TSelected>['context']) => Promise<TReturn>;
//# sourceMappingURL=GraphQLMiddlewareChain.d.ts.map