Commit graph

387 commits

Author SHA1 Message Date
Andrew Jeffery
cffadafbd0 Stop collecting to vecs in save 2022-03-02 10:27:29 +00:00
Orion Henry
96488a2774
Merge pull request #278 from jeffa5/iterable-query
Make keys and keys_at iterators
2022-03-01 22:13:33 -05:00
Orion Henry
b21b59e6a1 blame v0.1 2022-03-01 22:09:21 -05:00
Orion Henry
c1be06a6c7 blame wip 1 2022-02-28 19:02:36 -05:00
Andrew Jeffery
dfb21ea8d6
Add quickstart example using new transaction (#273)
* Add quickstart example

Also change ordering of transact_with arguments.
This makes it more natural read: transact_with these commit options,
doing this.
2022-02-28 11:49:36 +00:00
Andrew Jeffery
d80a9c6746 Rename IterKeys and IterKeysAt 2022-02-25 17:31:50 +00:00
Andrew Jeffery
f8af94b317 Move B to internal Keys 2022-02-25 17:31:48 +00:00
Andrew Jeffery
6f2536c232 Make keysat double ended 2022-02-25 17:31:34 +00:00
Andrew Jeffery
4ff456cdcc Update keys to use map 2022-02-25 17:31:34 +00:00
Andrew Jeffery
989310866f Add DoubleEndedIterator for Keys 2022-02-25 17:31:34 +00: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
Andrew Jeffery
7439593caf Document keys functions 2022-02-25 17:30:34 +00:00
Orion Henry
e07211278f v0.0.14 2022-02-24 18:46:20 -05:00
Orion Henry
3c3f411329 update to new autotransaction api 2022-02-24 18:43:44 -05:00
Orion Henry
5aad691e31 Merge branch 'experiment' into marks 2022-02-24 18:10:19 -05:00
Orion Henry
337fabe5a9
Merge pull request #271 from jeffa5/experiment-txn
Transaction API
2022-02-24 18:07:05 -05:00
Orion Henry
872efc5756 v10 2022-02-24 17:41:55 -05:00
Orion Henry
e37395f975 make() defaults to text 2022-02-24 17:41:35 -05:00
Orion Henry
a84fa64554 change MAP,LIST,TEXT to be {},[],'' - allow recursion 2022-02-24 17:41:33 -05:00
Orion Henry
a37d4a6870 spans will now respect non-graphmem values 2022-02-24 16:41:01 -05:00
Blaine Cook
5eb5714c13 add failing test for marks handling in 3-way merge scenario 2022-02-24 16:24:17 -05:00
Blaine Cook
4f9b95b5b8 add test for merge behaviour of marks 2022-02-24 16:24:17 -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
36b4f08d20 wasm to 0.0.7 2022-02-22 12:13:01 -05:00
Orion Henry
015e8ce465 choking on bad value function 2022-02-22 12:12:59 -05:00
Orion Henry
ea2f29d681 wasm to 0.0.6 2022-02-22 12:11:49 -05:00
Orion Henry
c8cd069e51 tweak files 2022-02-22 12:11:49 -05:00
Orion Henry
2ba2da95a8 attempt at new packaging 2022-02-22 12:11:49 -05:00
Orion Henry
561cad44e3 Revert "remove marks"
This reverts commit c8c695618b.
2022-02-22 12:11:49 -05:00
Orion Henry
b96aa168b4 choking on bad value function 2022-02-22 12:10:11 -05:00
Andrew Jeffery
8d24c9e4c3 Fix rollback of transaction using index into the tree 2022-02-21 14:00:41 +00:00
Andrew Jeffery
4a6b91adb2 Add test for broken rollback 2022-02-21 13:30:23 +00:00
Andrew Jeffery
6b4393c0b3 Rename transaction module 2022-02-21 11:40:49 +00:00
Andrew Jeffery
355cbdd251 Rename try_start_transaction to ensure_transaction_open 2022-02-21 10:49:58 +00:00
Andrew Jeffery
3493dbd74a Rename autotxn to autocommit 2022-02-21 10:49:14 +00:00
Andrew Jeffery
cbd3406f8d Document commit_with and CommitOptions 2022-02-21 10:47:23 +00:00
Andrew Jeffery
66f8c73dba Document drop on transaction 2022-02-21 10:36:42 +00:00
Andrew Jeffery
50a1b4f99c Add transactable trait 2022-02-21 10:32:57 +00:00
Andrew Jeffery
f8c9343a45 Add get_heads to transaction 2022-02-19 18:57:32 +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
62c71845cd Add some basic docs for Automerge mutations 2022-02-16 15:12:51 +00:00
Andrew Jeffery
e970854042 Fix benchmark ids 2022-02-16 14:56:17 +00:00
Andrew Jeffery
2f49a82eea Have generate_sync_message not take mut self 2022-02-16 14:20:49 +00:00
Andrew Jeffery
ea826b70f4 Move TransactionInner and add get methods to Transaction 2022-02-16 14:15: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
Andrew Jeffery
735a4ab84c Add explicit transaction API
This removes the requirement for `&mut self`s on some of the immutable
methods on `Automerge` which can be quite inconvenient.

I've reimplemented the main functions on `Automerge` that manipulate
state to create a transaction for their op for ease of use but not
performance. I've updated the edit trace to run in a single
transaction, like on a page load.

Wasm API still needs working on at the moment to expose this properly.
2022-02-16 11:38:43 +00:00
Orion Henry
ef938fdf0a manually handle js types - make sure we have good errors 2022-02-15 14:02:19 -05:00