| Server IP : 74.208.250.37 / Your IP : 216.73.216.114 Web Server : Apache/2.4.58 (Ubuntu) System : Linux ubuntu 6.8.0-124-generic #124-Ubuntu SMP PREEMPT_DYNAMIC Tue May 26 13:00:45 UTC 2026 x86_64 User : miferval ( 1000) PHP Version : 8.3.6 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /usr/share/node_modules/libtap/lib/ |
Upload File : |
'use strict'
const typeOf = arg =>
typeof arg === 'object' ? (arg ? 'object' : 'null')
: typeof arg
module.exports = (name_, extra_, cb_, defaultName) => {
let name
let extra
let cb
const args = [name_, extra_, cb_]
// this only works if it's literally the 4th argument.
// used internally.
defaultName = defaultName || ''
for (let i = 0; i < 3 && i < args.length; i++) {
const arg = args[i]
const type = typeOf(arg)
if (name === undefined && (type === 'string' || type === 'number'))
name = '' + arg
else if (type === 'object') {
extra = arg
if (name === undefined)
name = null
} else if (type === 'function') {
if (extra === undefined)
extra = {}
if (name === undefined)
name = null
cb = arg
} else if (arg === false) {
// it's handy while developing to put a ! in front of a
// function to temporarily make a test todo
continue
} else if (type !== 'undefined')
throw new TypeError('unknown argument passed to parseTestArgs: ' + type)
}
if (!extra)
extra = {}
if (!cb && defaultName !== '/dev/stdin')
extra.todo = extra.todo || true
if (!name && extra.name)
name = extra.name
if (!name && cb && cb.name)
name = cb.name
name = name || defaultName
extra.name = name
extra.cb = cb || todoCb
return extra
}
const todoCb = () => {
throw new Error('callback called for TODO test')
}