c18d52594184eaf83df8243fbec18951a574f54bd875be0b2e9faaf0afdc762fdde8f0b6e4f26033365dfd549f25effbeda9a14a22e48d310a7cc9804dd626 825 B

1234567891011121314151617181920
  1. 'use strict';
  2. var GetIntrinsic = require('get-intrinsic');
  3. var $TypeError = require('es-errors/type');
  4. var GetPrototypeFromConstructor = require('./GetPrototypeFromConstructor');
  5. var IsArray = require('./IsArray');
  6. var OrdinaryObjectCreate = require('./OrdinaryObjectCreate');
  7. // https://262.ecma-international.org/6.0/#sec-ordinarycreatefromconstructor
  8. module.exports = function OrdinaryCreateFromConstructor(constructor, intrinsicDefaultProto) {
  9. GetIntrinsic(intrinsicDefaultProto); // throws if not a valid intrinsic
  10. var proto = GetPrototypeFromConstructor(constructor, intrinsicDefaultProto);
  11. var slots = arguments.length < 3 ? [] : arguments[2];
  12. if (!IsArray(slots)) {
  13. throw new $TypeError('Assertion failed: if provided, `internalSlotsList` must be a List');
  14. }
  15. return OrdinaryObjectCreate(proto, slots);
  16. };