New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details
Socket
Book a DemoSign in
Socket

tafel

Package Overview
Dependencies
Maintainers
1
Versions
3
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

tafel

Routing table built on routington

latest
Source
npmnpm
Version
1.2.0
Version published
Maintainers
1
Created
Source

tafel Build Status

Routing table built on routington

Tafel encourages the creation of weakmap-powered routers. Route definitions are immutable. Weakmapping eliminates the need to use paths or arbitrary string keys to store and manipulate routing state.

Install

$ npm install --save tafel

Usage

var Table = require('tafel')
var table = Table()

var users = table.add('/users')
var user = table.add('/users/:id')

var match1 = table.match('/users')
//=> match1.key === users
//=> match1.params === {}

var match2 = table.match('/users/123')
//=> match2.key === user
//=> match2.params === {id: '123'}

table.path(user, {id: 123})
//=> /users/123

API

Table() -> object

Creates a new routing table.

table.add(path) -> object

Defines a new route. Returns a key that can be used for weakmapping other data associated with routing.

path

Required
Type: string

A routing path definition. See routington.define for more details on defining paths.

table.match(path) -> null / object

Matches a path against the routing table. Returns null if no match was found. Otherwise returns an object with:

params

Type: object

Matched path params. For the route definition /users/:id and the path /users/123, the path params are {id: '123'}. Note that all values are strings.

key

Type: object

The same key returned by table.add.

path

Required
Type: string

An application path (not a path definition).

table.path(key, [params]) -> string

Generates the path for a given route in the same form expected by table.match as input.

key

Required
Type: object

The route key returned by route.add.

params

Type: object
Default: {}

Path parameters to interpolate. Each parameter in the URL must be defined.

var route = table.add({path: '/packages/:name'})
var path = table.path(route, {name: 'tafel'})
//=> /packages/tafel

License

MIT © Ben Drucker

Keywords

routing

FAQs

Package last updated on 10 May 2016

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts