examine-instance inspects an object and its prototype and catalogues the properties and methods.
npm install examine-instance -S
import examine from "examine-instance";
class MyClass {
constructor() {
this._property1 = "";
this._isGood = true;
}
get isGood() { return this._isGood; }
get property1() { return this._property1; }
set property1(value) { this._property1 = value; }
method1(value) {
return value;
}
}
const instance = new MyClass();
const result = examine(instance);
/*
{
methods: [ 'method1' ],
attributes: [ '_property1', '_isGood' ],
readOnly: [ 'isGood' ],
readWrite: [ 'property1' ],
writeOnly: []
}
*/