LengthOfArrayLike.js 486 B

123456789101112131415161718192021
  1. 'use strict';
  2. var GetIntrinsic = require('../GetIntrinsic');
  3. var $TypeError = GetIntrinsic('%TypeError%');
  4. var Get = require('./Get');
  5. var ToLength = require('./ToLength');
  6. var Type = require('./Type');
  7. // https://tc39.es/ecma262/2020/#sec-lengthofarraylike
  8. module.exports = function LengthOfArrayLike(obj) {
  9. if (Type(obj) !== 'Object') {
  10. throw new $TypeError('Assertion failed: `obj` must be an Object');
  11. }
  12. return ToLength(Get(obj, 'length'));
  13. };
  14. // TODO: use this all over