WIP - add extractor, generate snippet_data
This commit is contained in:
74
node_modules/trough/index.js
generated
vendored
Normal file
74
node_modules/trough/index.js
generated
vendored
Normal file
@ -0,0 +1,74 @@
|
||||
'use strict'
|
||||
|
||||
var wrap = require('./wrap.js')
|
||||
|
||||
module.exports = trough
|
||||
|
||||
trough.wrap = wrap
|
||||
|
||||
var slice = [].slice
|
||||
|
||||
// Create new middleware.
|
||||
function trough() {
|
||||
var fns = []
|
||||
var middleware = {}
|
||||
|
||||
middleware.run = run
|
||||
middleware.use = use
|
||||
|
||||
return middleware
|
||||
|
||||
// Run `fns`. Last argument must be a completion handler.
|
||||
function run() {
|
||||
var index = -1
|
||||
var input = slice.call(arguments, 0, -1)
|
||||
var done = arguments[arguments.length - 1]
|
||||
|
||||
if (typeof done !== 'function') {
|
||||
throw new Error('Expected function as last argument, not ' + done)
|
||||
}
|
||||
|
||||
next.apply(null, [null].concat(input))
|
||||
|
||||
// Run the next `fn`, if any.
|
||||
function next(err) {
|
||||
var fn = fns[++index]
|
||||
var params = slice.call(arguments, 0)
|
||||
var values = params.slice(1)
|
||||
var length = input.length
|
||||
var pos = -1
|
||||
|
||||
if (err) {
|
||||
done(err)
|
||||
return
|
||||
}
|
||||
|
||||
// Copy non-nully input into values.
|
||||
while (++pos < length) {
|
||||
if (values[pos] === null || values[pos] === undefined) {
|
||||
values[pos] = input[pos]
|
||||
}
|
||||
}
|
||||
|
||||
input = values
|
||||
|
||||
// Next or done.
|
||||
if (fn) {
|
||||
wrap(fn, next).apply(null, input)
|
||||
} else {
|
||||
done.apply(null, [null].concat(input))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Add `fn` to the list.
|
||||
function use(fn) {
|
||||
if (typeof fn !== 'function') {
|
||||
throw new Error('Expected `fn` to be a function, not ' + fn)
|
||||
}
|
||||
|
||||
fns.push(fn)
|
||||
|
||||
return middleware
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user