All files index.js

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

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 28 29 30      1x     11x 11x 7x         4x 2x 2x 2x 2x       2x 2x 3x       4x    
import { type } from "./type.js";
 
 
Array.from('abc') // ['a', 'b', 'c']
 
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;
}