* [overleaf-editor-core+project-history] Mark TC list backing array as private
* [overleaf-editor-core] Add invariant for overlapping comment ranges
* [overleaf-editor-core] Assert that ranges are non-empty
GitOrigin-RevId: e60a3712eba2326e0767a75a3ffc75333311c057
* make range class immutable
* rename variable
* use newRanges
* range readonly props
* skrinkBy test
* Fix range shrinking bug
* [overleaf-core-editor] Make comment properties immutable
* remove added line
* format fix
* make readonly array
* [overleaf-editor-core] AddCommentOperation and DeleteCommentOperation (#16871)
* [overleaf-editor-core] AddCommentOperation and DeleteCommentOperation
* added add comment op test
* delete comment op test
* import core to escape circle deps
* desctructure in tests
* require directly in builder
* invert of add comment is always delete comment
* no merging on compose
* NoOp if comment is not found
* use comment.clone()
* update test
* change CommentRawData type
* jsdoc assert type
* fix formating
* EditNoOperation
* return other in compose
* use ReturnType
* Revert "use ReturnType"
This reverts commit 2c7e04f1541310e9fc08963170a783a437ed1992.
* transorm add comment operation
* transform delete comment operation
* moved comment.js
* format fix
* fix transform addComment and textoperation
* fix merge
* test more complex test operations
* change to else if
* move range.js
* fix types
* fix AddComment and TextOperation transform
* fixed AddComment-TextOperation trasform, added test
* deletecommentoperation should win
* should not delete comment
* remove unused function, fix type
* fix format
* add resolved for existing comment
* transform EditNoOperation
* fix test description
* change the order of EditNoOperation
* fix DeleteCommentOperation-DeleteCommentOperation transform
* fix types after merging main
* refactor operation types
* fix errors after merging
* fix bad merge
* format fix
* removed comment.clone()
* return old comment
* remove unused var
GitOrigin-RevId: e31d723075cb04b0b7177e7cae0014c295f92a68
* [overleaf-editor-core] AddCommentOperation and DeleteCommentOperation
* added add comment op test
* delete comment op test
* import core to escape circle deps
* desctructure in tests
* require directly in builder
* invert of add comment is always delete comment
* no merging on compose
* NoOp if comment is not found
* use comment.clone()
* update test
* change CommentRawData type
* jsdoc assert type
* fix formating
* EditNoOperation
* return other in compose
* use ReturnType
* Revert "use ReturnType"
This reverts commit 2c7e04f1541310e9fc08963170a783a437ed1992.
* transorm add comment operation
* transform delete comment operation
* moved comment.js
* format fix
* fix transform addComment and textoperation
* fix merge
* test more complex test operations
* change to else if
* move range.js
* fix types
* fix AddComment and TextOperation transform
* fixed AddComment-TextOperation trasform, added test
* deletecommentoperation should win
* should not delete comment
* remove unused function, fix type
* fix format
* add resolved for existing comment
* transform EditNoOperation
* fix test description
* change the order of EditNoOperation
* fix DeleteCommentOperation-DeleteCommentOperation transform
* fix types after merging main
* refactor operation types
GitOrigin-RevId: 6f127763a6dc50d4fe3524d9b25dc7526b6b0028
* make range class immutable
* rename variable
* use newRanges
* range readonly props
* skrinkBy test
* Fix range shrinking bug
GitOrigin-RevId: ea9a568b28f53e74dec4c500be3d5dba65abf0ad
* Add CommentList to StringFileData
* added more types
* use toRaw
* using Map rather than array for comments
* using Range class
* Comment with ranges:Range[]
* Revert "Comment with ranges:Range[]"
This reverts commit 0783b1837562600637db03cc70c620129061c797.
* Comment with ranges:Range[]
* remove isDeleted
* commentList.toRaw()
* using toRaw
* commentId to id
* Revert "using toRaw"
This reverts commit 0c04ca5836f3befd5ec027bad5bf722e8b27f36c.
* fix merge
* make comment map internal to CommentList
* remove unused type
* fix parameter name in StringFileData
* import types more consistently
* more consistent type def
* Added moveOnInsert/moveOnDelete methods to comments
* use range helper methods
* mergeRanges function
* rename isAfter to startsAfter
* added @ts-checks
* using comment.isEmpty
* rename overlaps to covers
* remove ops in applyDelete
* mege, substract, isInRange
* ranges fixes, added tests
* rename to includes
* using pos,length in applyInsert
* simplify
* extendComment option
* check comment edges
* added inclusive option
* more specific touches()
* refactor mergeRanges()
* comment.addRange()
* remove inclusive option
* refactor using more helper methods
* fix typo
* inserting a comment between ranges tests
* test description fixes
* support only range
* more edge case testing
* added more range tests
* renamed to containsExcludingEdges
* endsAt check edge
* using firstIndex, lastIndex
* contains, containsIndex
* raturn -1 for lastIndex for empty ranges
* rename ranges in tests
* indexStartsAfter
* sort comment ranges
* rename to indexIsAfter, fix Range type
* add range if expandComment is true
* split the range when expandComment is false
* added moveBy and extendBy
* added more tests
* added comments
* prettier
* small fixes/typos
* rename indexIsAfter
* merge when deleting with overlaps
* added overlap test
* same range touches test
* test with overlapping comments
* delete duplicate test
* throw on empty range
GitOrigin-RevId: 1252e3d01f2f5dc1d00ce681c579506038e4d121
* [overleaf-editor-core] Restructure TextOperation hierachy
Restructures the hierachy of TextOperations to include a superclass
EditOperation. This superclass will later on contain other classes used
for tracked changes and comments.
* [overleaf-editor-core] Update json format of LazyStringFileData
* [history-v1+project-history] Fix TextOperation.fromJSON calls
* [overleaf-editor-core] Change EditOperationBuilder.fromRaw to fromJSON
* [overleaf-editor-core] Update apply and invert functions to accept FileData
* [overleaf-editor-core] Pass missing argument to store method
* [overleaf-editor-core] Remove unused method
* [overleaf-editor-core] User EditOperationTransformer
* [overleaf-editor-core] Clean up JSDoc comments
* [overleaf-editor-core] Add tests for EditOperation
* [overleaf-editor-core] Update JSDoc types
GitOrigin-RevId: 9c22a3a89b8483bdb87b43f329ddbdd887ffed42
* Add CommentList to StringFileData
* added more types
* use toRaw
* using Map rather than array for comments
* using Range class
* Comment with ranges:Range[]
* Revert "Comment with ranges:Range[]"
This reverts commit 0783b1837562600637db03cc70c620129061c797.
* Comment with ranges:Range[]
* remove isDeleted
* commentList.toRaw()
* using toRaw
* commentId to id
* Revert "using toRaw"
This reverts commit 0c04ca5836f3befd5ec027bad5bf722e8b27f36c.
* fix merge
* make comment map internal to CommentList
* remove unused type
* fix parameter name in StringFileData
* import types more consistently
* more consistent type def
GitOrigin-RevId: 2be2225819d8e8ebcf90d08def280377205cb9ec