src/components/meta/Properties.js
function(fields, compareValue, options) {
            fields  = this.__resolveFields(fields);
            options = this.__resolveOptions(options);

            var property = fields.shift();

            if (options.check) {
                this.__checkProperty(property, {
                    readable: true,
                    method:   'is',
                    params:   _.toArray(arguments)
                });
            }

            var value  = this.__getPropertyValue([property].concat(fields), false);
            var result = !_.isUndefined(compareValue) ? value === compareValue : !!value;

            if (options.emit && this.__checkEmitEvent()) {
                var prop = [property].concat(fields).join('.');

                this.__emitEvent('property.' +  prop + '.is',  result);
                this.__emitEvent('property.is', prop, result);
            }

            return result;
        }
function(fields, compareValue, options) {
            fields  = this.__resolveFields(fields);
            options = this.__resolveOptions(options);

            var property = fields.shift();

            if (options.check) {
                this.__checkProperty(property, {
                    readable: true,
                    method:   'is',
                    params:   _.toArray(arguments)
                });
            }

            var value  = this.__getPropertyValue([property].concat(fields), false);
            var result = !_.isUndefined(compareValue) ? value === compareValue : !!value;

            if (options.emit && this.__checkEmitEvent()) {
                var prop = [property].concat(fields).join('.');

                this.__emitEvent('property.' +  prop + '.is',  result);
                this.__emitEvent('property.is', prop, result);
            }

            return result;
        }
function ( fields , compareValue , options ) { fields = this . __resolveFields ( fields ) ; options = this . __resolveOptions ( options ) ; var property = fields . shift ( ) ; if ( options . check ) { this . __checkProperty ( property , { readable : true , method : 'is' , params : _ . toArray ( arguments ) } ) ; } var value = this . __getPropertyValue ( [ property ] . concat ( fields ) , false ) ; var result = ! _ . isUndefined ( compareValue ) ? value === compareValue : ! ! value ; if ( options . emit && this . __checkEmitEvent ( ) ) { var prop = [ property ] . concat ( fields ) . join ( '.' ) ; this . __emitEvent ( 'property.' + prop + '.is' , result ) ; this . __emitEvent ( 'property.is' , prop , result ) ; } return result ; }
Checker whether property value is equals specified one.
If value does not specified - checks whether property value is not false

@param {string|array} fields         Property fields
@param {*}            compareValue   Value for comparison
@param {object}       options        Options (emit, check)

@returns {booelan} true if property value is equals to specified or or is not false

@this {clazz|object}
Checker whether property value is equals specified one . If value does not specified - checks whether property value is not false