es2015/equals.js
function setEquals(set1, set2, traversedValues) {
  if (set1.size !== set2.size) {
    return false
  }
  
  return structureEquals(
    set1,
    set2,
    iteratorToArray(set1.values()),
    iteratorToArray(set2.values()),
    () => undefined,
    traversedValues
  )
}
function setEquals(set1, set2, traversedValues) {
  if (set1.size !== set2.size) {
    return false
  }
  
  return structureEquals(
    set1,
    set2,
    iteratorToArray(set1.values()),
    iteratorToArray(set2.values()),
    () => undefined,
    traversedValues
  )
}
function setEquals ( set1 , set2 , traversedValues ) { if ( set1 . size !== set2 . size ) { return false } return structureEquals ( set1 , set2 , iteratorToArray ( set1 . values ( ) ) , iteratorToArray ( set2 . values ( ) ) , ( ) => undefined , traversedValues ) }
Compares the two provided sets.

@param {Set<*>} set1 The 1st set to compare.
@param {Set<*>} set2 The 2nd set 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 sets are equal.
Compares the two provided sets .