src/js/oop.js
function instanceOf(obj, clazz) {
    if (clazz !== null && clazz !== undefined) {
        if (obj === null || obj === undefined)  {
            return false;
        } else if (obj.clazz === undefined) {
            return (obj instanceof clazz);
        } else {
            return obj.clazz !== null &&
                   (obj.clazz === clazz ||
                    obj.clazz.$parents[clazz.$hash$] !== undefined);
        }
    }

    throw new Error("instanceOf(): null class");
}
function instanceOf(obj, clazz) {
    if (clazz !== null && clazz !== undefined) {
        if (obj === null || obj === undefined)  {
            return false;
        } else if (obj.clazz === undefined) {
            return (obj instanceof clazz);
        } else {
            return obj.clazz !== null &&
                   (obj.clazz === clazz ||
                    obj.clazz.$parents[clazz.$hash$] !== undefined);
        }
    }

    throw new Error("instanceOf(): null class");
}
function instanceOf ( obj , clazz ) { if ( clazz !== null && clazz !== undefined ) { if ( obj === null || obj === undefined ) { return false ; } else if ( obj . clazz === undefined ) { return ( obj instanceof clazz ) ; } else { return obj . clazz !== null && ( obj . clazz === clazz || obj . clazz . $parents [ clazz . $hash$ ] !== undefined ) ; } } throw new Error ( "instanceOf(): null class" ) ; }
Test if the given object is instance of the specified class or interface. It is preferable
to use this method instead of JavaScript "instanceof" operator whenever you are dealing with
zebkit classes and interfaces.
@param  {Object} obj an object to be evaluated
@param  {Function} clazz a class or interface
@return {Boolean} true if a passed object is instance of the given class or interface
@method instanceOf
@for  zebkit
Test if the given object is instance of the specified class or interface . It is preferable to use this method instead of JavaScript instanceof operator whenever you are dealing with zebkit classes and interfaces .