Commit graph

218 commits

Author SHA1 Message Date
Andrew Jeffery
1ca49cfa9b Add range to transactable and rename value to get
Also changes values to get_conflicts for more clarity on what it does
and opening up the name for iterating over values.
2022-04-08 18:18:22 +01:00
Andrew Jeffery
842797f3aa Use Unicode Scalars instead of graphemes in text 2022-04-08 09:35:59 +01:00
Orion Henry
37d90c5b8e optimize fork_at 2022-04-07 14:43:56 -04:00
Orion Henry
f5d858df82 Merge remote-tracking branch 'origin/experiment' into wasm_readme 2022-04-07 14:23:52 -04:00
Orion Henry
6d9ed5cde4 start at 0.0.1 2022-04-07 14:17:16 -04:00
Orion Henry
9fe8447d21 loadDoc -> load() and forkAt() 2022-04-07 01:19:27 -04:00
Andrew Jeffery
330aebb44a Make wasm ScalarValue take a cow 2022-04-04 21:04:23 +01:00
Orion Henry
17acab25b5 fix _obj notation 2022-04-04 12:51:54 -04:00
Orion Henry
0d83f5f595 decorate 2022-04-04 12:50:13 -04:00
Orion Henry
777a516051 spelling/grammar 2022-04-04 12:50:13 -04:00
Orion Henry
4edb034a64 adding readme tests 2022-04-04 12:50:08 -04:00
Orion Henry
3737ad316b spelling 2022-04-04 12:37:59 -04:00
Orion Henry
051a0bbb54 early draft of the readme 2022-04-04 12:37:59 -04:00
Orion Henry
83c08344e7 wip2 2022-04-04 12:37:57 -04:00
Orion Henry
d8c126d1bc wip 2022-04-04 12:35:28 -04:00
Andrew Jeffery
fa2971a29a Have value be a reference for scalars 2022-04-04 12:47:08 +01:00
Andrew Jeffery
d331ceb6d4 Rename set to put and set_object to put_object 2022-04-01 13:40:58 +01:00
Andrew Jeffery
632857a4e6 Rename del and inc in wasm and js 2022-04-01 13:36:26 +01:00
Andrew Jeffery
1a66dc7ab1 Use full names for delete and increment 2022-04-01 13:36:00 +01:00
Andrew Jeffery
3631ddfd55 Fix js side 2022-04-01 11:48:04 +01:00
Andrew Jeffery
0c16dfe2aa Change js function names to camelCase 2022-04-01 11:46:43 +01:00
Orion Henry
ab580df947 Merge remote-tracking branch 'origin/experiment' into getnerate-patches 2022-03-30 13:04:51 -06:00
Martin Kleppmann
f83fb5ec61 More tests 2022-03-30 13:12:07 -04:00
Martin Kleppmann
ab4dc331ac cargo fmt 2022-03-30 13:12:07 -04:00
Martin Kleppmann
a9eddd88cc Bugfix: resurrection of deleted list elements 2022-03-30 13:12:07 -04:00
Martin Kleppmann
ba177c3d83 Fix broken handling of conflicts on list elements 2022-03-30 13:12:07 -04:00
Martin Kleppmann
fa0a8953dc More tests and comments 2022-03-30 13:12:07 -04:00
Martin Kleppmann
289dd95196 Fix index calculation for insertions at the head 2022-03-30 13:12:07 -04:00
Martin Kleppmann
c908979372 Fix search for the correct insertion position 2022-03-30 13:12:07 -04:00
Martin Kleppmann
7025bb6541 Tests and fixes for list patches 2022-03-30 13:12:07 -04:00
Martin Kleppmann
94ff10f690 Rename and reformat a bit 2022-03-30 13:12:07 -04:00
Martin Kleppmann
26efee509d First patch implementation from pairing session with Orion 2022-03-30 13:12:01 -04:00
Orion Henry
f5e8b998ca expose getChangeByHash in wasm 2022-03-23 09:34:44 -04:00
Orion Henry
9e1a063bc0 v20 - object replacement char 2022-03-14 14:47:54 -04:00
Andrew Jeffery
2e49561ab2 Make splice take iterator instead of vec 2022-03-11 12:13:11 +00:00
Orion Henry
ee116bb5d7 object_type returns an option 2022-03-09 19:42:58 -05:00
Orion Henry
c51073c150 add paths/materialize to api 2022-03-09 17:53:30 -05:00
Orion Henry
f230be8aec change the wasm commit back to an array 2022-03-09 10:41:14 -05:00
Andrew Jeffery
e26837b09d Move sync structs to module 2022-03-09 12:43:52 +00:00
Andrew Jeffery
d00cee1637 Misc API updates
- Commit now returns just a single hash rather than a vec. Since the
  change we create from committing has all of the heads as deps there
  can only be one hash/head after committing.
- Apply changes now takes a Vec rather than a slice. This avoids having
  to clone them inside.
- transact_with now passes the result of the closure to the commit
  options function
- Remove patch struct
- Change receive_sync_message to return a () instead of the
  `Option<Patch>`
- Change `Transaction*` structs to just `*` and use the transaction
  module
- Make CommitOptions fields public
2022-03-09 12:33:20 +00:00
Orion Henry
beae33402a update wasm test for set_object 2022-03-07 11:46:25 -05:00
Orion Henry
95f27f362c
Merge pull request #283 from jeffa5/experiment-make
Separate scalars and objects in transaction API
2022-03-04 16:53:17 -05:00
Orion Henry
b9acf611fa
Merge pull request #293 from jeffa5/experiment-sync-api
Clean up sync api
2022-03-04 12:39:03 -05:00
Orion Henry
390ae49be0
Merge pull request #294 from jeffa5/experiment-infallible-save
Make save infallible
2022-03-04 12:37:51 -05:00
Andrew Jeffery
cd5e734735 Make decode_change an associated function 2022-03-04 13:09:29 +00:00
Andrew Jeffery
000576191e Clean up sync api 2022-03-04 12:32:07 +00:00
Andrew Jeffery
d71e87882e Make save infallible 2022-03-04 12:28:05 +00:00
Andrew Jeffery
4fe7df3d0e Fix clippy lint 2022-03-04 09:51:50 +00:00
Andrew Jeffery
93a20f302d Fixup wasm lib 2022-03-04 09:51:50 +00:00
Andrew Jeffery
682b8007b9 Borrow exid to avoid &ROOT everywhere 2022-03-03 09:05:08 +00:00
Orion Henry
0f71b48857
Merge pull request #282 from automerge/move_wasm_to_feature
move wasm to feature flag
2022-03-02 14:07:34 -05:00
Andrew Jeffery
8f2877a67c Fix wasm 2022-03-02 17:24:15 +00:00
Orion Henry
2747d5bf2b move wasm to feature flag 2022-03-02 11:05:48 -05:00
Andrew Jeffery
f51e44c211 Update keys iterator to iterate at the tree level
No more big vec allocation now!
2022-02-25 17:31:33 +00:00
Andrew Jeffery
a726cf33c7 Add keys struct for iteration
This at least helps to not convert all of the keys to their strings
automatically but still allocates a vec.
2022-02-25 17:31:14 +00:00
Orion Henry
337fabe5a9
Merge pull request #271 from jeffa5/experiment-txn
Transaction API
2022-02-24 18:07:05 -05:00
Orion Henry
06302e4a17 make() defaults to text 2022-02-24 00:22:56 -05:00
Orion Henry
2fc0705907 change MAP,LIST,TEXT to be {},[],'' - allow recursion 2022-02-23 19:43:13 -05:00
Orion Henry
b96aa168b4 choking on bad value function 2022-02-22 12:10:11 -05:00
Andrew Jeffery
3493dbd74a Rename autotxn to autocommit 2022-02-21 10:49:14 +00:00
Andrew Jeffery
50a1b4f99c Add transactable trait 2022-02-21 10:32:57 +00:00
Andrew Jeffery
59e36cebe4 Improve transactions with drop, transact and better commit
Also remove modification operations directly on Automerge and switch
tests to using AutoTxn.
2022-02-17 11:29:36 +00:00
Andrew Jeffery
7cbd6effb7 Add autotxn document for wasm and cross-language use
These don't have the ability to preserve the semantics of the reference
based transaction model and so can make use of the nicer auto
transaction model.
2022-02-16 14:06:22 +00:00
Andrew Jeffery
d7da7267d9 Initial wasm fix 2022-02-16 11:39:14 +00:00
Orion Henry
ef938fdf0a manually handle js types - make sure we have good errors 2022-02-15 14:02:19 -05:00
Orion Henry
b6e0da28d8 fmt 2022-02-10 11:48:09 -05:00
Orion Henry
c8c695618b remove marks 2022-02-10 11:42:15 -05:00
Orion Henry
d1b0d41239 move marks into its own test 2022-02-10 11:17:15 -05:00
Orion Henry
9136f00e43 bugfix: duplicate seq not blocked on apply_changes, clone did not close a transaction, added fork and merge to wasm 2022-02-10 11:14:44 -05:00
Orion Henry
b53305cf7f Merge branch 'marks' into tmp 2022-02-10 09:42:38 -05:00
Karissa McKelvey
98a65f98f7 Add failing test for decoding a conflicted merge 2022-02-09 13:17:07 -08:00
rae
c655427f9a
Add support for web 2022-02-07 16:33:10 -08:00
Orion Henry
1aab66d160 fix version number 2022-02-06 19:57:25 -05:00
Orion Henry
a9ddb9398c cleanup typescript defs 2022-02-06 19:01:37 -05:00
Orion Henry
3f82850e44 fix bug in set scalar 2022-02-04 20:15:57 -05:00
Orion Henry
c54aab66c4 better error on invalid value 2022-02-04 14:43:22 -05:00
Orion Henry
bf184fe980 remove some un needed imports 2022-02-03 14:43:02 -05:00
Orion Henry
2019943849 bump edition from 2018 to 2021 2022-02-03 14:38:21 -05:00
Orion Henry
0f49608dde spans have types not names 2022-02-02 16:29:23 -05:00
Orion Henry
1d0c54ca9a raw_spans with ids 2022-02-02 16:21:33 -05:00
Orion Henry
ee80837feb raw_spans experiment 2022-02-02 15:55:41 -05:00
Orion Henry
da73607c98 adding make 2022-01-31 17:45:07 -05:00
Orion Henry
e88f673d63 Revert "Remove make"
This reverts commit 5b9360155c.
2022-01-31 17:43:56 -05:00
Orion Henry
5b9360155c Remove make 2022-01-31 17:28:24 -05:00
Orion Henry
17e6a9a955 fixed fixed 2022-01-31 17:24:46 -05:00
Orion Henry
1269a8951e use types in pkg 2022-01-31 17:24:17 -05:00
Orion Henry
836e6ba510 fix return types 2022-01-31 17:21:16 -05:00
Orion Henry
a9dec7aa0b remove dead code 2022-01-31 17:11:22 -05:00
Orion Henry
7b32faa238 all ts tests passing 2022-01-31 17:07:20 -05:00
Orion Henry
c49bf55ea4 almost working ts 2022-01-31 16:48:03 -05:00
Karissa McKelvey
d3f4be0654 Fix typescript errors in test 2022-01-31 13:03:27 -08:00
Karissa McKelvey
831faa2589 uint datatypes & fix some more typescript errors 2022-01-31 12:48:49 -08:00
Orion Henry
4c84ccba06 half done - not working typescript 2022-01-31 15:23:46 -05:00
Orion Henry
bfc051f4fb cleanup / rename 2022-01-31 14:02:24 -05:00
Orion Henry
a2e433348a mark encode/decode/serde 2022-01-31 14:02:24 -05:00
Orion Henry
b794f4803d rework marks as inserts between values 2022-01-31 14:02:24 -05:00
Orion Henry
e679c4f6a0 v0 wip 2022-01-31 14:02:23 -05:00
Orion Henry
9ff0c60ccb add cra example code 2022-01-28 18:05:33 -05:00
Orion Henry
cfa1067c19 rework wasm function to use js types more directly 2022-01-28 17:07:59 -05:00
Orion Henry
3393a60e59 clippy lint 2022-01-20 14:17:11 -08:00