KObservableData/KObservableData.js
function addData(a)
        {
            if(isObject(a.event.value) || isArray(a.event.value))
            {
                if(!isObservable(a.event.value))
                {
                    a.preventDefault();
                    var local = a.event.local,
                        str = local.__kbscopeString+(local.__kbscopeString.length !== 0 ? '.' : '')+a.key,
                        builder = (isObject(a.event.value) ? KObject : KArray)(local.__kbname,local,str);
                    
                    overwrite(builder).parseData(a.event.value);
                    if(local[a.key] === undefined)
                    {
                      local.add(a.key,builder);
                    }
                    else if(isArray(local))
                    {
                      local.splice(a.key,0,builder);
                    }
                    else if(isObject(local))
                    {
                      local.set(a.key,builder);
                    }
                }
            }
        }
function addData(a)
        {
            if(isObject(a.event.value) || isArray(a.event.value))
            {
                if(!isObservable(a.event.value))
                {
                    a.preventDefault();
                    var local = a.event.local,
                        str = local.__kbscopeString+(local.__kbscopeString.length !== 0 ? '.' : '')+a.key,
                        builder = (isObject(a.event.value) ? KObject : KArray)(local.__kbname,local,str);
                    
                    overwrite(builder).parseData(a.event.value);
                    if(local[a.key] === undefined)
                    {
                      local.add(a.key,builder);
                    }
                    else if(isArray(local))
                    {
                      local.splice(a.key,0,builder);
                    }
                    else if(isObject(local))
                    {
                      local.set(a.key,builder);
                    }
                }
            }
        }
function addData ( a ) { if ( isObject ( a . event . value ) || isArray ( a . event . value ) ) { if ( ! isObservable ( a . event . value ) ) { a . preventDefault ( ) ; var local = a . event . local , str = local . __kbscopeString + ( local . __kbscopeString . length !== 0 ? '.' : '' ) + a . key , builder = ( isObject ( a . event . value ) ? KObject : KArray ) ( local . __kbname , local , str ) ; overwrite ( builder ) . parseData ( a . event . value ) ; if ( local [ a . key ] === undefined ) { local . add ( a . key , builder ) ; } else if ( isArray ( local ) ) { local . splice ( a . key , 0 , builder ) ; } else if ( isObject ( local ) ) { local . set ( a . key , builder ) ; } } } }
these take care of recursion for us
these take care of recursion for us