import { AdapterState, AdapterEnhancer, EgressFunction } from '../types/AdapterTypes'; import createApplyMiddleware, { Middleware } from './internals/createApplyMiddleware'; type EgressMiddleware = Middleware< TActivity, TAdapterState, EgressFunction >; export default function applyEgressMiddleware( ...middlewares: EgressMiddleware[] ): AdapterEnhancer { return createApplyMiddleware>( (api) => api.egress, (api, fn) => ({ ...api, egress: fn }) )(...middlewares); } export type { EgressMiddleware };