mirror of
https://github.com/openseadragon/openseadragon.git
synced 2024-11-23 05:36:09 +03:00
27 lines
690 B
JavaScript
27 lines
690 B
JavaScript
|
/**@constructor*/
|
||
|
function Reflection(obj) {
|
||
|
this.obj = obj;
|
||
|
}
|
||
|
|
||
|
Reflection.prototype.getConstructorName = function() {
|
||
|
if (this.obj.constructor.name) return this.obj.constructor.name;
|
||
|
var src = this.obj.constructor.toSource();
|
||
|
var name = src.substring(name.indexOf("function")+8, src.indexOf('(')).replace(/ /g,'');
|
||
|
return name;
|
||
|
}
|
||
|
|
||
|
Reflection.prototype.getMethod = function(name) {
|
||
|
for (var p in this.obj) {
|
||
|
if (p == name && typeof(this.obj[p]) == "function") return this.obj[p];
|
||
|
}
|
||
|
return null;
|
||
|
}
|
||
|
|
||
|
Reflection.prototype.getParameterNames = function() {
|
||
|
var src = this.obj.toSource();
|
||
|
src = src.substring(
|
||
|
src.indexOf("(", 8)+1, src.indexOf(")")
|
||
|
);
|
||
|
return src.split(/, ?/);
|
||
|
}
|