UNPKG

@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
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;