12345678910111213141516171819202122232425262728293031 |
- import { inspectProperty, inspectList } from './helpers'
- export default function inspectObject(object, options) {
- const properties = Object.getOwnPropertyNames(object)
- const symbols = Object.getOwnPropertySymbols ? Object.getOwnPropertySymbols(object) : []
- if (properties.length === 0 && symbols.length === 0) {
- return '{}'
- }
- options.truncate -= 4
- options.seen = options.seen || []
- if (options.seen.indexOf(object) >= 0) {
- return '[Circular]'
- }
- options.seen.push(object)
- const propertyContents = inspectList(
- properties.map(key => [key, object[key]]),
- options,
- inspectProperty
- )
- const symbolContents = inspectList(
- symbols.map(key => [key, object[key]]),
- options,
- inspectProperty
- )
- options.seen.pop()
- let sep = ''
- if (propertyContents && symbolContents) {
- sep = ', '
- }
- return `{ ${propertyContents}${sep}${symbolContents} }`
- }
|