diff --git a/object.js b/object.js index 4b809ee..5fc2afe 100644 --- a/object.js +++ b/object.js @@ -208,7 +208,9 @@ define(function (require) { Object.defineProperty = shims.defineProperty = has('object-defineproperty-dom') ? useNativeForDom(Object.defineProperty, defineProperty) - : defineProperty; + : has('object-defineproperty-function') + ? defineProperty + : definePropertyFunctionPrototype; } if (!has('object-isextensible')) { @@ -327,6 +329,10 @@ define(function (require) { object[name] = descriptor && descriptor.value; return object; } + function definePropertyFunctionPrototype (fn, name, descriptor) { + fn[name] = name == 'prototype' ? Object.defineProperty.apply(this, arguments) : (descriptor && descriptor.value); + return object; + } function getOwnPropertyDescriptor (object, name) { return hasProp(object, name)