forked from enviPath/enviPy
Current Dev State
This commit is contained in:
72
static/js/ketcher2/node_modules/tap/lib/clean-yaml-object.js
generated
vendored
Normal file
72
static/js/ketcher2/node_modules/tap/lib/clean-yaml-object.js
generated
vendored
Normal file
@ -0,0 +1,72 @@
|
||||
var cleanYamlObject = require('clean-yaml-object')
|
||||
var path = require('path')
|
||||
var Module = require('module')
|
||||
var fs = require('fs')
|
||||
var binpath = path.resolve(__dirname, '../bin')
|
||||
var stack = require('./stack.js')
|
||||
var Domain = require('domain').Domain
|
||||
|
||||
function hasOwn (obj, key) {
|
||||
return Object.prototype.hasOwnProperty.call(obj, key)
|
||||
}
|
||||
|
||||
module.exports = cleanTapYamlObject
|
||||
|
||||
function cleanTapYamlObject (object) {
|
||||
if (hasOwn(object, 'stack') && !hasOwn(object, 'at'))
|
||||
object.at = stack.parseLine(object.stack.split('\n')[0])
|
||||
|
||||
var file = object.at && object.at.file && path.resolve(object.at.file)
|
||||
if (file && (file.indexOf(__dirname) === 0 || file.indexOf(binpath) === 0))
|
||||
delete object.at
|
||||
|
||||
if (object.at && object.at.file && object.at.line && !object.source) {
|
||||
var content
|
||||
file = path.resolve(object.at.file)
|
||||
try {
|
||||
content = Module.wrap(fs.readFileSync(file))
|
||||
} catch (er) {}
|
||||
if (content) {
|
||||
content = (content.split('\n')[object.at.line - 1] || '').trim()
|
||||
if (content)
|
||||
object.source = content + '\n'
|
||||
}
|
||||
}
|
||||
|
||||
return cleanYamlObject(object, yamlFilter)
|
||||
}
|
||||
|
||||
function yamlFilter (propertyName, isRoot, source, target) {
|
||||
if (source instanceof Domain)
|
||||
return false
|
||||
|
||||
if (!isRoot)
|
||||
return true
|
||||
|
||||
if (propertyName === 'stack') {
|
||||
if (source.stack)
|
||||
target.stack = source.stack
|
||||
return false
|
||||
}
|
||||
|
||||
return !(propertyName === 'todo' ||
|
||||
propertyName === 'time' ||
|
||||
/^_?tapChild/.test(propertyName) ||
|
||||
/^tapStream/.test(propertyName) ||
|
||||
/^tapMochaTest/.test(propertyName) ||
|
||||
propertyName === 'cb' ||
|
||||
propertyName === 'name' ||
|
||||
propertyName === 'indent' ||
|
||||
propertyName === 'skip' ||
|
||||
propertyName === 'bail' ||
|
||||
propertyName === 'grep' ||
|
||||
propertyName === 'grepInvert' ||
|
||||
propertyName === 'only' ||
|
||||
propertyName === 'diagnostic' ||
|
||||
propertyName === 'buffered' ||
|
||||
propertyName === 'parent' ||
|
||||
propertyName === 'domainEmitter' ||
|
||||
propertyName === 'domainThrew' ||
|
||||
propertyName === 'domain' ||
|
||||
(propertyName === 'at' && !source.at))
|
||||
}
|
||||
Reference in New Issue
Block a user