All files index.js

100% Statements 13/13
87.5% Branches 7/8
100% Functions 1/1
100% Lines 12/12

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 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27      11x 11x 7x         4x 2x 2x 2x 2x       2x 2x 3x       4x    
import { type } from './type.js';
 
export function clone(source) {
  const t = type(source);
  if (t !== 'object' && t !== 'array') {
    return source;
  }
 
  let target;
 
  if (t === 'object') {
    target = {};
    for (let i in source) {
      Eif (source.hasOwnProperty(i)) {
        target[i] = clone(source[i]); // 注意这里
      }
    }
  } else {
    target = [];
    for (let i = 0; i < source.length; i++) {
      target[i] = clone(source[i]); // 注意这里
    }
  }
 
  return target;
}