Sha256: 56008ef5ef97d935368594d282c0c8553915df0e130c6e3179c09043a0b85dd8

Contents?: true

Size: 914 Bytes

Versions: 40

Compression:

Stored size: 914 Bytes

Contents

// Works with __proto__ only. Old v8 can't work with null proto objects.
/* eslint-disable no-proto */
var getDesc  = require('./$').getDesc
  , isObject = require('./$.is-object')
  , anObject = require('./$.an-object');
var check = function(O, proto){
  anObject(O);
  if(!isObject(proto) && proto !== null)throw TypeError(proto + ": can't set as prototype!");
};
module.exports = {
  set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line
    function(test, buggy, set){
      try {
        set = require('./$.ctx')(Function.call, getDesc(Object.prototype, '__proto__').set, 2);
        set(test, []);
        buggy = !(test instanceof Array);
      } catch(e){ buggy = true; }
      return function setPrototypeOf(O, proto){
        check(O, proto);
        if(buggy)O.__proto__ = proto;
        else set(O, proto);
        return O;
      };
    }({}, false) : undefined),
  check: check
};

Version data entries

40 entries across 18 versions & 7 rubygems

Version Path
ilog-0.4.1 node_modules/core-js/modules/$.set-proto.js
ilog-0.4.1 node_modules/core-js/library/modules/$.set-proto.js
ilog-0.4.0 node_modules/core-js/modules/$.set-proto.js
ilog-0.4.0 node_modules/core-js/library/modules/$.set-proto.js
ilog-0.3.3 node_modules/core-js/modules/$.set-proto.js
ilog-0.3.3 node_modules/core-js/library/modules/$.set-proto.js
locomotivecms-4.0.0.alpha1 app/javascript/node_modules/fbjs/node_modules/core-js/library/modules/$.set-proto.js
locomotivecms-4.0.0.alpha1 app/javascript/node_modules/fbjs/node_modules/core-js/modules/$.set-proto.js
locomotivecms-3.4.0 app/javascript/node_modules/fbjs/node_modules/core-js/modules/$.set-proto.js
locomotivecms-3.4.0 app/javascript/node_modules/fbjs/node_modules/core-js/library/modules/$.set-proto.js
cortex-0.1.3 spec/dummy/node_modules/fbjs/node_modules/core-js/library/modules/$.set-proto.js
cortex-0.1.3 spec/dummy/node_modules/fbjs/node_modules/core-js/modules/$.set-proto.js
lanes-0.8.0 node_modules/core-js/library/modules/$.set-proto.js
lanes-0.8.0 node_modules/core-js/modules/$.set-proto.js
xcodebuild-helper-1.2.5 externals/ios-sim-master/node_modules/core-js/modules/$.set-proto.js
xcodebuild-helper-1.2.5 externals/ios-sim-master/node_modules/core-js/library/modules/$.set-proto.js
xcodebuild-helper-1.2.3 externals/ios-sim-master/node_modules/core-js/modules/$.set-proto.js
xcodebuild-helper-1.2.3 externals/ios-sim-master/node_modules/core-js/library/modules/$.set-proto.js
babel-schmooze-sprockets-0.1.3 node_modules/core-js/modules/$.set-proto.js
babel-schmooze-sprockets-0.1.3 node_modules/core-js/library/modules/$.set-proto.js