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 12 1319x   139x 139x 139x 153x 153x 139x 14x 14x   139x  
export function getClassWithAllParentClasses(target: Function) {
  const result = [target];
  let currentNode = target;
  while (Object.getPrototypeOf(currentNode)) {
    const parent = Object.getPrototypeOf(currentNode);
 
    if (parent === Function.prototype) break;
    result.push(parent);
    currentNode = parent;
  }
  return result.reverse(); // reverse so we go from parents to children
}