Socket
Socket
Sign inDemoInstall

ginga

Package Overview
Dependencies
Maintainers
1
Versions
23
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

ginga - npm Package Compare versions

Comparing version 3.0.0 to 3.0.1

.settings/settings.json

53

index.js

@@ -5,33 +5,12 @@ var is = require('./is')

var params = require('./params')
var Promise = require('pinkie-promise')
var caco = require('caco')
function wrapGenerator (gen) {
return function (ctx, callback) {
function step (err, res) {
// generator step
try {
var state = err ? iter.throw(err) : iter.next(res)
if (state.done) {
// generator done, callback middleware
callback(null, state.value)
} else if (state.value && is.function(state.value.then)) {
// thenable
state.value.then(function (res) {
step(null, res)
}, function (err) {
step(err || true)
})
}
} catch (err) {
// catch err, break generator
callback(err)
}
}
function next (err, res) {
process.nextTick(function () {
step(err, res)
})
}
var iter = gen.call(this, ctx, next)
step()
function wrapFn (gen) {
if (!is.function(gen)) throw new Error('Middleware must be a function')
if (!is.generator(gen)) return gen
// wrap generator with caco
var fn = caco(gen)
return function (ctx, next) {
fn.apply(this, arguments)
}

@@ -74,5 +53,3 @@ }

if (is.function(args[i])) {
this._hooks[name].push(
is.generator(args[i]) ? wrapGenerator(args[i]) : args[i]
)
this._hooks[name].push(wrapFn(args[i]))
} else if (is.array(args[i])) {

@@ -107,11 +84,5 @@ // use('a', [fn1, fn2, fn3])

var invoke = args.pop()
if (!is.function(invoke)) invoke = null
else if (is.generator(invoke)) invoke = wrapGenerator(invoke)
var invoke = is.function(args[args.length - 1]) ? wrapFn(args.pop()) : null
var pre = args.map(wrapFn)
var pre = args.map(function (fn) {
if (!is.function(fn)) throw new Error('Middleware must be a function')
return is.generator(fn) ? wrapGenerator(fn) : fn
})
// define scope method

@@ -118,0 +89,0 @@ this[name] = function () {

{
"name": "ginga",
"version": "3.0.0",
"version": "3.0.1",
"description": "Middleware framework for async functions using callback, promise or generator",

@@ -14,13 +14,7 @@ "scripts": {

},
"keywords": [
"api",
"util",
"hooks",
"middleware"
],
"author": "Adrian C Shum <adrian@cshum.com>",
"license": "MIT",
"dependencies": {
"is-generator-function": "^1.0.3",
"pinkie-promise": "^2.0.0"
"caco": "^1.0.0",
"is-generator-function": "^1.0.3"
},

@@ -27,0 +21,0 @@ "devDependencies": {

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc