You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

18 lines
597 B

import getFuncName from 'get-func-name'
import inspectObject from './object'
const toStringTag = typeof Symbol !== 'undefined' && Symbol.toStringTag ? Symbol.toStringTag : false
export default function inspectClass(value, options) {
let name = ''
if (toStringTag && toStringTag in value) {
name = value[toStringTag]
}
name = name || getFuncName(value.constructor)
// Babel transforms anonymous classes to the name `_class`
if (!name || name === '_class') {
name = '<Anonymous Class>'
}
options.truncate -= name.length
return `${name}${inspectObject(value, options)}`
}