LogoLogo
ChangelogGitHubTwitterGitter
v2.x
v2.x
  • Introduction
  • Overview
    • Getting started
    • Effects
    • Routing
    • Middlewares
    • Error handling
    • How does it glue​ together?
  • Advanced
    • Context
    • Server events
    • Validation
    • Streaming
    • Output interceptor
  • WebSockets
    • Getting started
    • Effects
    • Middlewares
    • Error handling
    • Connections handling
  • API Reference
    • core
      • bindTo
      • createServer
      • combineRoutes
      • createContextToken
      • EffectFactory
      • r.pipe
      • httpListener
      • operator: matchEvent
      • operator: use
    • websockets
      • webSocketListener
      • operator: broadcast
      • operator: mapToServer
    • middleware-body
    • middleware-logger
    • middleware-io
    • middleware-jwt
      • Token signing
    • middleware-joi
    • middleware-cors
    • middleware-multipart
  • Other
    • Migration from version 1.x
    • Changelog
    • FAQ
Powered by GitBook
On this page
  • Importing
  • Type declaration
  • Parameters
  • Returns
  • Example
  1. API Reference
  2. core

combineRoutes

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

Importing

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

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/core';
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/core';
import { user$ } from './user';

// const root$ = ...
// const notFound$ = ...

export const api$ = combineRoutes('/api/v1', [
  root$, user$, notFound$,
]);
PreviouscreateServerNextcreateContextToken

Last updated 6 years ago