UNPKG

@gabliam/web-core

Version:
33 lines (32 loc) 1.14 kB
import { Container, gabliamValue } from '@gabliam/core'; import { extractArgsFn } from '../interface'; /** * InterceptorConstructor */ export type InterceptorConstructor = new () => Interceptor; /** * Interceptor */ export interface Interceptor { intercept(...args: any[]): gabliamValue<any>; } export declare function isInterceptor(value: any): value is Interceptor; export declare const createInterceptorResolver: (container: Container) => (interceptor: any) => Interceptor; /** * Get interceptors metadata. * If key is undefined, return the list of interceptors for a class (target) * else return the list of interceptors for a method (key) of a class (target) * @param {Container} container * @param {Object} target * @param {string} key? * @returns express.RequestHandler[] */ export declare function extractInterceptors(container: Container, target: any, key?: string): InterceptorInfo[]; /** * Get globals interceptors */ export declare const getGlobalInterceptors: (container: Container) => InterceptorInfo[]; export interface InterceptorInfo { instance: Interceptor; extractArgs: extractArgsFn; }