| /* exported extendPrototype, getDescriptor, createProxyFunction */ |
| |
| function extendPrototype(sources, destination) { |
| var i; |
| var len = sources.length; |
| var sourcePrototype; |
| for (i = 0; i < len; i += 1) { |
| sourcePrototype = sources[i].prototype; |
| for (var attr in sourcePrototype) { |
| if (Object.prototype.hasOwnProperty.call(sourcePrototype, attr)) destination.prototype[attr] = sourcePrototype[attr]; |
| } |
| } |
| } |
| |
| function getDescriptor(object, prop) { |
| return Object.getOwnPropertyDescriptor(object, prop); |
| } |
| |
| function createProxyFunction(prototype) { |
| function ProxyFunction() {} |
| ProxyFunction.prototype = prototype; |
| return ProxyFunction; |
| } |