lib/render/client.js
function(path, value, data , op, computed){
    var computed = this.computed,
      op = op || "=", prev, 
      computedProperty = computed? computed[path]:null;

    if(op !== '='){
      prev = computedProperty? computedProperty.get(this): data[path];
      switch(op){
        case "+=":
          value = prev + value;
          break;
        case "-=":
          value = prev - value;
          break;
        case "*=":
          value = prev * value;
          break;
        case "/=":
          value = prev / value;
          break;
        case "%=":
          value = prev % value;
          break;
      }
    }
    if(computedProperty) {
      if(computedProperty.set) return computedProperty.set(this, value);
    }
    data[path] = value;
    return value;
  }
function(path, value, data , op, computed){
    var computed = this.computed,
      op = op || "=", prev, 
      computedProperty = computed? computed[path]:null;

    if(op !== '='){
      prev = computedProperty? computedProperty.get(this): data[path];
      switch(op){
        case "+=":
          value = prev + value;
          break;
        case "-=":
          value = prev - value;
          break;
        case "*=":
          value = prev * value;
          break;
        case "/=":
          value = prev / value;
          break;
        case "%=":
          value = prev % value;
          break;
      }
    }
    if(computedProperty) {
      if(computedProperty.set) return computedProperty.set(this, value);
    }
    data[path] = value;
    return value;
  }
function ( path , value , data , op , computed ) { var computed = this . computed , op = op || "=" , prev , computedProperty = computed ? computed [ path ] : null ; if ( op !== '=' ) { prev = computedProperty ? computedProperty . get ( this ) : data [ path ] ; switch ( op ) { case "+=" : value = prev + value ; break ; case "-=" : value = prev - value ; break ; case "*=" : value = prev * value ; break ; case "/=" : value = prev / value ; break ; case "%=" : value = prev % value ; break ; } } if ( computedProperty ) { if ( computedProperty . set ) return computedProperty . set ( this , value ) ; } data [ path ] = value ; return value ; }
simple accessor set
simple accessor set