You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
// Workaround for http://code.google.com/p/v8/issues/detail?id=2804
"use strict";
var create = Object.create, shim;
if (!require("./set-prototype-of/is-implemented")()) { shim = require("./set-prototype-of/shim"); }
module.exports = (function () { var nullObject, polyProps, desc; if (!shim) return create; if (shim.level !== 1) return create;
nullObject = {}; polyProps = {}; desc = { configurable: false, enumerable: false, writable: true, value: undefined }; Object.getOwnPropertyNames(Object.prototype).forEach(function (name) { if (name === "__proto__") { polyProps[name] = { configurable: true, enumerable: false, writable: true, value: undefined }; return; } polyProps[name] = desc; }); Object.defineProperties(nullObject, polyProps);
Object.defineProperty(shim, "nullPolyfill", { configurable: false, enumerable: false, writable: false, value: nullObject });
return function (prototype, props) { return create(prototype === null ? nullObject : prototype, props); }; })();
|