All files / src/common clone.ts

50% Statements 1/2
100% Branches 0/0
0% Functions 0/1
50% Lines 1/2

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      3x              
/**
 * It is not guranteed to work in every case.
 **/
export function cloneClassInstance<T>(instance: T): T {
  return Object.assign(
    // eslint-disable-next-line @typescript-eslint/no-unsafe-argument
    Object.create(Object.getPrototypeOf(instance)),
    instance
  ) as T;
}