3.0.0 • Published 4 years ago

@xpbytes/express-routes-archive v3.0.0

Weekly downloads
1
License
MIT
Repository
github
Last release
4 years ago

Express Routes Archive

npm NPM Package Version Maintainability

Utility class to register routes and dynamically generate their URL or path from anywhere in the express app.

Installation

yarn add @xpbytes/express-routes-archive

It has the following peer dependencies:

yarn add @types/express @types/express-serve-static-core @types/node -D

Usage

import { RoutesArchive } from '@xpbytes/express-routes-archive'

const root = new RoutesArchive()
root.register('foo', '/test')
root.register(
  'bar',
  (mountedAt: string, arg: any) => `${mountedAt}/test?bar=${arg}`
)

root.path('test')
// => /test

root.path('bar', 'my-arg')
// => /test?bar=my-arg

When you have a sub-router / controller, create a new RoutesArchive, passing in the original and the mount path:

const up = new RoutesArchive('/level', root)
up.register('level', '/two')
up.register('penthouse', (mountedAt: string) => `${mountedAt}/over-9000`)

up.path('level')
// => /level/two

root.path('level')
// => /level/two

Use RoutesArchive#url(route, req) to generate full urls instead of path only:

root.url('penthouse', req)
// => https://test.xpbytes.com/level/over-9000

Configuration

  • SSL_ENABLED env to thruthy to make generated urls https.
  • SERVER_URL env to mount the path onto that URL instead of the request hostname.
3.0.0

4 years ago

2.1.0

5 years ago

2.0.4

5 years ago

2.0.3

5 years ago

2.0.2

5 years ago

2.0.1

5 years ago

2.0.0

5 years ago

1.0.1

5 years ago

1.0.0

5 years ago