Andrew Jeffery
78dc394a7a
Fix ambiguous key deserialization ( #197 )
2021-06-28 18:09:18 +01:00
Orion Henry
3db6f9ef13
Fix Clippy issues, broken tests, formatting issues ( #188 )
...
* fix clippy errors
* Bump travis nvm version
* Add smol_str arbitrary
* Fix Err prefix clippy error
* Fix clippy needless-borrow
* Ensure SortedVec sorts on deserialize
Co-authored-by: Andrew Jeffery <dev@jeffas.io>
2021-06-28 13:20:21 +01:00
Vedant Roy
ca638691d0
Tests pass after rebase
2021-06-25 11:06:25 -07:00
Vedant Roy
aecfcf2c87
Rebase + clippy
2021-06-25 11:06:25 -07:00
Vedant Roy
338ec28992
Satisfy clippy
2021-06-25 11:06:25 -07:00
Vedant Roy
14031addd3
Encode Vec<ScalarValue> into type system as ScalarValues
2021-06-25 11:06:25 -07:00
Vedant Roy
9353ae40b2
Remove F32
2021-06-25 11:06:25 -07:00
Vedant Roy
93f45bcc73
Add comment explaining reason for custom serialization
2021-06-25 11:06:25 -07:00
Vedant Roy
0b76f5100c
Add custom serialization for DiffEdit
2021-06-25 11:06:25 -07:00
Vedant Roy
c989033365
Add datatype for MultiSet
2021-06-25 11:06:25 -07:00
Vedant Roy
c377b1f491
Properly update field count
2021-06-25 11:06:25 -07:00
Orion Henry
069aa338b2
strict numbers
2021-06-25 11:06:25 -07:00
Andrew Jeffery
987263b25d
Add SortedVec struct to ensure preds are sorted ( #176 )
...
* Add SortedVec struct to ensure preds are sorted
* Add into_iter for sortedvec
2021-06-19 17:25:25 +01:00
Andrew Jeffery
fc1b8f87fb
Use SmolStr in place of String ( #182 )
...
Most of the strings are small and so fit nicely in a SmolStr. When they
don't it just reverts to using a normal String.
2021-06-19 16:28:51 +01:00
Andrew Jeffery
ff8b8613d5
Flatten objtype ( #175 )
...
* Flatten object type
* Use separate construct functions
* Use separate gen_*_diff functions
* Remove maptype and seqtype from Diffs
* Preallocate ops in new_map_or_table
* More preallocations
2021-06-17 20:06:10 +01:00
Vedant Roy
ae3c3cd563
Avoid return
2021-05-27 17:17:16 -07:00
Vedant Roy
5f7628143d
Use return... a bit less
2021-05-27 16:58:16 -07:00
Vedant Roy
f2c0a4953e
Report incorrect variant error to serde in RawDiffType::deserialize
2021-05-27 16:54:34 -07:00
Alex Good
623d09d19f
Report incorrect variant error to serde in RawOpType::deserialize
2021-05-28 00:40:09 +01:00
Vedant Roy
32f0821e0e
Make another enum work with msgpack
2021-05-27 16:33:49 -07:00
Vedant Roy
c845351224
Serialize/Deserialize OpType so it works with msgpack
2021-05-27 15:54:07 -07:00
Vedant Roy
aaccefcb11
Switch back to using Vec<u8>
2021-05-24 13:17:37 -07:00
Vedant Roy
22af56b059
Internal representation = base64 string
2021-05-24 13:17:37 -07:00
Vedant Roy
41021f398f
Add bytes type
2021-05-24 13:17:37 -07:00
Andrew Jeffery
5637956895
Add custom RootDiff type
...
This ensures that the patch starts with the right diff type statically
and will give an error to js during deserialization.
2021-05-16 14:02:57 +01:00
Andrew Jeffery
9ace8892f6
Remove unchanged diff
...
Uses empty edits or props instead.
2021-05-11 12:48:45 +01:00
Andrew Jeffery
6050f39d46
Change patch diffs to start with mapdiff
2021-05-11 09:26:19 +01:00
Andrew Jeffery
59a24081d2
Switch to expanded_op more
2021-05-10 19:25:43 +01:00
Alex Good
e86aabb6a3
Implement new sequence patch format
2021-05-05 21:52:57 +01:00
Andrew Jeffery
d1934f2286
Add formatting config
2021-04-26 09:42:36 -07:00
Andrew Jeffery
137e6d2808
Fix clippy lints
2021-04-07 08:07:53 -07:00
Alex Good
c103b0638e
Ritual abasement at the altar of clippy
2021-03-02 19:35:00 +00:00
Alex Good
4f4674a4a1
Implement cursors in frontend
2021-03-02 16:07:52 +00:00
Alex Good
26dfc7ea40
Implement cursor logic in backend
2021-02-12 12:03:10 -05:00
Alex Good
8f9d66d4f2
Add CursorDiff and serde impls
2021-02-12 12:03:10 -05:00
Alex Good
0b99082c67
Add Cursor data type and serde impls for it
2021-02-12 12:03:10 -05:00
Alex Good
497372db99
Immutable frontend rewrite
2021-01-16 17:40:47 +00:00
Alex Good
7cd1a059f5
Add proptest for serialization
2021-01-14 12:30:25 -05:00
Alex Good
3187afcc51
Use more expressive Operation structure
2021-01-14 12:30:25 -05:00
Alex Good
ce38f5360b
Move automerge_backend::UnencodedChange -> automerge_protocol::UncompressedChange
2021-01-14 12:30:25 -05:00
Martin Kleppmann
5ec8408398
Replace all-zeros UUID with '_root'
...
Corresponding to automerge/automerge@10ec271cbd
2021-01-12 14:45:32 -05:00
Alex Good
a36a364443
Rename automerge_protocol::Value -> ScalarValue
2020-05-29 21:04:29 +01:00
Alex Good
baaebef6d1
Merge branch 'master' into two-level-objtype
2020-05-25 18:47:46 +01:00
Orion Henry
ab71d01487
internal types impl COPY
2020-05-25 09:43:28 -04:00
Alex Good
a589689bdb
Fix clippy
2020-05-24 11:19:05 +01:00
Alex Good
2443cdf860
Remove objtype wrapper for diffs
2020-05-24 11:06:23 +01:00
Alex Good
40c8f8f9b3
Move ObjType to two level hierarchy
2020-05-24 10:22:18 +01:00
Orion Henry
48dfd6f29a
ActorID is now bytes
2020-05-22 19:00:39 -04:00
Orion Henry
c6ec8515af
move OpType and Operation back to Backend
2020-05-22 15:54:14 -04:00
Orion Henry
73336e11cc
true is true
2020-05-13 09:39:04 -04:00