fixed some minor problems related to compareId
This commit is contained in:
parent
2675f0277c
commit
2d1a7b067b
@ -115,13 +115,15 @@ module.exports = function (Y /* : any*/) {
|
|||||||
if (op.struct === 'Insert') {
|
if (op.struct === 'Insert') {
|
||||||
for (var i = this.waiting.length - 1; i >= 0; i--) {
|
for (var i = this.waiting.length - 1; i >= 0; i--) {
|
||||||
let w = this.waiting[i]
|
let w = this.waiting[i]
|
||||||
|
// TODO: do I handle split operations correctly here? Super unlikely, but yeah..
|
||||||
|
// Also: can this case happen? Can op be inserted in the middle of a larger op that is in $waiting?
|
||||||
if (w.struct === 'Insert') {
|
if (w.struct === 'Insert') {
|
||||||
if (Y.utils.compareIds(op.left, w.id)) {
|
if (Y.utils.matchesId(w, op.left)) {
|
||||||
// include the effect of op in w
|
// include the effect of op in w
|
||||||
w.right = op.id
|
w.right = op.id
|
||||||
// exclude the effect of w in op
|
// exclude the effect of w in op
|
||||||
op.left = w.left
|
op.left = w.left
|
||||||
} else if (Y.utils.compareIds(op.right, w.id)) {
|
} else if (Y.utils.matchesId(w, op.right)) {
|
||||||
// similar..
|
// similar..
|
||||||
w.left = op.id
|
w.left = op.id
|
||||||
op.right = w.right
|
op.right = w.right
|
||||||
|
Loading…
x
Reference in New Issue
Block a user