Commit graph

791 commits

Author SHA1 Message Date
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
Andrew Jeffery
702a0ec172 Add lifetimes to transact_with and fixup watch example 2022-04-19 17:30:06 +01:00
Andrew Jeffery
b6fd7ac26e Add op_observer to documents and transactions
This replaces the built-in patches with a more generic mechanism, and
includes a convenience observer which uses the old patches.
2022-04-19 17:30:05 +01:00
Jason Kankiewicz
d4a904414d Squashed commit of the following:
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-19 08:35:44 -06:00
Orion Henry
696adb5005
Merge pull request #342 from automerge/doublequeue
duplicate changes in the queue could corrupt internal state
2022-04-19 10:31:35 -04:00
Orion Henry
9d7798a8c4 readme updates 2022-04-18 18:41:44 -04:00
Orion Henry
6872e3fa9b
Merge pull request #338 from jeffa5/experiment-double-ended-range
Add double ended iterator for Range and Values
2022-04-18 17:28:03 -04:00
Orion Henry
96d5fc7e60
Merge pull request #340 from jeffa5/experiment-parents-iter
Add parents iterator
2022-04-18 17:26:33 -04:00
Orion Henry
757f1f058a simplify test more 2022-04-18 17:03:32 -04:00
Orion Henry
c66d8a5b54 fmt 2022-04-18 16:43:28 -04:00
Orion Henry
ab09a7aa5d make test simpler 2022-04-18 16:39:11 -04:00
Orion Henry
5923d67bea duplicate changes in the queue could corrupt internal state 2022-04-18 16:31:13 -04:00
Andrew Jeffery
a65838076d Add parents iterator
This allows users to have the convenience of getting all of the parents
of an object, whilst allowing them to terminate early when they have
found what they need.
2022-04-18 16:15:29 +01:00
Andrew Jeffery
122b227101 Borrow the key 2022-04-15 20:47:02 +01:00
Andrew Jeffery
fb3b740a57 Make range just be over maps 2022-04-15 15:01:28 +01:00
Andrew Jeffery
cdfc2d056f Add double ended iterator for Range and Values 2022-04-15 14:39:44 +01:00
Orion Henry
d1407480d2
Merge pull request #333 from automerge/wasm_readme
Wasm readme
2022-04-08 19:05:50 -04:00
Orion Henry
93870d4127 smol str issue 2022-04-08 18:58:52 -04:00
Orion Henry
99dc6e2314 fix smol_str dep 2022-04-08 18:55:53 -04:00
Orion Henry
a791714f74 extend documentation 2022-04-08 18:34:04 -04:00
Orion Henry
965240d8f6 Merge remote-tracking branch 'origin/experiment' into wasm_readme 2022-04-08 18:07:44 -04:00
Orion Henry
09259e5f68
Merge pull request #326 from jeffa5/experiment-range
Add range and values queries
2022-04-08 17:19:47 -04:00
Orion Henry
5555d50693 readme fixes 2022-04-08 17:10:53 -04:00
Andrew Jeffery
07553195fa Update wasm and js with new names 2022-04-08 18:23:56 +01:00
Andrew Jeffery
679b3d20ce Add range_at and values_at to transactable 2022-04-08 18:19:03 +01:00
Andrew Jeffery
bcf191bea3 Add values_at 2022-04-08 18:18:48 +01:00
Andrew Jeffery
89eb598858 Fix keys_at 2022-04-08 18:18:48 +01:00
Andrew Jeffery
baa56b0b57 Add range_at 2022-04-08 18:18:48 +01:00
Andrew Jeffery
decd03a5d7 Add values iterator 2022-04-08 18:18:47 +01:00
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
4406a5b208 Add range query
This is a way of efficiently getting just the keys and values in a
range.
2022-04-08 18:17:54 +01:00
Orion Henry
609234bb9d
Merge pull request #330 from jeffa5/experiment-graphemes
Remove grapheme splitting internally
2022-04-08 12:54:54 -04:00
Andrew Jeffery
69f51b77f4
Merge pull request #334 from jeffa5/experiment-add-object-text-at
Add object replacement character in text_at
2022-04-08 05:38:05 -05:00
Andrew Jeffery
94a122478d Add object replacement character in text_at 2022-04-08 10:13:52 +01:00
Andrew Jeffery
1bbcd4c151 Test that we can insert long strings into text 2022-04-08 09:36:48 +01:00
Andrew Jeffery
80ce447d72 Add conversion from &String for Value and ScalarValue 2022-04-08 09:36:48 +01:00
Andrew Jeffery
e4e9e9a691 Add tests for inserting into text
This ensures that we can still insert entire graphemes (small strings)
and break them into chars automatically.
2022-04-08 09:36:47 +01:00
Andrew Jeffery
842797f3aa Use Unicode Scalars instead of graphemes in text 2022-04-08 09:35:59 +01:00
Orion Henry
9ca4792424 fmt 2022-04-07 14:53:14 -04:00
Orion Henry
37d90c5b8e optimize fork_at 2022-04-07 14:43:56 -04:00
Orion Henry
9f3ae61b91 use doc.text() in js toString() 2022-04-07 14:24:12 -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
88bd14c07e
Merge pull request #309 from jeffa5/experiment-parent-obj
Add `parent_object` and `path_to_object` functions
2022-04-07 14:03:35 -04:00
Andrew Jeffery
06d2306d54 Add path_to_object 2022-04-07 15:04:00 +01:00
Andrew Jeffery
cc8134047a Document parent_object 2022-04-07 14:52:25 +01:00
Andrew Jeffery
e9adc32486 Fixup OpIdSearch's key extraction 2022-04-07 14:51:31 +01:00
Andrew Jeffery
a88d49cf45 Fixup builds 2022-04-07 14:32:17 +01:00