5 var getPrototypeOf = Object.getPrototypeOf || function (obj) {
10 if (obj === null || typeof obj !== 'object')
13 if (obj instanceof Object)
14 var copy = { __proto__: getPrototypeOf(obj) }
16 var copy = Object.create(null)
18 Object.getOwnPropertyNames(obj).forEach(function (key) {
19 Object.defineProperty(copy, key, Object.getOwnPropertyDescriptor(obj, key))