@straw-hat/fetcher
Version:
Simple HTTP Client
25 lines • 737 B
JavaScript
export function compose(...fns) {
return fns.reduce((a, b) => (...args) => a(b(...args)));
}
/**
* Compose the list of middleware into a single middleware.
* @param middlewares List of middleware
*/
export function composeMiddleware(...middlewares) {
if (middlewares.length === 0) {
return (arg) => arg;
}
if (middlewares.length === 1) {
return middlewares[0];
}
return compose(...middlewares);
}
/**
* This function doesn't really "do anything" at runtime, it's just the identity
* function. Its only purpose is to defeat TypeScript's type.
* @param middleware The middleware
*/
export function createMiddleware(middleware) {
return middleware;
}
//# sourceMappingURL=middleware.js.map