Code coverage report for object/unset.js

Statements: 100% (10 / 10)      Branches: 100% (2 / 2)      Functions: 100% (3 / 3)      Lines: 100% (9 / 9)     

All files » object/ » unset.js
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 241         1 3 2   2 1   2       1       1      
define(['./has'], function (has) {
 
    /**
     * Unset object property.
     */
    function unset(obj, prop){
        if (has(obj, prop)) {
            var parts = prop.split('.'),
                last = parts.pop();
            while (prop = parts.shift()) {
                obj = obj[prop];
            }
            return (delete obj[last]);
 
        } else {
            // if property doesn't exist treat as deleted
            return true;
        }
    }
 
    return unset;
 
});