function isArrayOf(elemType, obj) {
    if (!obj) {
        return false;
    }
    if (!(Array.isArray(obj))) {
        return false;
    }
    for (var idx in obj) {
        if (obj.hasOwnProperty(idx)) {
            if (!(elemType(obj[idx]))) {
                return false;
            }
        }
    }
    return true;
}
/*
 * Type helpers
 *
 * Note: this is just for sanity checks on the JSON description which is
 * helpful for the programmer. No checks are done anymore once the lexer is
 * already 'compiled and checked'.
 *
 */
Type helpers
Note: this is just for sanity checks on the JSON description which is
helpful for the programmer. No checks are done anymore once the lexer is
already 'compiled and checked'.
Type helpers Note : this is just for sanity checks on the JSON description which is helpful for the programmer . No checks are done anymore once the lexer is already ' compiled and checked ' .
function isArrayOf(elemType, obj) {
    if (!obj) {
        return false;
    }
    if (!(Array.isArray(obj))) {
        return false;
    }
    for (var idx in obj) {
        if (obj.hasOwnProperty(idx)) {
            if (!(elemType(obj[idx]))) {
                return false;
            }
        }
    }
    return true;
}
function isArrayOf ( elemType , obj ) { if ( ! obj ) { return false ; } if ( ! ( Array . isArray ( obj ) ) ) { return false ; } for ( var idx in obj ) { if ( obj . hasOwnProperty ( idx ) ) { if ( ! ( elemType ( obj [ idx ] ) ) ) { return false ; } } } return true ; }
Type helpers
 Note: this is just for sanity checks on the JSON description which is
 helpful for the programmer.
Type helpers Note : this is just for sanity checks on the JSON description which is helpful for the programmer .