      1
      2 var comb = exports;
      3
      4 /**
      5  * Determines if obj is a boolean
      6  *
      7  * @param {Anything} obj the thing to test if it is a boolean
      8  *
      9  * @returns {Boolean} true if it is a boolean false otherwise
     10  */
     11 comb.isBoolean = function(obj) {
     12     var undef, type = typeof obj;
     13     return obj != undef && type == "boolean" || type == "Boolean";
     14 };
     15
     16 /**
     17  * Determines if obj is undefined
     18  *
     19  * @param {Anything} obj the thing to test if it is undefined
     20  * @returns {Boolean} true if it is undefined false otherwise
     21  */
     22 comb.isUndefined = function(obj) {
     23     var undef;
     24     return obj !== null && obj === undef;
     25 };
     26
     27 /**
     28  * Determines if obj is undefined or null
     29  *
     30  * @param {Anything} obj the thing to test if it is undefined or null
     31  * @returns {Boolean} true if it is undefined or null false otherwise
     32  */
     33 comb.isUndefinedOrNull = function(obj){
     34     return comb.isUndefined(obj) || comb.isNull(obj);
     35 }
     36
     37 /**
     38  * Determines if obj is null
     39  *
     40  * @param {Anything} obj the thing to test if it is null
     41  *
     42  * @returns {Boolean} true if it is null false otherwise
     43  */
     44 comb.isNull = function(obj) {
     45     var undef;
     46     return obj !== undef && obj == null;
     47 };
     48
     49 /**
     50  * Determines if obj is an instance of a particular class
     51  *
     52  * @param {Anything} obj the thing to test if it and instnace of a class
     53  * @param {Object} Clazz used to determine if the object is an instance of
     54  *
     55  * @returns {Boolean} true if it is an instance of the clazz false otherwise
     56  */
     57 comb.isInstanceOf = function(obj, clazz) {
     58     if (typeof clazz == "function") {
     59         return obj instanceof clazz;
     60     }else{
     61         return false;
     62     }
     63 };