seems to have a wrong branch condition.First, it needs to be judged at the top layer that otherTo is not equal to otherFrom:
if (otherFrom !== otherTo) {
// if otherFrom == otherTo, we don't need to change our op.
and then judge that to must be equal to otherTo, and to must be equal to otherFrom,
...
} else if (to === otherTo) {
// if we're both moving in the same direction, tie break
if ((otherTo > otherFrom && to > from) ||
(otherTo < otherFrom && to < from)) {
if (type === 'right') c.lm++;
} else {
if (to > from) c.lm++;
else if (to === otherFrom) c.lm--;
}
}
...
https://github.com/ottypes/json0/blob/90a3ae26364c4fa3b19b6df34dad46707a704421/lib/json0.js#L595
seems to have a wrong branch condition.First, it needs to be judged at the top layer that otherTo is not equal to otherFrom:
and then judge that
to
must be equal to otherTo, andto
must be equal to otherFrom,