dbf438f7cb
With the `OpObserver` moving to the transaction rather than being passed in to the `Transaction::commit` method we have needed to add a way to get the observer back out of the transaction (via `Transaction::observer` and `AutoCommit::observer`). This `Observer` type is then used to handle patch generation logic. However, there are cases where we might not want an `OpObserver` and in these cases we can execute various things fast - so we need to have something like an `Option<OpObserver>`. In order to track the presence or otherwise of the observer at the type level introduce `automerge::transaction::observation`, which is a type level `Option`. This allows us to efficiently choose the right code paths whilst maintaining correct types for `Transaction::observer` and `AutoCommit::observer` |
||
---|---|---|
.. | ||
interop.rs | ||
lib.rs | ||
observer.rs | ||
sync.rs | ||
value.rs |