@civ-clone/core-data-object
Version:
A data exchange object for converting a subset of a class instances to plain JSON.
21 lines (14 loc) • 512 B
text/typescript
import DataObject from '../DataObject';
export const generateInheritance = (object: DataObject | typeof DataObject) => {
let constructor =
object instanceof DataObject
? object.sourceClass<typeof DataObject>()
: object;
const stack: (typeof DataObject)[] = [];
while (constructor instanceof Function) {
stack.push(constructor);
constructor = Object.getPrototypeOf(constructor);
}
return stack.map((constructor) => constructor.name);
};
export default generateInheritance;