1234567891011121314151617181920 |
- import { inspectProperty, inspectList } from './helpers'
- export default function inspectArray(array, options) {
- // Object.keys will always output the Array indices first, so we can slice by
- // `array.length` to get non-index properties
- const nonIndexProperties = Object.keys(array).slice(array.length)
- if (!array.length && !nonIndexProperties.length) return '[]'
- options.truncate -= 4
- const listContents = inspectList(array, options)
- options.truncate -= listContents.length
- let propertyContents = ''
- if (nonIndexProperties.length) {
- propertyContents = inspectList(
- nonIndexProperties.map(key => [key, array[key]]),
- options,
- inspectProperty
- )
- }
- return `[ ${listContents}${propertyContents ? `, ${propertyContents}` : ''} ]`
- }
|