Commit graph

25 commits

Author SHA1 Message Date
David Pollak
bde0a6fbf6 Cleaned up some warnings and errors running against Rust 1.58.1 2022-02-24 15:20:48 -05:00
Alex Good
d279819bfc Update to rand 0.8 2021-10-11 19:48:33 +01:00
Alex Good
5a26f8fcd1 Add missing licenses 2021-09-23 23:41:51 +01:00
Andrew Jeffery
94769e2dae
Sequence tree (#236)
Switch from im_rc to `SequenceTree`
2021-09-14 13:38:15 +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
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
a744637787
Add get_value to Value (#160) 2021-06-10 14:13:50 +01: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
Andrew Jeffery
2aa35bc349
Add derive Arbitrary support behind cargo feature (#124) 2021-05-14 16:38:35 +01:00
Andrew Jeffery
3a8447c068
Remove automerge bench harness (#106)
This removes the default wrapper which throws errors with some cli
arguments, e.g. --save-baseline which is nice for being able to compare
versions!
2021-04-27 10:30:07 +01:00
Andrew Jeffery
239fe59090
Use grapheme clusters in Text instead of char (#72)
* Use grapheme clusters in Text instead of char

char is not what users typically expect as a 'letter' so we should use
grapheme clusters instead. These can't always be represented as single
rust char types so the Text now stores a Vec of single grapheme Strings.

* Add test for grapheme clusters in text

* Use debug_assert_eq instead of debug_assert
2021-03-28 21:32:03 +01:00
Andrew Jeffery
776aef660a
Fix alignment error on wasm32 (#71)
* Add failing alignment test case

* Add wasm-pack test to ci

* Box im_rc::Vector contents to satisfy alignment

This makes the frontend not have alignment issues on 32 bit
architectures (e.g. wasm32-unknown-unknown). The box provides a
consistent alignment for the Vector.
2021-03-28 21:28:18 +01:00
Andrew Jeffery
2cc7b60ccb
Update uuid (#52)
This enables it to work for wasm32.
2021-03-18 12:38:05 +00:00
Andrew Jeffery
429b3ebf06
Nostd time (#51)
* frontend: Add std feature

* frontend: Add new_with_timestamper

This allows using the frontend in contexts where SystemTime isn't
available.
2021-03-17 11:55:31 +00:00
Alex Good
4f4674a4a1 Implement cursors in frontend 2021-03-02 16:07:52 +00:00
Alex Good
ae4b9f8f94 Add some benchmarks and make some performance related tweaks 2021-01-25 13:49:38 +00:00
Alex Good
8142d42796 Add first crdt benchmark and some frontend optimisations 2021-01-20 15:18:47 +00:00
Alex Good
497372db99 Immutable frontend rewrite 2021-01-16 17:40:47 +00:00
Alex Good
d7560d88ed Start making errors more descriptive 2020-06-04 00:32:18 +01:00
Alex Good
045656ac46 Port the backend concurrency tests 2020-05-21 18:40:36 +01:00
Alex Good
c415d95c71 Merge branch 'performance' into frontend 2020-05-13 17:53:47 +01:00
Alex Good
0223433a36 WIP 2020-05-05 20:12:42 +01:00
Alex Good
344cfb2a9d WIP 2020-04-13 18:24:19 +01:00
Alex Good
161cd1c827 WIP 2020-04-13 16:39:30 +01:00