import { AdapterState, AdapterEnhancer, IngressFunction } from '../types/AdapterTypes'; import createApplyMiddleware, { Middleware } from './internals/createApplyMiddleware'; type IngressMiddleware = Middleware< TActivity, TAdapterState, IngressFunction >; export default function applyIngressMiddleware( ...middlewares: IngressMiddleware[] ): AdapterEnhancer { return createApplyMiddleware>( (api: { ingress: any }) => api.ingress, (api: any, fn: any) => ({ ...api, ingress: fn }) )(...middlewares); } export type { IngressMiddleware };