2012-07-04 2 views
1

В настоящее время я экспериментирую с реализацией ShareJS для operational transformation (в частности, JSON API). Вики не совсем поняли, что произойдет, если я удалю родительский объект JSON, и появилась другая операция, в которую вставлялась дочерняя JSON. Будет ли воссоздан родительский JSON, или это будет не-op?Вложенное удаление JSON в ShareJS

E.g.

{"aa": 
    {"bb": 
    {"cc":"dd"} 
    } 
} 
//Operation A and B comes in carrying the same version number 
//Op A deletes "aa", Op B modifies "cc" 
//What happens? (assuming A comes in slightly earlier and is processed first) 

ответ

1

Только что проверил это сам:

op1 = [{p: ["aa"], od: {"bb": {"cc":"dd"}} }] // Deletes "aa" 
op2 = [{p: ["aa", "bb", "cc"], od: "dd", oi: "ee"}] // Modifies "cc" 
console.log(json.transform(op2, op1, 'left')) 
>> [] 

Это означает, что, когда op2 превращается над op1, он становится не-оп -> ни один объект не будет воссоздан.

 Смежные вопросы

  • Нет связанных вопросов^_^