Code coverage report for lang/isEmpty.js

Statements: 100% (15 / 15)      Branches: 100% (10 / 10)      Functions: 100% (4 / 4)      Lines: 100% (14 / 14)     

All files » lang/ » isEmpty.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 13   2 11 5 6 5 5 3 3   5   1       1      
define(['../object/forOwn', './isArray'], function (forOwn, isArray) {
 
    function isEmpty(val){
        if (val == null) {
            // typeof null == 'object' so we check it first
            return false;
        } else if ( typeof val === 'string' || isArray(val) ) {
            return !val.length;
        } else if ( typeof val === 'object' || typeof val === 'function' ) {
            var result = true;
            forOwn(val, function(){
                result = false;
                return false; // break loop
            });
            return result;
        } else {
            return false;
        }
    }
 
    return isEmpty;
 
});