Permalink
September 14, 2020 10:42
September 14, 2020 10:42
September 14, 2020 10:42
Newer
100644
20 lines (16 sloc)
827 Bytes
Ignoring revisions in .git-blame-ignore-revs.
1
'use strict';
2
4
var $TypeError = GetIntrinsic('%TypeError%');
5
6
var GetPrototypeFromConstructor = require('./GetPrototypeFromConstructor');
7
var IsArray = require('./IsArray');
8
var OrdinaryObjectCreate = require('./OrdinaryObjectCreate');
9
11
12
module.exports = function OrdinaryCreateFromConstructor(constructor, intrinsicDefaultProto) {
13
GetIntrinsic(intrinsicDefaultProto); // throws if not a valid intrinsic
14
var proto = GetPrototypeFromConstructor(constructor, intrinsicDefaultProto);
15
var slots = arguments.length < 3 ? [] : arguments[2];
16
if (!IsArray(slots)) {
17
throw new $TypeError('Assertion failed: if provided, `internalSlotsList` must be a List');
18
}
19
return OrdinaryObjectCreate(proto, slots);
20
};