es2015/equals.js
function mapEquals(map1, map2, traversedValues) {
  if (map1.size !== map2.size) {
    return false
  }
  
  return structureEquals(
    map1,
    map2,
    iteratorToArray(map1.keys()),
    iteratorToArray(map2.keys()),
    (map, key) => map.get(key),
    traversedValues
  )
}
function mapEquals(map1, map2, traversedValues) {
  if (map1.size !== map2.size) {
    return false
  }
  
  return structureEquals(
    map1,
    map2,
    iteratorToArray(map1.keys()),
    iteratorToArray(map2.keys()),
    (map, key) => map.get(key),
    traversedValues
  )
}
function mapEquals ( map1 , map2 , traversedValues ) { if ( map1 . size !== map2 . size ) { return false } return structureEquals ( map1 , map2 , iteratorToArray ( map1 . keys ( ) ) , iteratorToArray ( map2 . keys ( ) ) , ( map , key ) => map . get ( key ) , traversedValues ) }
Compares the two provided maps.

@param {Map<*, *>} map1 The 1st map to compare.
@param {Map<*, *>} map2 The 2nd map to compare.
@param {Map<Object, Object>} traversedValues A map of non-primitive values
traversed in the first structure to their equal counterparts in the
second structure.
@return {boolean} {@code true} if the maps are equal.
Compares the two provided maps .