* Add RemoveDocument API
* Elaborate on the value of the PeersChanged event
* Add TC for the stream connection status change event
* Fix the watchLoop start and stop for pause, resume
* Removed the codes for changing the status of the doc, before sending the API
* Invalidate watchLoop reconnection timer when disconnecting stream
* Throws an error when server returns removed doc for the attached result
Fix various bugs and improve functionality in different classes
CRDTText
- Change access control of 'actor' to public
- Change content type to NSString to work with NSRange
RGATreeSplit
- Fix the issue with the incorrect split value
Document
- Fix the missing local changes when applyChangePack()
JSONCounter, JSONText:
- Add public init()
LLRBTree
- Refactor the code
SplayTree
- Fix the misbehavior of delete()
- Rename removeRange() to cutOffRange() to improve clarity
* Add CRDT Counter
* Implement the Counter
* Remove force cast
* Correct comment typo
* Change access control of CRDTCounter
* Change parameter name
* Add YorkieCountable.swift
* Delete garbage codes
* Move GRPC test unit to integration
* Add CodingKeys to KanbanCard and KanbanColumn
* Add eventStream.send to Document/applyChanges
* Change access modifiers of Client from internal to public
* Sync KanbanViewModel with the server
* Initial Implementation of the Client full features
* Change Indexable to Presence.
* Fix sync loop.
* Add integration tests for client
* Add Integration Test
* Fix Client Timer setting.
* Fix concurrent document syncing. and swiftFormat error.
* Change group task loop to waitForAll
* Add Kanban board to ExampleApp
* Bind Document and KanbanViewModel
* Improve the interfaces of JSONObject and JSONArray
* Remove print
* Remove redandunt codes
* Rename CommonConstant to KanbanLayoutProperty
* Rename some variables
* Remove white spaces in files.
* Change YorkieJSONObjectable from Mirrot to Codable
* Change test codes from subscript access to dynamicMemberLookup access
* Change Document from class to actor for concurrent access to it
Remove redundant codes
Change TimeTicket/lamport and delimiter from var to let
* Change some access modifier of type properties
* Add JSONArray and the tests
* Add test cases to JSONArrayTests
* Apply dynamicMemberLookup to JSONObject
* Add eventStream to Document and DocType
* Fix bugs of JSONArray
* Remove get(keyPath:) from JSONObject
* Add unit tests for Document
* Fix bugs for Heap.delete
* Change type_body_length of SwiftLint
* Add CRDTRoot
* Rename TimeTicket.initialTimeTicket and maxTimeTicket to initial and max
* Add RemoveOperation and SetOperation
* Remove redundant label from some methods in CRDTRoot
* Change some if to guard