Commit graph

838 commits

Author SHA1 Message Date
Andrew Jeffery
8baacb281b Add save and load map benchmarks 2022-04-28 14:14:03 +01:00
Andrew Jeffery
7de0cff2c9 Rework benchmarks to be in a group 2022-04-28 14:14:03 +01:00
Andrew Jeffery
c38b49609f Remove clone from update
The cloning of the op was eating up a significant part of the increment
operation's time. This makes it zero-clone and just extracts the fields
needed.
2022-04-28 14:14:03 +01:00
Andrew Jeffery
db280c3d1d prop: Skip over nodes 2022-04-28 14:14:03 +01:00
Andrew Jeffery
7dfe311aae Store keys as well as elemids in visible index 2022-04-28 14:14:03 +01:00
Andrew Jeffery
bb4727ac34 Skip empty nodes in prop query 2022-04-28 14:14:03 +01:00
Andrew Jeffery
bdacaa1703 Use treequery rather than repeated gets 2022-04-28 14:14:03 +01:00
Andrew Jeffery
a388ffbf19 Add some benches 2022-04-28 14:14:03 +01:00
Andrew Jeffery
ca8a2a0762 Add cmake deps to nix flake 2022-04-28 14:13:36 +01:00
Orion Henry
be33f91346 Merge branch 'experiment' 2022-04-27 11:58:53 -04:00
Orion Henry
1f86a92ca1 typo 2022-04-25 12:47:13 -04:00
Andrew Jeffery
8e6306b546 Re-add caching and just clean docs dir from cache 2022-04-23 11:44:12 +01:00
Andrew Jeffery
37e29e4473 Remove docs cache
The docs aren't built with deps so it should be relatively quick to do
without a cache. The cache is also messing with keeping things from
previous versions (e.g. edit-trace).
2022-04-23 11:41:39 +01:00
Andrew Jeffery
adf8a5db12 Don't document edit-trace bin 2022-04-23 11:32:01 +01:00
Andrew Jeffery
ec446f4839 Add favicon 2022-04-23 11:31:58 +01:00
Andrew Jeffery
1e504de6ea
Merge pull request #351 from jeffa5/lints
Add generally useful lints and fixes
2022-04-23 11:21:32 +01:00
Andrew Jeffery
67da930a40 Add missing lints 2022-04-23 11:15:15 +01:00
Andrew Jeffery
9788cd881d Add debug impls 2022-04-23 11:14:07 +01:00
Andrew Jeffery
af951f324a Run cargo fix 2022-04-23 11:06:39 +01:00
Andrew Jeffery
48e397e82f Add lints 2022-04-23 11:05:43 +01:00
Andrew Jeffery
e7a8718434 Update badges 2022-04-23 10:47:21 +01:00
Andrew Jeffery
5b0ce54229 Add logo to docs 2022-04-23 10:46:03 +01:00
Andrew Jeffery
64c575fa85 Add image assets and sign to readme 2022-04-23 10:44:16 +01:00
Andrew Jeffery
a033ffa02b Update docs badge 2022-04-23 09:32:24 +01:00
Andrew Jeffery
afb1957d19 Add homepage badge 2022-04-23 09:31:28 +01:00
Andrew Jeffery
78ef6e3a2d Fix formatting 2022-04-23 09:27:01 +01:00
Andrew Jeffery
e3864e8fbd Add ci badge 2022-04-23 09:26:13 +01:00
Andrew Jeffery
23786bc746 Rename workflows 2022-04-23 09:26:05 +01:00
Andrew Jeffery
64363d7da2 Add docs badge 2022-04-23 09:22:25 +01:00
Andrew Jeffery
070608ddf2 Update CI to run on main branch 2022-04-22 17:51:01 +01:00
Andrew Jeffery
4f187859e7 Make web-sys optional and behind the wasm feature 2022-04-22 14:51:54 +01:00
Orion Henry
e41c5ae021 typescript bugfix 2022-04-20 22:05:05 -04:00
Orion Henry
e36f3c27c9
Merge pull request #347 from jeffa5/observer-counters
Add increment observation for observer
2022-04-20 20:35:18 -04:00
Orion Henry
1bee30c784
Merge branch 'main' into observer-counters 2022-04-20 20:35:07 -04:00
Orion Henry
9152c8366b
Merge pull request #343 from jkankiewicz/add_c_api
Add a C API to the "experiment" branch
2022-04-20 13:08:52 -04:00
Jason Kankiewicz
d099d553cc Apply patch from @orionz for the
"needless_lifetimes" clippy violation.
2022-04-20 10:21:56 -06:00
Orion Henry
1fc5e551bd
Merge pull request #346 from jeffa5/non-counter-increment
Prevent increment on non-counter
2022-04-20 11:48:52 -04:00
Andrew Jeffery
d667552a98 Add increment observation for observer 2022-04-20 14:44:04 +01:00
Andrew Jeffery
bfe7378968 Prevent increment on non-counter 2022-04-20 11:37:03 +01:00
Jason Kankiewicz
bc01267425 Fixed the clippy errors whose resolutions don't
cause compilation errors.
2022-04-20 01:54:57 -06:00
Jason Kankiewicz
dad2fd4928 Fixed a formatting violation. 2022-04-20 01:04:35 -06:00
Jason Kankiewicz
5128d1926d Replaced the verb "set" with the verb "put" within
the names of the source files for unit test suites.
2022-04-20 01:00:49 -06:00
Jason Kankiewicz
aaa2f7489b Fixed the compilation errors caused by merging PR
#310 into the "experiment" branch.
2022-04-20 00:57:52 -06:00
Jason Kankiewicz
8005f31a95 Squashed commit of the following:
commit 97a36e728e
Author: Jason Kankiewicz <jason.kankiewicz@gmail.com>
Date:   Fri Apr 8 03:24:46 2022 -0600

    Updated the unit test suites.

commit 56e2beb946
Author: Jason Kankiewicz <jason.kankiewicz@gmail.com>
Date:   Fri Apr 8 03:22:30 2022 -0600

    Tied the lifetime of an `AMobjId` struct to its
    owning `AMdoc` struct.

commit e16c980b2e
Author: Jason Kankiewicz <jason.kankiewicz@gmail.com>
Date:   Fri Apr 8 03:21:26 2022 -0600

    Reverted the `AMobjId` struct to being an opaque
    type.
    Added `AMobjId::new()`to fix a compilation error.
    Tied the lifetime of an `AMobjId` struct to its owning `AMdoc` struct.
    Added the `AMvalue::ChangeHash` variant.

commit 7c769b2cfe
Author: Jason Kankiewicz <jason.kankiewicz@gmail.com>
Date:   Fri Apr 8 03:12:15 2022 -0600

    Renamed the `AMobj` struct to `AMobjId` for
    clarity.
    Reverted the `AMobjId` struct to being an opaque type.
    Tied the lifetime of an `AMobjId` struct to its owning `AMdoc` struct.
    Renamed `AMcreate()` to `AMallocDoc()` for consistency with C's standard
    library functions.
    Renamed `AMdestroy()` to `AMfreeDoc()` for consistency with C's standard
    library functions.
    Renamed the `obj` function arguments to `obj_id` for clarity.
    Replaced the "set" verb in function names with the "put" verb for
    consistency iwth recent API changes.
    Renamed `AMclear()` to `AMfreeResult()` for consistency with C's
    standard library functions.
    Added `AMfreeObjId()` to enable dropping a persisted `AMojbId` struct.

commit 8d1b3bfcf2
Author: Jason Kankiewicz <jason.kankiewicz@gmail.com>
Date:   Fri Apr 8 02:52:52 2022 -0600

    Added a field for persisting `AMobjId` structs to the
    `AMdoc` struct.
    Renamed `AMdoc::create()` to `AMdoc::new()` to be more idiomatic.
    Added `AMdoc::insert_object()` and `AMdoc::set_object()` for persisting
    `AMobjId` structs.
    Added `AMdoc::drop_obj_id()` to enable dropping a persisted `AMobjId`
    struct.

commit b9b0f96357
Author: Jason Kankiewicz <jason.kankiewicz@gmail.com>
Date:   Thu Mar 17 15:17:08 2022 -0700

    Ensure CMake targets can be built after a clean.

commit d565db1ea8
Author: Jason Kankiewicz <jason.kankiewicz@gmail.com>
Date:   Thu Mar 17 15:10:09 2022 -0700

    Prevent unnecessary updating of the generated
    header file.

commit d3647e75d3
Author: Jason Kankiewicz <jason.kankiewicz@gmail.com>
Date:   Wed Mar 16 02:50:59 2022 -0700

    Documented the `AMObj.ID` struct member.

commit cc58cbf4bb
Author: Jason Kankiewicz <jason.kankiewicz@gmail.com>
Date:   Wed Mar 16 02:03:37 2022 -0700

    Normalize the formatting of the `AMobjType_tag()`
    function.

commit c2954dd2c7
Author: Jason Kankiewicz <jason.kankiewicz@gmail.com>
Date:   Wed Mar 16 02:02:03 2022 -0700

    Remove superfluous backslashes.

commit bcb6e759a4
Author: Jason Kankiewicz <jason.kankiewicz@gmail.com>
Date:   Wed Mar 16 02:01:33 2022 -0700

    Removed the `AMconfig()` function.
    Implemented the `AMgetActor()` function.
    Added the `AMgetActorHex()` function.
    Added the `AMsetActor()` function.
    Added the `AMsetActorHex()` function.

commit 9b2c566b9e
Author: Jason Kankiewicz <jason.kankiewicz@gmail.com>
Date:   Wed Mar 16 01:50:31 2022 -0700

    Added the "hex" and "smol_str" crate dependencies
    to the C API.

commit 99e06e1f73
Author: Jason Kankiewicz <jason.kankiewicz@gmail.com>
Date:   Wed Mar 16 01:06:15 2022 -0700

    Corrected a spelling error.

commit 629b19c71d
Author: Jason Kankiewicz <jason.kankiewicz@gmail.com>
Date:   Sun Mar 13 20:30:54 2022 -0700

    Align backslashes.

commit 09d25a32b7
Author: Jason Kankiewicz <jason.kankiewicz@gmail.com>
Date:   Sun Mar 13 20:30:23 2022 -0700

    Add EOF linefeed.

commit 4ed14ee748
Author: Jason Kankiewicz <jason.kankiewicz@gmail.com>
Date:   Sun Mar 13 20:05:30 2022 -0700

    Fix "fmt" CI job violations.

commit f53b40625d
Merge: 7d5538d8 e1f8d769
Author: Jason Kankiewicz <jason.kankiewicz@gmail.com>
Date:   Sun Mar 13 16:34:11 2022 -0700

    Merge branch 'c_api_exp' of https://github.com/automerge/automerge-rs into c_api_exp

commit 7d5538d8a4
Author: Jason Kankiewicz <jason.kankiewicz@gmail.com>
Date:   Sun Mar 13 16:31:22 2022 -0700

    Updated the C API's unit test suite.

commit 335cd1c85f
Author: Jason Kankiewicz <jason.kankiewicz@gmail.com>
Date:   Sun Mar 13 16:27:39 2022 -0700

    Removed superfluous `AMobj` traits.

commit 420f8cab64
Author: Jason Kankiewicz <jason.kankiewicz@gmail.com>
Date:   Sun Mar 13 16:25:48 2022 -0700

    Moved the `AMobj` struct into the `result` module.
    Changed the `AMobj` struct into an enum.
    Added the `AMbyteSpan` struct.
    Added the `AMvalue` enum.
    Added the `AMresult::Nothing` variant.

commit 4eca88ff01
Author: Jason Kankiewicz <jason.kankiewicz@gmail.com>
Date:   Sun Mar 13 15:56:06 2022 -0700

    Normalized all type name prefixes to "AM".
    Reduced the `AMstatus` enum's `<type>Ok` tags to a single `Ok` tag.
    Removed the `to_obj` macro.
    Added the `to_obj_id` macro.
    Moved the `AMobj` struct into the `result` module.
    Added the `AMresult::Nothing` variant.
    Added the `AMresultSize` function.
    Added the `AMresultValue` function.
    Added the `AMlistGet` function.
    Added the `AMmapGet` function.
    Removed the `AMgetObj` function.
    Added the `AMobjSize` function.

commit 2f94c6fd90
Author: Jason Kankiewicz <jason.kankiewicz@gmail.com>
Date:   Sun Mar 13 15:29:02 2022 -0700

    Compensate for unconfigurable cbindgen behavior.
    Prevent Doxygen documentation regeneration.

commit 5de00b7998
Author: Jason Kankiewicz <jason.kankiewicz@gmail.com>
Date:   Sun Mar 13 15:24:45 2022 -0700

    Alphabetized the cbindgen settings.

commit e1f8d769f4
Author: Orion Henry <orion.henry@gmail.com>
Date:   Thu Mar 10 08:53:07 2022 -0500

    update authors

commit 3e5525f1a6
Merge: f4ba1770 1c21abc5
Author: Orion Henry <orionz@users.noreply.github.com>
Date:   Wed Mar 9 14:36:29 2022 -0500

    Merge pull request #304 from jkankiewicz/c_api_exp

    Fix "fmt" workflow step violations

commit 1c21abc5a3
Author: Jason Kankiewicz <jason.kankiewicz@gmail.com>
Date:   Wed Mar 9 11:13:01 2022 -0800

    Fix CMake and Rust code formatting issues.

commit f4ba1770a9
Merge: bf1ae609 f41b30d1
Author: Orion Henry <orionz@users.noreply.github.com>
Date:   Wed Mar 9 12:05:58 2022 -0500

    Merge pull request #300 from jkankiewicz/c_api_exp

    Add unit test suites for the `AMlistSet*` and `AMmapSet*` functions

commit f41b30d118
Author: Jason Kankiewicz <jason.kankiewicz@gmail.com>
Date:   Tue Mar 8 22:08:36 2022 -0800

    Added a brief description of the `AmObjType` enum.
    Added the `AmStatus` enum to the enum docs page.

commit af7386a482
Author: Jason Kankiewicz <jason.kankiewicz@gmail.com>
Date:   Tue Mar 8 21:50:52 2022 -0800

    Added a unit test suite for the  `AMlistSet*`
    functions.

commit 1eb70c6eee
Author: Jason Kankiewicz <jason.kankiewicz@gmail.com>
Date:   Tue Mar 8 21:42:42 2022 -0800

    Added the rest of the `AMlistSet*` functions.
    Started the enum tags at `1` so they won't be
    inherently false.
    Alphabetized enum tags for the docs.
    Improved the docs.

commit 6489cba13b
Author: Jason Kankiewicz <jason.kankiewicz@gmail.com>
Date:   Tue Mar 8 18:01:46 2022 -0800

    Alphabetize functions in the docs.

commit 74c245b82d
Author: Jason Kankiewicz <jason.kankiewicz@gmail.com>
Date:   Tue Mar 8 07:54:25 2022 -0800

    Fix a typo in `AMmapSetObject()`'s documentation.

commit b2a879ba4e
Author: Jason Kankiewicz <jason.kankiewicz@gmail.com>
Date:   Tue Mar 8 06:24:22 2022 -0800

    Append missing EOF linefeed.

commit fbf0f29b66
Merge: c56d54b5 bf1ae609
Author: Jason Kankiewicz <jason.kankiewicz@gmail.com>
Date:   Tue Mar 8 01:08:12 2022 -0800

    Merge branch 'c_api_exp' of https://github.com/automerge/automerge-rs into c_api_exp

commit c56d54b565
Author: Jason Kankiewicz <jason.kankiewicz@gmail.com>
Date:   Tue Mar 8 01:07:11 2022 -0800

    Added unit test cases for the new `AMmapSet*`
    functions by @orionz.
    Moved the unit test cases for the `AMmapSet*` functions into their own
    unit test suite.

commit 7e59b55760
Author: Jason Kankiewicz <jason.kankiewicz@gmail.com>
Date:   Tue Mar 8 01:01:47 2022 -0800

    Edited the Doxygen documentation.

commit bf1ae60913
Author: Orion Henry <orion.henry@gmail.com>
Date:   Mon Mar 7 11:59:22 2022 -0500

    fmt

commit e82a7cc78e
Merge: a44e69d2 965c2d56
Author: Orion Henry <orionz@users.noreply.github.com>
Date:   Mon Mar 7 11:55:32 2022 -0500

    Merge pull request #299 from jkankiewicz/c_api_exp

    Enable unit testing of the C API

commit 965c2d56c3
Author: Jason Kankiewicz <jason.kankiewicz@gmail.com>
Date:   Mon Mar 7 06:37:36 2022 -0800

    Enable unit testing of the C API.

commit a44e69d2c7
Author: Orion Henry <orion.henry@gmail.com>
Date:   Sun Mar 6 14:00:46 2022 -0500

    remove datatype mapset

commit 88153c44e7
Merge: 41512e9c c6194e97
Author: Orion Henry <orionz@users.noreply.github.com>
Date:   Sun Mar 6 10:32:39 2022 -0500

    Merge pull request #298 from jkankiewicz/rebase_c_api_exp

    Rebase the "c_api_exp" branch on the "experiment" branch

commit c6194e9732
Merge: a2d745c8 41512e9c
Author: Jason Kankiewicz <jason.kankiewicz@gmail.com>
Date:   Sun Mar 6 01:09:56 2022 -0800

    Merge branch 'c_api_exp' into rebase_c_api_exp

commit a2d745c8d9
Author: Jason Kankiewicz <jason.kankiewicz@gmail.com>
Date:   Sun Mar 6 00:44:37 2022 -0800

    Replace the `utils::import_value` function with
    the `utils::import_scalar` function.
    Exclude `# Safety` comments from the documentation.

commit 0681e28b40
Author: Orion Henry <orion.henry@gmail.com>
Date:   Thu Mar 3 16:04:17 2022 -0500

    support new as_ref api

commit 916e23fcc2
Author: Orion Henry <orion.henry@gmail.com>
Date:   Thu Mar 3 15:56:27 2022 -0500

    fmt

commit 71cd6a1f18
Author: Orion Henry <orion.henry@gmail.com>
Date:   Thu Mar 3 15:54:38 2022 -0500

    lock data at 64 bit - no c_long

commit e00bd4c201
Author: Orion Henry <orion.henry@gmail.com>
Date:   Thu Mar 3 15:27:55 2022 -0500

    verbose

commit 39d157c554
Author: Orion Henry <orion.henry@gmail.com>
Date:   Thu Mar 3 14:56:23 2022 -0500

    clippy cleanup

commit 7f650fb8e0
Author: Jason Kankiewicz <jason.kankiewicz@gmail.com>
Date:   Wed Feb 23 02:14:06 2022 -0800

    Added Doxygen documentation generation.
    Renamed `AMDatatype` to `AmDataType`.
    Reorganized the `AmDataType` tags.
    Renamed `AMfree()` to `AMdestroy()`.
    Renamed `AMclone()` to `AMdup()`.

commit b0b803eef8
Author: Orion Henry <orion.henry@gmail.com>
Date:   Tue Feb 22 11:30:42 2022 -0500

    get simple test passing

commit cab9017ffa
Author: Orion Henry <orion.henry@gmail.com>
Date:   Wed Feb 9 15:50:44 2022 -0500

    rework to return a queriable result

commit a557e848f3
Author: Jason Kankiewicz <you@example.com>
Date:   Mon Feb 14 14:38:00 2022 -0800

    Add a CI step to run the CMake build of the C bindings for @alexjg.

commit c8c0c72f3b
Author: Jason Kankiewicz <you@example.com>
Date:   Mon Feb 14 14:09:58 2022 -0800

    Add CMake instructions for @orionz.

commit fb62c4b02a
Author: Jason Kankiewicz <you@example.com>
Date:   Thu Feb 10 23:28:54 2022 -0800

    Add CMake support.

commit 7bc3bb6850
Author: Jason Kankiewicz <you@example.com>
Date:   Thu Feb 10 22:49:53 2022 -0800

    Replace *intptr_t in C function signatures.

commit 60395a2db0
Author: Orion Henry <orion.henry@gmail.com>
Date:   Sun Feb 6 18:59:19 2022 -0500

    am_pop and am_pop_value

commit b1e88047d2
Author: Orion Henry <orion.henry@gmail.com>
Date:   Thu Feb 3 19:43:36 2022 -0500

    break the ground

commit 41512e9c78
Author: Orion Henry <orion.henry@gmail.com>
Date:   Thu Mar 3 16:04:17 2022 -0500

    support new as_ref api

commit bcee6a9623
Merge: cf98f78d 9a89db3f
Author: Orion Henry <orion.henry@gmail.com>
Date:   Thu Mar 3 15:58:19 2022 -0500

    Merge remote-tracking branch 'origin/experiment' into c_api_exp

commit cf98f78dd1
Author: Orion Henry <orion.henry@gmail.com>
Date:   Thu Mar 3 15:56:27 2022 -0500

    fmt

commit 3c1f449c5c
Author: Orion Henry <orion.henry@gmail.com>
Date:   Thu Mar 3 15:54:38 2022 -0500

    lock data at 64 bit - no c_long

commit 2c2ec0b0c5
Author: Orion Henry <orion.henry@gmail.com>
Date:   Thu Mar 3 15:27:55 2022 -0500

    verbose

commit b72b9c989a
Author: Orion Henry <orion.henry@gmail.com>
Date:   Thu Mar 3 14:56:23 2022 -0500

    clippy cleanup

commit 3ba28f91cc
Author: Jason Kankiewicz <jason.kankiewicz@gmail.com>
Date:   Wed Feb 23 02:14:06 2022 -0800

    Added Doxygen documentation generation.
    Renamed `AMDatatype` to `AmDataType`.
    Reorganized the `AmDataType` tags.
    Renamed `AMfree()` to `AMdestroy()`.
    Renamed `AMclone()` to `AMdup()`.

commit 8564e5b753
Author: Orion Henry <orion.henry@gmail.com>
Date:   Tue Feb 22 11:30:42 2022 -0500

    get simple test passing

commit 60835e6ae7
Author: Orion Henry <orion.henry@gmail.com>
Date:   Wed Feb 9 15:50:44 2022 -0500

    rework to return a queriable result

commit 89466d9e8c
Author: Jason Kankiewicz <you@example.com>
Date:   Mon Feb 14 14:38:00 2022 -0800

    Add a CI step to run the CMake build of the C bindings for @alexjg.

commit e2485bd5fd
Author: Jason Kankiewicz <you@example.com>
Date:   Mon Feb 14 14:09:58 2022 -0800

    Add CMake instructions for @orionz.

commit b5cc7dd63d
Author: Jason Kankiewicz <you@example.com>
Date:   Thu Feb 10 23:28:54 2022 -0800

    Add CMake support.

commit 685536f0cf
Author: Jason Kankiewicz <you@example.com>
Date:   Thu Feb 10 22:49:53 2022 -0800

    Replace *intptr_t in C function signatures.

commit c1c6e7bb66
Author: Orion Henry <orion.henry@gmail.com>
Date:   Sun Feb 6 18:59:19 2022 -0500

    am_pop and am_pop_value

commit e68c8d347e
Author: Orion Henry <orion.henry@gmail.com>
Date:   Thu Feb 3 19:43:36 2022 -0500

    break the ground
2022-04-20 00:48:59 -06:00
Orion Henry
439b9104d6 touch up readme and package files 2022-04-19 14:48:33 -04:00
Andrew Jeffery
e65200b150 Add docs workflow 2022-04-19 19:08:28 +01:00
Orion Henry
77eb094aea
Merge pull request #332 from jeffa5/experiment-observer
Add OpObserver to the document
2022-04-19 13:36:43 -04:00
Andrew Jeffery
aa3c32cea3 Add ApplyOptions 2022-04-19 18:15:22 +01:00
Andrew Jeffery
76a19185b7 Add separate functions for with op_observer 2022-04-19 17:48:11 +01:00
Andrew Jeffery
e1283e781d Add some more docs to the patches 2022-04-19 17:30:06 +01:00