forked from enviPath/enviPy
Current Dev State
This commit is contained in:
47
static/js/ketcher2/node_modules/tap/lib/extra-from-error.js
generated
vendored
Normal file
47
static/js/ketcher2/node_modules/tap/lib/extra-from-error.js
generated
vendored
Normal file
@ -0,0 +1,47 @@
|
||||
var stack = require('./stack.js')
|
||||
|
||||
module.exports = function (er, extra, options) {
|
||||
extra = Object.keys(options || {}).reduce(function (set, k) {
|
||||
if (!(k in set) && !/^tapChild/.test(k))
|
||||
set[k] = options[k]
|
||||
return set
|
||||
}, extra || {})
|
||||
|
||||
if (!er || typeof er !== 'object') {
|
||||
extra.error = er
|
||||
return extra
|
||||
}
|
||||
|
||||
var message = er.message
|
||||
var addName = true
|
||||
|
||||
if (!message && er.stack) {
|
||||
message = er.stack.split('\n')[0]
|
||||
addName = false
|
||||
}
|
||||
|
||||
er.message = ''
|
||||
var st = er.stack
|
||||
if (st) {
|
||||
st = st.split('\n')
|
||||
// parse out the 'at' bit from the first line.
|
||||
extra.at = stack.parseLine(st[1])
|
||||
extra.stack = stack.clean(st)
|
||||
}
|
||||
er.message = message
|
||||
|
||||
if (er.name && er.name !== 'Error')
|
||||
extra.type = er.name
|
||||
|
||||
Object.keys(er).forEach(function (k) {
|
||||
if (k === 'message' ||
|
||||
k === 'domainEmitter' ||
|
||||
k === 'domainThrown' ||
|
||||
k === 'domain' ||
|
||||
k === 'domainBound')
|
||||
return
|
||||
extra[k] = er[k]
|
||||
})
|
||||
|
||||
return extra
|
||||
}
|
||||
Reference in New Issue
Block a user