Bad case:
const json1 = require('ot-json1')
const doc = [{
text: '-'
}]
const op1 = json1.editOp([0, 'text'], 'text-unicode', [{ d: '-' }])
const op2 = json1.removeOp([0], { text: '' })
const op = json1.type.compose(op1, op2)
const result = json1.type.apply(doc, op)
console.log(result) // []
const invertedOp = json1.type.invert(op)
const result2 = json1.type.apply(result, invertedOp)
console.log(result2) // [ { text: '' } ]
Expect result2 equal to doc ? But they are not equal.