src/components/meta/Property/Type.js
function(object, type, property) {
        var self = this;

        object.__addSetter(property, this.SETTER_NAME, this.SETTER_WEIGHT, function(value, fields) {

            var fieldsType = type || {};

            for (var i = 0, ii = fields.length; i < ii; ++i) {

                var params = fieldsType[1] || {};

                if (!('element' in params)) {
                    return value;
                }

                fieldsType = params.element;
            }

            return self.apply(value, fieldsType, property, fields, object);
        });
    }
function(object, type, property) {
        var self = this;

        object.__addSetter(property, this.SETTER_NAME, this.SETTER_WEIGHT, function(value, fields) {

            var fieldsType = type || {};

            for (var i = 0, ii = fields.length; i < ii; ++i) {

                var params = fieldsType[1] || {};

                if (!('element' in params)) {
                    return value;
                }

                fieldsType = params.element;
            }

            return self.apply(value, fieldsType, property, fields, object);
        });
    }
function ( object , type , property ) { var self = this ; object . __addSetter ( property , this . SETTER_NAME , this . SETTER_WEIGHT , function ( value , fields ) { var fieldsType = type || { } ; for ( var i = 0 , ii = fields . length ; i < ii ; ++ i ) { var params = fieldsType [ 1 ] || { } ; if ( ! ( 'element' in params ) ) { return value ; } fieldsType = params . element ; } return self . apply ( value , fieldsType , property , fields , object ) ; } ) ; }
Add property setter which checks and converts property value according to its type

@param {object} object   Some object
@param {string} type     Property type
@param {string} property Property name

@this {metaProcessor}
Add property setter which checks and converts property value according to its type