Server IP : 162.213.251.212 / Your IP : 3.133.134.63 [ Web Server : LiteSpeed System : Linux business55.web-hosting.com 4.18.0-553.lve.el8.x86_64 #1 SMP Mon May 27 15:27:34 UTC 2024 x86_64 User : allssztx ( 535) PHP Version : 8.1.31 Disable Function : NONE Domains : 1 Domains MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/allssztx/www/easybuyer/node_modules/es-abstract/2021/ |
Upload File : |
'use strict'; var GetIntrinsic = require('get-intrinsic'); var $ObjectCreate = GetIntrinsic('%Object.create%', true); var $TypeError = GetIntrinsic('%TypeError%'); var $SyntaxError = GetIntrinsic('%SyntaxError%'); var IsArray = require('./IsArray'); var Type = require('./Type'); var forEach = require('../helpers/forEach'); var SLOT = require('internal-slot'); var hasProto = require('has-proto')(); // https://262.ecma-international.org/11.0/#sec-objectcreate module.exports = function OrdinaryObjectCreate(proto) { if (proto !== null && Type(proto) !== 'Object') { throw new $TypeError('Assertion failed: `proto` must be null or an object'); } var additionalInternalSlotsList = arguments.length < 2 ? [] : arguments[1]; if (!IsArray(additionalInternalSlotsList)) { throw new $TypeError('Assertion failed: `additionalInternalSlotsList` must be an Array'); } // var internalSlotsList = ['[[Prototype]]', '[[Extensible]]']; // step 1 // internalSlotsList.push(...additionalInternalSlotsList); // step 2 // var O = MakeBasicObject(internalSlotsList); // step 3 // setProto(O, proto); // step 4 // return O; // step 5 var O; if ($ObjectCreate) { O = $ObjectCreate(proto); } else if (hasProto) { O = { __proto__: proto }; } else { if (proto === null) { throw new $SyntaxError('native Object.create support is required to create null objects'); } var T = function T() {}; T.prototype = proto; O = new T(); } if (additionalInternalSlotsList.length > 0) { forEach(additionalInternalSlotsList, function (slot) { SLOT.set(O, slot, void undefined); }); } return O; };