can-aggregate.ts 393 B

123456789101112131415
  1. import {
  2. Change,
  3. DeleteOperation,
  4. InsertOperation,
  5. } from '../../../../../types/change'
  6. export const canAggregate = (
  7. deletion: Change<DeleteOperation>,
  8. insertion: Change<InsertOperation>
  9. ) =>
  10. deletion.metadata?.user_id &&
  11. // same user
  12. deletion.metadata?.user_id === insertion.metadata?.user_id &&
  13. // same position
  14. deletion.op.p === insertion.op.p + insertion.op.i.length