'use strict'; var $TypeError = require('es-errors/type'); var CanonicalizeKeyedCollectionKey = require('./CanonicalizeKeyedCollectionKey'); var IsArray = require('./IsArray'); var SameValue = require('./SameValue'); var some = require('../helpers/some'); // https://262.ecma-international.org/16.0/#sec-setdatahas module.exports = function SetDataHas(setData, value) { if (!IsArray(setData) && setData !== 'EMPTY') { throw new $TypeError('Assertion failed: `setData` must be a List or ~EMPTY~'); } // if (SetDataIndex(setData, value) === 'NOT-FOUND') { return false; } // step 1 // return true; // step 2 var canonValue = CanonicalizeKeyedCollectionKey(value); return some(setData, function (e) { return SameValue(e, canonValue); }); };