index.js
 1  'use strict'
 2  /* eslint no-proto: 0 */
 3  module.exports = Object.setPrototypeOf || ({ __proto__: [] } instanceof Array ? setProtoOf : mixinProperties)
 4  
 5  function setProtoOf (obj, proto) {
 6    obj.__proto__ = proto
 7    return obj
 8  }
 9  
10  function mixinProperties (obj, proto) {
11    for (var prop in proto) {
12      if (!Object.prototype.hasOwnProperty.call(obj, prop)) {
13        obj[prop] = proto[prop]
14      }
15    }
16    return obj
17  }