Build 574548stable
Module 444139
1,984 characters · in no known chunkDependencies
Source Raw
function(e,t,n){"use strict";var i=n(741623),r=n(798493),s=n(630307),a=n(14665),o=n(44650),l=n(899204),u=n(159367),c=n(421580),d=n(732937),_=n(94535),h=n(203894),f=n(227106);e.exports=function(e,t,n,E,p){var m,g=h(e);if(void 0!==e&&!f(e))throw new i("Assertion failed: O must be undefined or an Object");if(!d(t))throw new i("Assertion failed: P must be a Property Key");if("boolean"!=typeof n)throw new i("Assertion failed: extensible must be a Boolean");if(!a(E))throw new i("Assertion failed: Desc must be a Property Descriptor");if(void 0!==p&&!a(p))throw new i("Assertion failed: current must be a Property Descriptor, or undefined");if(void 0===p)return!!n&&("Undefined"===g||(l(E)?r(u,_,o,e,t,E):r(u,_,o,e,t,{"[[Configurable]]":!!E["[[Configurable]]"],"[[Enumerable]]":!!E["[[Enumerable]]"],"[[Value]]":E["[[Value]]"],"[[Writable]]":!!E["[[Writable]]"]})));if(!s({IsAccessorDescriptor:l,IsDataDescriptor:u},p))throw new i("`current`, when present, must be a fully populated and valid Property Descriptor");if(!p["[[Configurable]]"]){if("[[Configurable]]"in E&&E["[[Configurable]]"]||"[[Enumerable]]"in E&&!_(E["[[Enumerable]]"],p["[[Enumerable]]"])||!c(E)&&!_(l(E),l(p)))return!1;if(l(p)){if("[[Get]]"in E&&!_(E["[[Get]]"],p["[[Get]]"])||"[[Set]]"in E&&!_(E["[[Set]]"],p["[[Set]]"]))return!1}else if(!p["[[Writable]]"]&&("[[Writable]]"in E&&E["[[Writable]]"]||"[[Value]]"in E&&!_(E["[[Value]]"],p["[[Value]]"])))return!1}return"Undefined"===g||(u(p)&&l(E)?r(u,_,o,e,t,{"[[Configurable]]":!!(m=("[[Configurable]]"in E?E:p)["[[Configurable]]"]),"[[Enumerable]]":!!("[[Enumerable]]"in E?E:p)["[[Enumerable]]"],"[[Get]]":("[[Get]]"in E?E:p)["[[Get]]"],"[[Set]]":("[[Set]]"in E?E:p)["[[Set]]"]}):l(p)&&u(E)?r(u,_,o,e,t,{"[[Configurable]]":!!(m=("[[Configurable]]"in E?E:p)["[[Configurable]]"]),"[[Enumerable]]":!!("[[Enumerable]]"in E?E:p)["[[Enumerable]]"],"[[Value]]":("[[Value]]"in E?E:p)["[[Value]]"],"[[Writable]]":!!("[[Writable]]"in E?E:p)["[[Writable]]"]}):r(u,_,o,e,t,E))}}