All files / services/utils/inheritance index.ts

100% Statements 11/11
100% Branches 2/2
100% Functions 1/1
100% Lines 11/11

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 1217x   120x 120x 120x 240x 240x 120x 120x 120x   120x
export function getClassWithAllParentClasses(target: Function) {
  const result = [target];
  let currentNode = target;
  while (Object.getPrototypeOf(currentNode)) {
    const parent = Object.getPrototypeOf(target);
    if (parent === currentNode) break;
    result.push(parent);
    currentNode = parent;
  }
  return result.reverse(); // reverse so we go from parents to children
}