You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
28 lines
670 B
28 lines
670 B
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;
|
|
}
|
|
|
|
export {
|
|
extendPrototype,
|
|
getDescriptor,
|
|
createProxyFunction,
|
|
};
|