SetDataHas.js 756 B

1234567891011121314151617181920212223242526
  1. 'use strict';
  2. var $TypeError = require('es-errors/type');
  3. var CanonicalizeKeyedCollectionKey = require('./CanonicalizeKeyedCollectionKey');
  4. var IsArray = require('./IsArray');
  5. var SameValue = require('./SameValue');
  6. var some = require('../helpers/some');
  7. // https://262.ecma-international.org/16.0/#sec-setdatahas
  8. module.exports = function SetDataHas(setData, value) {
  9. if (!IsArray(setData) && setData !== 'EMPTY') {
  10. throw new $TypeError('Assertion failed: `setData` must be a List or ~EMPTY~');
  11. }
  12. // if (SetDataIndex(setData, value) === 'NOT-FOUND') { return false; } // step 1
  13. // return true; // step 2
  14. var canonValue = CanonicalizeKeyedCollectionKey(value);
  15. return some(setData, function (e) {
  16. return SameValue(e, canonValue);
  17. });
  18. };