Socket
Book a DemoInstallSign in
Socket

express-toss

Package Overview
Dependencies
Maintainers
1
Versions
8
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

express-toss

Makes express router handlers aware of promises. Brings more clear dataflow to handlers.

2.0.0
latest
npmnpm
Version published
Weekly downloads
0
-100%
Maintainers
1
Weekly downloads
 
Created
Source

express-toss

Travis Coveralls ISC licensed npm|express-toss flowtype

Makes express router handlers aware of promises. Brings more clear dataflow to express handlers.

toss.method

Transforms (rq) => Promise function to (rq, rs) => void function for use inside Express' handlers.

resolving

import tosser from 'express-toss'

var toss = tosser({ debug: true })

express.get('/resource', toss.method(rq =>
{
  return db.query().then(transform) /* … */
}))

— return value is used as response body with status 200 and adequate mime. MIME would be determined automatically by express (application/json in case of Object, text/html in case of string, learn more).

rejecting

import tosser from 'express-toss'

var toss = tosser({ debug: true })

express.get('/resource', toss.method(rq =>
{
  throw new TypeError
}))

— sync throws or promise rejections will convert into 500s with specific JSON body. If debug = true body is detailed, if debug = false it is like a simple internal-ish error.

Resp()

import tosser from 'express-toss'
import Resp   from 'express-toss/Resp'

var toss = tosser({ debug: true })

express.get('/resource', toss.method(rq =>
{
  // use `Resp` to fine-control response
  return Resp(200, 'text/html', html)

  // can be used for 400s
  return Resp(400, { server: error })
}))

Resp([status], [mime], body) is applied to express' response. Resp can be sync-returned or used inside promise.

Wrong()

import tosser from 'express-toss'
import Wrong  from 'express-toss/Wrong'

var toss = tosser({ debug: true })

// use Wrong to create protocol-level errors
// Wrong(code) creates constructor for `code` error
var NotPermitted = Wrong('permission_required')
var NotFound = Wrong('user_not_found', { status: 404 })

express.get('/resource', toss.method(rq =>
{
  // throwing or returning `Wrong` to fine-control response
  throw NotPermitted()

  // details can be supplied
  throw NotFound({ username: 'username' })
}))

Wrong(code, [options]) creates new specific error factory. Calling that factory creates error instance. This instance can be throwed/rejected or sync-returned to indicate error situation.

flow

FlowType definitions included.

license

ISC © Strider, 2017 — 2019.

FAQs

Package last updated on 20 May 2019

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

SocketSocket SOC 2 Logo

Product

About

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.

  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc

U.S. Patent No. 12,346,443 & 12,314,394. Other pending.