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.
 
 
 
 
 

27 lines
664 B

import { inspectList } from './helpers'
function inspectMapEntry([key, value], options) {
options.truncate -= 4
key = options.inspect(key, options)
options.truncate -= key.length
value = options.inspect(value, options)
return `${key} => ${value}`
}
// IE11 doesn't support `map.entries()`
function mapToEntries(map) {
const entries = []
map.forEach((value, key) => {
entries.push([key, value])
})
return entries
}
export default function inspectMap(map, options) {
const size = map.size - 1
if (size <= 0) {
return 'Map{}'
}
options.truncate -= 7
return `Map{ ${inspectList(mapToEntries(map), options, inspectMapEntry)} }`
}