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.
24 lines
714 B
24 lines
714 B
import { inspectList } from './helpers.js'; |
|
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)} }`; |
|
}
|
|
|