Links

combineRoutes

Combines routing for different Effects, prefixed with path passed as a first argument.

Importing

import { combineRoutes } from '@marblejs/http';

Type declaration

combineRoutes :: (string, RouteCombinerConfig) -> RouteEffectGroup
combineRoutes :: (string, (RouteEffect | RouteEffectGroup)[]) -> RouteEffectGroup

Parameters

parameter
definition
path
string
configOrEffects
RouteCombinerConfig | Array<RouteEffect | RouteEffectGroup>

RouteCombinerConfig

parameter
definition
effects
Array<RouteEffect | RouteEffectGroup>
middlewares
<optional> Array<HttpMiddlewareEffect>

Returns

Factorized RouteEffectGroup object.

Example

user.effects.ts
import { combineRoutes } from '@marblejs/http';
import { authorize$ } from 'auth.middleware';
// const getUsers$ = ...
// const postUser$ = ...
export const user$ = combineRoutes('/user', {
middlewares: [authorize$],
effects: [getUsers$, postUser$],
});
api.effects.ts
import { combineRoutes } from '@marblejs/http';
import { user$ } from './user.effects';
// const root$ = ...
// const notFound$ = ...
export const api$ = combineRoutes('/api/v1', [
root$,
user$,
notFound$,
]);
Last modified 1yr ago