Module 444139

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