automerge-rb 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/LICENSE.txt +22 -0
- data/README.md +175 -0
- data/ext/automerge_ext/automerge_ext.c +1805 -0
- data/ext/automerge_ext/extconf.rb +132 -0
- data/lib/automerge/version.rb +6 -0
- data/lib/automerge.rb +110 -0
- data/rust-toolchain.toml +4 -0
- data/vendor/automerge-rust/Cargo.lock +1909 -0
- data/vendor/automerge-rust/Cargo.toml +15 -0
- data/vendor/automerge-rust/automerge/Cargo.toml +78 -0
- data/vendor/automerge-rust/automerge/README.md +5 -0
- data/vendor/automerge-rust/automerge/benches/load_save.rs +102 -0
- data/vendor/automerge-rust/automerge/benches/map.rs +260 -0
- data/vendor/automerge-rust/automerge/benches/range.rs +37 -0
- data/vendor/automerge-rust/automerge/benches/sync.rs +95 -0
- data/vendor/automerge-rust/automerge/examples/README.md +7 -0
- data/vendor/automerge-rust/automerge/examples/quickstart.rs +57 -0
- data/vendor/automerge-rust/automerge/examples/watch.rs +94 -0
- data/vendor/automerge-rust/automerge/fuzz/Cargo.toml +29 -0
- data/vendor/automerge-rust/automerge/fuzz/fuzz_targets/load.rs +37 -0
- data/vendor/automerge-rust/automerge/src/autocommit.rs +1286 -0
- data/vendor/automerge-rust/automerge/src/automerge/current_state.rs +546 -0
- data/vendor/automerge-rust/automerge/src/automerge/tests.rs +2023 -0
- data/vendor/automerge-rust/automerge/src/automerge.rs +2071 -0
- data/vendor/automerge-rust/automerge/src/autoserde.rs +128 -0
- data/vendor/automerge-rust/automerge/src/change.rs +357 -0
- data/vendor/automerge-rust/automerge/src/change_graph.rs +1215 -0
- data/vendor/automerge-rust/automerge/src/change_queue.rs +46 -0
- data/vendor/automerge-rust/automerge/src/clock.rs +206 -0
- data/vendor/automerge-rust/automerge/src/columnar/column_range/boolean.rs +83 -0
- data/vendor/automerge-rust/automerge/src/columnar/column_range/delta.rs +148 -0
- data/vendor/automerge-rust/automerge/src/columnar/column_range/generic/group.rs +138 -0
- data/vendor/automerge-rust/automerge/src/columnar/column_range/generic/simple.rs +76 -0
- data/vendor/automerge-rust/automerge/src/columnar/column_range/generic.rs +93 -0
- data/vendor/automerge-rust/automerge/src/columnar/column_range/key.rs +272 -0
- data/vendor/automerge-rust/automerge/src/columnar/column_range/obj_id.rs +202 -0
- data/vendor/automerge-rust/automerge/src/columnar/column_range/opid_list.rs +329 -0
- data/vendor/automerge-rust/automerge/src/columnar/column_range/raw.rs +38 -0
- data/vendor/automerge-rust/automerge/src/columnar/column_range/rle.rs +216 -0
- data/vendor/automerge-rust/automerge/src/columnar/column_range/value.rs +547 -0
- data/vendor/automerge-rust/automerge/src/columnar/column_range.rs +17 -0
- data/vendor/automerge-rust/automerge/src/columnar/encoding/boolean.rs +197 -0
- data/vendor/automerge-rust/automerge/src/columnar/encoding/col_error.rs +88 -0
- data/vendor/automerge-rust/automerge/src/columnar/encoding/column_decoder.rs +133 -0
- data/vendor/automerge-rust/automerge/src/columnar/encoding/decodable_impls.rs +175 -0
- data/vendor/automerge-rust/automerge/src/columnar/encoding/delta.rs +96 -0
- data/vendor/automerge-rust/automerge/src/columnar/encoding/encodable_impls.rs +200 -0
- data/vendor/automerge-rust/automerge/src/columnar/encoding/leb128.rs +82 -0
- data/vendor/automerge-rust/automerge/src/columnar/encoding/properties.rs +178 -0
- data/vendor/automerge-rust/automerge/src/columnar/encoding/raw.rs +101 -0
- data/vendor/automerge-rust/automerge/src/columnar/encoding/rle.rs +239 -0
- data/vendor/automerge-rust/automerge/src/columnar/encoding.rs +67 -0
- data/vendor/automerge-rust/automerge/src/columnar/splice_error.rs +47 -0
- data/vendor/automerge-rust/automerge/src/columnar.rs +14 -0
- data/vendor/automerge-rust/automerge/src/convert.rs +112 -0
- data/vendor/automerge-rust/automerge/src/cursor.rs +296 -0
- data/vendor/automerge-rust/automerge/src/decoding.rs +475 -0
- data/vendor/automerge-rust/automerge/src/error.rs +159 -0
- data/vendor/automerge-rust/automerge/src/exid.rs +238 -0
- data/vendor/automerge-rust/automerge/src/hydrate/list.rs +140 -0
- data/vendor/automerge-rust/automerge/src/hydrate/map.rs +132 -0
- data/vendor/automerge-rust/automerge/src/hydrate/tests.rs +40 -0
- data/vendor/automerge-rust/automerge/src/hydrate/text.rs +89 -0
- data/vendor/automerge-rust/automerge/src/hydrate.rs +368 -0
- data/vendor/automerge-rust/automerge/src/indexed_cache.rs +113 -0
- data/vendor/automerge-rust/automerge/src/iter/doc.rs +603 -0
- data/vendor/automerge-rust/automerge/src/iter/keys.rs +93 -0
- data/vendor/automerge-rust/automerge/src/iter/list_range.rs +433 -0
- data/vendor/automerge-rust/automerge/src/iter/map_range.rs +316 -0
- data/vendor/automerge-rust/automerge/src/iter/spans.rs +601 -0
- data/vendor/automerge-rust/automerge/src/iter/tools.rs +427 -0
- data/vendor/automerge-rust/automerge/src/iter/values.rs +36 -0
- data/vendor/automerge-rust/automerge/src/iter.rs +25 -0
- data/vendor/automerge-rust/automerge/src/legacy/mod.rs +364 -0
- data/vendor/automerge-rust/automerge/src/legacy/serde_impls/actor_id.rs +25 -0
- data/vendor/automerge-rust/automerge/src/legacy/serde_impls/change_hash.rs +29 -0
- data/vendor/automerge-rust/automerge/src/legacy/serde_impls/element_id.rs +27 -0
- data/vendor/automerge-rust/automerge/src/legacy/serde_impls/mod.rs +31 -0
- data/vendor/automerge-rust/automerge/src/legacy/serde_impls/object_id.rs +36 -0
- data/vendor/automerge-rust/automerge/src/legacy/serde_impls/op.rs +668 -0
- data/vendor/automerge-rust/automerge/src/legacy/serde_impls/op_type.rs +26 -0
- data/vendor/automerge-rust/automerge/src/legacy/serde_impls/opid.rs +25 -0
- data/vendor/automerge-rust/automerge/src/legacy/serde_impls/scalar_value.rs +63 -0
- data/vendor/automerge-rust/automerge/src/legacy/utility_impls/element_id.rs +66 -0
- data/vendor/automerge-rust/automerge/src/legacy/utility_impls/key.rs +49 -0
- data/vendor/automerge-rust/automerge/src/legacy/utility_impls/mod.rs +4 -0
- data/vendor/automerge-rust/automerge/src/legacy/utility_impls/object_id.rs +74 -0
- data/vendor/automerge-rust/automerge/src/legacy/utility_impls/opid.rs +68 -0
- data/vendor/automerge-rust/automerge/src/lib.rs +315 -0
- data/vendor/automerge-rust/automerge/src/marks.rs +478 -0
- data/vendor/automerge-rust/automerge/src/op_set2/change/batch.rs +2002 -0
- data/vendor/automerge-rust/automerge/src/op_set2/change/collector.rs +974 -0
- data/vendor/automerge-rust/automerge/src/op_set2/change.rs +332 -0
- data/vendor/automerge-rust/automerge/src/op_set2/columns.rs +714 -0
- data/vendor/automerge-rust/automerge/src/op_set2/meta.rs +174 -0
- data/vendor/automerge-rust/automerge/src/op_set2/op.rs +1363 -0
- data/vendor/automerge-rust/automerge/src/op_set2/op_set/elems.rs +43 -0
- data/vendor/automerge-rust/automerge/src/op_set2/op_set/found_op.rs +60 -0
- data/vendor/automerge-rust/automerge/src/op_set2/op_set/index.rs +197 -0
- data/vendor/automerge-rust/automerge/src/op_set2/op_set/insert.rs +179 -0
- data/vendor/automerge-rust/automerge/src/op_set2/op_set/mark_index.rs +292 -0
- data/vendor/automerge-rust/automerge/src/op_set2/op_set/marks.rs +86 -0
- data/vendor/automerge-rust/automerge/src/op_set2/op_set/op_iter.rs +1295 -0
- data/vendor/automerge-rust/automerge/src/op_set2/op_set/op_query.rs +82 -0
- data/vendor/automerge-rust/automerge/src/op_set2/op_set/top_op.rs +50 -0
- data/vendor/automerge-rust/automerge/src/op_set2/op_set/visible.rs +290 -0
- data/vendor/automerge-rust/automerge/src/op_set2/op_set.rs +1793 -0
- data/vendor/automerge-rust/automerge/src/op_set2/parents.rs +133 -0
- data/vendor/automerge-rust/automerge/src/op_set2/skip_list.rs +714 -0
- data/vendor/automerge-rust/automerge/src/op_set2/types.rs +769 -0
- data/vendor/automerge-rust/automerge/src/op_set2.rs +18 -0
- data/vendor/automerge-rust/automerge/src/patches/patch.rs +95 -0
- data/vendor/automerge-rust/automerge/src/patches/patch_builder.rs +382 -0
- data/vendor/automerge-rust/automerge/src/patches/patch_log.rs +584 -0
- data/vendor/automerge-rust/automerge/src/patches.rs +7 -0
- data/vendor/automerge-rust/automerge/src/query/list_state.rs +230 -0
- data/vendor/automerge-rust/automerge/src/query/seek_mark.rs +142 -0
- data/vendor/automerge-rust/automerge/src/read.rs +326 -0
- data/vendor/automerge-rust/automerge/src/sequence_tree.rs +662 -0
- data/vendor/automerge-rust/automerge/src/storage/bundle/builder.rs +942 -0
- data/vendor/automerge-rust/automerge/src/storage/bundle/error.rs +42 -0
- data/vendor/automerge-rust/automerge/src/storage/bundle/meta.rs +23 -0
- data/vendor/automerge-rust/automerge/src/storage/bundle/storage.rs +146 -0
- data/vendor/automerge-rust/automerge/src/storage/bundle.rs +210 -0
- data/vendor/automerge-rust/automerge/src/storage/change/change_actors.rs +311 -0
- data/vendor/automerge-rust/automerge/src/storage/change/change_op_columns.rs +621 -0
- data/vendor/automerge-rust/automerge/src/storage/change/compressed.rs +51 -0
- data/vendor/automerge-rust/automerge/src/storage/change/op_with_change_actors.rs +1 -0
- data/vendor/automerge-rust/automerge/src/storage/change.rs +523 -0
- data/vendor/automerge-rust/automerge/src/storage/chunk.rs +312 -0
- data/vendor/automerge-rust/automerge/src/storage/columns/column.rs +42 -0
- data/vendor/automerge-rust/automerge/src/storage/columns/column_builder.rs +199 -0
- data/vendor/automerge-rust/automerge/src/storage/columns/column_specification.rs +340 -0
- data/vendor/automerge-rust/automerge/src/storage/columns/raw_column.rs +286 -0
- data/vendor/automerge-rust/automerge/src/storage/columns.rs +355 -0
- data/vendor/automerge-rust/automerge/src/storage/document/compression.rs +362 -0
- data/vendor/automerge-rust/automerge/src/storage/document.rs +411 -0
- data/vendor/automerge-rust/automerge/src/storage/load/change_collector.rs +15 -0
- data/vendor/automerge-rust/automerge/src/storage/load.rs +136 -0
- data/vendor/automerge-rust/automerge/src/storage/parse/leb128.rs +302 -0
- data/vendor/automerge-rust/automerge/src/storage/parse.rs +619 -0
- data/vendor/automerge-rust/automerge/src/storage/save/document.rs +27 -0
- data/vendor/automerge-rust/automerge/src/storage.rs +26 -0
- data/vendor/automerge-rust/automerge/src/sync/bloom.rs +161 -0
- data/vendor/automerge-rust/automerge/src/sync/message_builder.rs +118 -0
- data/vendor/automerge-rust/automerge/src/sync/state.rs +214 -0
- data/vendor/automerge-rust/automerge/src/sync/v1_compat_test/bloom.rs +162 -0
- data/vendor/automerge-rust/automerge/src/sync/v1_compat_test/mod.rs +625 -0
- data/vendor/automerge-rust/automerge/src/sync/v1_compat_test/state.rs +120 -0
- data/vendor/automerge-rust/automerge/src/sync.rs +2482 -0
- data/vendor/automerge-rust/automerge/src/text_diff/LICENSE +201 -0
- data/vendor/automerge-rust/automerge/src/text_diff/myers.rs +332 -0
- data/vendor/automerge-rust/automerge/src/text_diff/replace.rs +139 -0
- data/vendor/automerge-rust/automerge/src/text_diff/utils.rs +119 -0
- data/vendor/automerge-rust/automerge/src/text_diff.rs +515 -0
- data/vendor/automerge-rust/automerge/src/text_value.rs +276 -0
- data/vendor/automerge-rust/automerge/src/transaction/commit.rs +34 -0
- data/vendor/automerge-rust/automerge/src/transaction/inner.rs +1403 -0
- data/vendor/automerge-rust/automerge/src/transaction/manual_transaction.rs +147 -0
- data/vendor/automerge-rust/automerge/src/transaction/owned_transaction.rs +266 -0
- data/vendor/automerge-rust/automerge/src/transaction/result.rs +21 -0
- data/vendor/automerge-rust/automerge/src/transaction/transactable.rs +203 -0
- data/vendor/automerge-rust/automerge/src/transaction.rs +513 -0
- data/vendor/automerge-rust/automerge/src/types.rs +749 -0
- data/vendor/automerge-rust/automerge/src/validation.rs +29 -0
- data/vendor/automerge-rust/automerge/src/value.rs +763 -0
- data/vendor/automerge-rust/automerge/tests/batch_insert.rs +1034 -0
- data/vendor/automerge-rust/automerge/tests/block_tests.rs +887 -0
- data/vendor/automerge-rust/automerge/tests/convert_string_to_text.rs +72 -0
- data/vendor/automerge-rust/automerge/tests/diff_marks.rs +1508 -0
- data/vendor/automerge-rust/automerge/tests/fixtures/64bit_obj_id_change.automerge +0 -0
- data/vendor/automerge-rust/automerge/tests/fixtures/64bit_obj_id_doc.automerge +0 -0
- data/vendor/automerge-rust/automerge/tests/fixtures/counter_value_has_incorrect_meta.automerge +0 -0
- data/vendor/automerge-rust/automerge/tests/fixtures/counter_value_is_ok.automerge +0 -0
- data/vendor/automerge-rust/automerge/tests/fixtures/counter_value_is_overlong.automerge +0 -0
- data/vendor/automerge-rust/automerge/tests/fixtures/two_change_chunks.automerge +0 -0
- data/vendor/automerge-rust/automerge/tests/fixtures/two_change_chunks_compressed.automerge +0 -0
- data/vendor/automerge-rust/automerge/tests/fixtures/two_change_chunks_out_of_order.automerge +0 -0
- data/vendor/automerge-rust/automerge/tests/fuzz-crashers/action-is-48.automerge +0 -0
- data/vendor/automerge-rust/automerge/tests/fuzz-crashers/crash-da39a3ee5e6b4b0d3255bfef95601890afd80709 +0 -0
- data/vendor/automerge-rust/automerge/tests/fuzz-crashers/incorrect_max_op.automerge +0 -0
- data/vendor/automerge-rust/automerge/tests/fuzz-crashers/invalid_deflate_stream.automerge +0 -0
- data/vendor/automerge-rust/automerge/tests/fuzz-crashers/missing_actor.automerge +0 -0
- data/vendor/automerge-rust/automerge/tests/fuzz-crashers/overflow_in_length.automerge +0 -0
- data/vendor/automerge-rust/automerge/tests/fuzz-crashers/too_many_deps.automerge +0 -0
- data/vendor/automerge-rust/automerge/tests/fuzz-crashers/too_many_ops.automerge +0 -0
- data/vendor/automerge-rust/automerge/tests/test.rs +2668 -0
- data/vendor/automerge-rust/automerge/tests/test_mark_patches.rs +41 -0
- data/vendor/automerge-rust/automerge/tests/test_save_load_orphans.rs +84 -0
- data/vendor/automerge-rust/automerge/tests/text.rs +1098 -0
- data/vendor/automerge-rust/automerge/tests/text_encoding.rs +640 -0
- data/vendor/automerge-rust/automerge-c/CMakeLists.txt +439 -0
- data/vendor/automerge-rust/automerge-c/Cargo.toml +22 -0
- data/vendor/automerge-rust/automerge-c/README.md +233 -0
- data/vendor/automerge-rust/automerge-c/build.rs +21 -0
- data/vendor/automerge-rust/automerge-c/cbindgen.toml +48 -0
- data/vendor/automerge-rust/automerge-c/cmake/Cargo.toml.in +22 -0
- data/vendor/automerge-rust/automerge-c/cmake/automerge-c-config.cmake.in +99 -0
- data/vendor/automerge-rust/automerge-c/cmake/cbindgen.toml.in +48 -0
- data/vendor/automerge-rust/automerge-c/cmake/config.h.in +58 -0
- data/vendor/automerge-rust/automerge-c/cmake/enum-string-functions-gen.cmake +183 -0
- data/vendor/automerge-rust/automerge-c/cmake/file-regex-replace.cmake +33 -0
- data/vendor/automerge-rust/automerge-c/cmake/file-touch.cmake +35 -0
- data/vendor/automerge-rust/automerge-c/docs/CMakeLists.txt +39 -0
- data/vendor/automerge-rust/automerge-c/docs/img/brandmark.png +0 -0
- data/vendor/automerge-rust/automerge-c/examples/CMakeLists.txt +42 -0
- data/vendor/automerge-rust/automerge-c/examples/README.md +9 -0
- data/vendor/automerge-rust/automerge-c/examples/quickstart.c +131 -0
- data/vendor/automerge-rust/automerge-c/include/automerge-c/utils/result.h +30 -0
- data/vendor/automerge-rust/automerge-c/include/automerge-c/utils/stack.h +130 -0
- data/vendor/automerge-rust/automerge-c/include/automerge-c/utils/stack_callback_data.h +53 -0
- data/vendor/automerge-rust/automerge-c/include/automerge-c/utils/string.h +29 -0
- data/vendor/automerge-rust/automerge-c/src/actor_id.rs +193 -0
- data/vendor/automerge-rust/automerge-c/src/byte_span.rs +227 -0
- data/vendor/automerge-rust/automerge-c/src/change.rs +356 -0
- data/vendor/automerge-rust/automerge-c/src/cursor.rs +168 -0
- data/vendor/automerge-rust/automerge-c/src/doc/list.rs +636 -0
- data/vendor/automerge-rust/automerge-c/src/doc/map.rs +556 -0
- data/vendor/automerge-rust/automerge-c/src/doc/mark.rs +296 -0
- data/vendor/automerge-rust/automerge-c/src/doc/utils.rs +46 -0
- data/vendor/automerge-rust/automerge-c/src/doc.rs +1009 -0
- data/vendor/automerge-rust/automerge-c/src/index.rs +84 -0
- data/vendor/automerge-rust/automerge-c/src/item.rs +2177 -0
- data/vendor/automerge-rust/automerge-c/src/items.rs +401 -0
- data/vendor/automerge-rust/automerge-c/src/lib.rs +11 -0
- data/vendor/automerge-rust/automerge-c/src/obj.rs +216 -0
- data/vendor/automerge-rust/automerge-c/src/result.rs +653 -0
- data/vendor/automerge-rust/automerge-c/src/sync/have.rs +42 -0
- data/vendor/automerge-rust/automerge-c/src/sync/message.rs +146 -0
- data/vendor/automerge-rust/automerge-c/src/sync/state.rs +262 -0
- data/vendor/automerge-rust/automerge-c/src/sync.rs +7 -0
- data/vendor/automerge-rust/automerge-c/src/utils/result.c +33 -0
- data/vendor/automerge-rust/automerge-c/src/utils/stack.c +106 -0
- data/vendor/automerge-rust/automerge-c/src/utils/stack_callback_data.c +9 -0
- data/vendor/automerge-rust/automerge-c/src/utils/string.c +46 -0
- data/vendor/automerge-rust/automerge-c/test/CMakeLists.txt +67 -0
- data/vendor/automerge-rust/automerge-c/test/actor_id_tests.c +140 -0
- data/vendor/automerge-rust/automerge-c/test/base_state.c +17 -0
- data/vendor/automerge-rust/automerge-c/test/base_state.h +39 -0
- data/vendor/automerge-rust/automerge-c/test/byte_span_tests.c +119 -0
- data/vendor/automerge-rust/automerge-c/test/cmocka_utils.c +91 -0
- data/vendor/automerge-rust/automerge-c/test/cmocka_utils.h +42 -0
- data/vendor/automerge-rust/automerge-c/test/cursor_tests.c +263 -0
- data/vendor/automerge-rust/automerge-c/test/doc_state.c +27 -0
- data/vendor/automerge-rust/automerge-c/test/doc_state.h +17 -0
- data/vendor/automerge-rust/automerge-c/test/doc_tests.c +335 -0
- data/vendor/automerge-rust/automerge-c/test/enum_string_tests.c +148 -0
- data/vendor/automerge-rust/automerge-c/test/files/brave-ape-49.automerge +0 -0
- data/vendor/automerge-rust/automerge-c/test/item_tests.c +313 -0
- data/vendor/automerge-rust/automerge-c/test/list_tests.c +544 -0
- data/vendor/automerge-rust/automerge-c/test/macro_utils.c +38 -0
- data/vendor/automerge-rust/automerge-c/test/macro_utils.h +23 -0
- data/vendor/automerge-rust/automerge-c/test/main.c +33 -0
- data/vendor/automerge-rust/automerge-c/test/map_tests.c +1610 -0
- data/vendor/automerge-rust/automerge-c/test/mark_tests.c +124 -0
- data/vendor/automerge-rust/automerge-c/test/ported_wasm/basic_tests.c +1642 -0
- data/vendor/automerge-rust/automerge-c/test/ported_wasm/cursor_tests.c +108 -0
- data/vendor/automerge-rust/automerge-c/test/ported_wasm/suite.c +17 -0
- data/vendor/automerge-rust/automerge-c/test/ported_wasm/sync_tests.c +1280 -0
- data/vendor/automerge-rust/automerge-c/test/str_utils.c +15 -0
- data/vendor/automerge-rust/automerge-c/test/str_utils.h +17 -0
- data/vendor/automerge-rust/automerge-test/Cargo.toml +17 -0
- data/vendor/automerge-rust/automerge-test/README.md +3 -0
- data/vendor/automerge-rust/automerge-test/src/lib.rs +487 -0
- data/vendor/automerge-rust/hexane/CHANGELOG.md +34 -0
- data/vendor/automerge-rust/hexane/Cargo.toml +47 -0
- data/vendor/automerge-rust/hexane/README.md +292 -0
- data/vendor/automerge-rust/hexane/RESULTS.txt +20 -0
- data/vendor/automerge-rust/hexane/TODO +18 -0
- data/vendor/automerge-rust/hexane/benches/insert.rs +82 -0
- data/vendor/automerge-rust/hexane/benches/seek.rs +77 -0
- data/vendor/automerge-rust/hexane/benches/splice.rs +82 -0
- data/vendor/automerge-rust/hexane/src/aggregate.rs +288 -0
- data/vendor/automerge-rust/hexane/src/boolean.rs +478 -0
- data/vendor/automerge-rust/hexane/src/columndata.rs +2540 -0
- data/vendor/automerge-rust/hexane/src/cursor.rs +756 -0
- data/vendor/automerge-rust/hexane/src/delta.rs +793 -0
- data/vendor/automerge-rust/hexane/src/encoder.rs +639 -0
- data/vendor/automerge-rust/hexane/src/leb128.rs +82 -0
- data/vendor/automerge-rust/hexane/src/lib.rs +95 -0
- data/vendor/automerge-rust/hexane/src/pack.rs +325 -0
- data/vendor/automerge-rust/hexane/src/raw.rs +314 -0
- data/vendor/automerge-rust/hexane/src/rle.rs +928 -0
- data/vendor/automerge-rust/hexane/src/slab/tree.rs +1373 -0
- data/vendor/automerge-rust/hexane/src/slab/writer.rs +535 -0
- data/vendor/automerge-rust/hexane/src/slab.rs +224 -0
- data/vendor/automerge-rust/hexane/src/test.rs +108 -0
- data/vendor/bundle/ruby/3.3.0/bin/rake +29 -0
- data/vendor/bundle/ruby/3.3.0/bin/rake-compiler +29 -0
- data/vendor/bundle/ruby/3.3.0/bin/rake-compiler-dock +29 -0
- data/vendor/bundle/ruby/3.3.0/gems/minitest-5.27.0/History.rdoc +1732 -0
- data/vendor/bundle/ruby/3.3.0/gems/minitest-5.27.0/Manifest.txt +32 -0
- data/vendor/bundle/ruby/3.3.0/gems/minitest-5.27.0/README.rdoc +845 -0
- data/vendor/bundle/ruby/3.3.0/gems/minitest-5.27.0/Rakefile +97 -0
- data/vendor/bundle/ruby/3.3.0/gems/minitest-5.27.0/design_rationale.rb +54 -0
- data/vendor/bundle/ruby/3.3.0/gems/minitest-5.27.0/lib/hoe/minitest.rb +30 -0
- data/vendor/bundle/ruby/3.3.0/gems/minitest-5.27.0/lib/minitest/assertions.rb +850 -0
- data/vendor/bundle/ruby/3.3.0/gems/minitest-5.27.0/lib/minitest/autorun.rb +6 -0
- data/vendor/bundle/ruby/3.3.0/gems/minitest-5.27.0/lib/minitest/benchmark.rb +452 -0
- data/vendor/bundle/ruby/3.3.0/gems/minitest-5.27.0/lib/minitest/compress.rb +94 -0
- data/vendor/bundle/ruby/3.3.0/gems/minitest-5.27.0/lib/minitest/error_on_warning.rb +11 -0
- data/vendor/bundle/ruby/3.3.0/gems/minitest-5.27.0/lib/minitest/expectations.rb +321 -0
- data/vendor/bundle/ruby/3.3.0/gems/minitest-5.27.0/lib/minitest/hell.rb +11 -0
- data/vendor/bundle/ruby/3.3.0/gems/minitest-5.27.0/lib/minitest/manual_plugins.rb +16 -0
- data/vendor/bundle/ruby/3.3.0/gems/minitest-5.27.0/lib/minitest/mock.rb +327 -0
- data/vendor/bundle/ruby/3.3.0/gems/minitest-5.27.0/lib/minitest/parallel.rb +72 -0
- data/vendor/bundle/ruby/3.3.0/gems/minitest-5.27.0/lib/minitest/pride.rb +4 -0
- data/vendor/bundle/ruby/3.3.0/gems/minitest-5.27.0/lib/minitest/pride_plugin.rb +135 -0
- data/vendor/bundle/ruby/3.3.0/gems/minitest-5.27.0/lib/minitest/spec.rb +353 -0
- data/vendor/bundle/ruby/3.3.0/gems/minitest-5.27.0/lib/minitest/test.rb +238 -0
- data/vendor/bundle/ruby/3.3.0/gems/minitest-5.27.0/lib/minitest/test_task.rb +324 -0
- data/vendor/bundle/ruby/3.3.0/gems/minitest-5.27.0/lib/minitest/unit.rb +42 -0
- data/vendor/bundle/ruby/3.3.0/gems/minitest-5.27.0/lib/minitest.rb +1250 -0
- data/vendor/bundle/ruby/3.3.0/gems/minitest-5.27.0/test/minitest/metametameta.rb +150 -0
- data/vendor/bundle/ruby/3.3.0/gems/minitest-5.27.0/test/minitest/test_minitest_assertions.rb +1677 -0
- data/vendor/bundle/ruby/3.3.0/gems/minitest-5.27.0/test/minitest/test_minitest_benchmark.rb +137 -0
- data/vendor/bundle/ruby/3.3.0/gems/minitest-5.27.0/test/minitest/test_minitest_mock.rb +1213 -0
- data/vendor/bundle/ruby/3.3.0/gems/minitest-5.27.0/test/minitest/test_minitest_reporter.rb +437 -0
- data/vendor/bundle/ruby/3.3.0/gems/minitest-5.27.0/test/minitest/test_minitest_spec.rb +1159 -0
- data/vendor/bundle/ruby/3.3.0/gems/minitest-5.27.0/test/minitest/test_minitest_test.rb +1374 -0
- data/vendor/bundle/ruby/3.3.0/gems/minitest-5.27.0/test/minitest/test_minitest_test_task.rb +57 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-13.4.2/History.rdoc +2454 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-13.4.2/MIT-LICENSE +21 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-13.4.2/README.rdoc +155 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-13.4.2/doc/command_line_usage.rdoc +171 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-13.4.2/doc/example/Rakefile1 +38 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-13.4.2/doc/example/Rakefile2 +35 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-13.4.2/doc/example/a.c +6 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-13.4.2/doc/example/b.c +6 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-13.4.2/doc/example/main.c +11 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-13.4.2/doc/glossary.rdoc +42 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-13.4.2/doc/jamis.rb +592 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-13.4.2/doc/proto_rake.rdoc +127 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-13.4.2/doc/rake.1 +156 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-13.4.2/doc/rakefile.rdoc +635 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-13.4.2/doc/rational.rdoc +151 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-13.4.2/exe/rake +27 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-13.4.2/lib/rake/application.rb +847 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-13.4.2/lib/rake/backtrace.rb +25 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-13.4.2/lib/rake/clean.rb +78 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-13.4.2/lib/rake/cloneable.rb +17 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-13.4.2/lib/rake/cpu_counter.rb +122 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-13.4.2/lib/rake/default_loader.rb +15 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-13.4.2/lib/rake/dsl_definition.rb +196 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-13.4.2/lib/rake/early_time.rb +22 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-13.4.2/lib/rake/ext/core.rb +26 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-13.4.2/lib/rake/ext/string.rb +176 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-13.4.2/lib/rake/file_creation_task.rb +25 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-13.4.2/lib/rake/file_list.rb +435 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-13.4.2/lib/rake/file_task.rb +58 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-13.4.2/lib/rake/file_utils.rb +137 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-13.4.2/lib/rake/file_utils_ext.rb +135 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-13.4.2/lib/rake/invocation_chain.rb +57 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-13.4.2/lib/rake/invocation_exception_mixin.rb +17 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-13.4.2/lib/rake/late_time.rb +18 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-13.4.2/lib/rake/linked_list.rb +112 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-13.4.2/lib/rake/loaders/makefile.rb +54 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-13.4.2/lib/rake/multi_task.rb +14 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-13.4.2/lib/rake/name_space.rb +38 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-13.4.2/lib/rake/options.rb +31 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-13.4.2/lib/rake/packagetask.rb +222 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-13.4.2/lib/rake/phony.rb +16 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-13.4.2/lib/rake/private_reader.rb +21 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-13.4.2/lib/rake/promise.rb +100 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-13.4.2/lib/rake/pseudo_status.rb +30 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-13.4.2/lib/rake/rake_module.rb +67 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-13.4.2/lib/rake/rake_test_loader.rb +27 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-13.4.2/lib/rake/rule_recursion_overflow_error.rb +20 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-13.4.2/lib/rake/scope.rb +43 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-13.4.2/lib/rake/task.rb +434 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-13.4.2/lib/rake/task_argument_error.rb +8 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-13.4.2/lib/rake/task_arguments.rb +113 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-13.4.2/lib/rake/task_manager.rb +333 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-13.4.2/lib/rake/tasklib.rb +12 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-13.4.2/lib/rake/testtask.rb +192 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-13.4.2/lib/rake/thread_history_display.rb +49 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-13.4.2/lib/rake/thread_pool.rb +157 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-13.4.2/lib/rake/trace_output.rb +23 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-13.4.2/lib/rake/version.rb +10 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-13.4.2/lib/rake/win32.rb +17 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-13.4.2/lib/rake.rb +69 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-13.4.2/rake.gemspec +102 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-compiler-1.3.1/Gemfile +8 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-compiler-1.3.1/History.md +695 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-compiler-1.3.1/LICENSE.txt +20 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-compiler-1.3.1/README.md +476 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-compiler-1.3.1/Rakefile +15 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-compiler-1.3.1/appveyor.yml +22 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-compiler-1.3.1/bin/rake-compiler +24 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-compiler-1.3.1/cucumber.yml +4 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-compiler-1.3.1/features/compile.feature +79 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-compiler-1.3.1/features/cross-compile.feature +23 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-compiler-1.3.1/features/cross-package-multi.feature +15 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-compiler-1.3.1/features/cross-package.feature +14 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-compiler-1.3.1/features/java-compile.feature +22 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-compiler-1.3.1/features/java-no-native-compile.feature +33 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-compiler-1.3.1/features/java-package.feature +24 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-compiler-1.3.1/features/package.feature +40 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-compiler-1.3.1/features/step_definitions/compilation.rb +70 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-compiler-1.3.1/features/step_definitions/cross_compilation.rb +27 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-compiler-1.3.1/features/step_definitions/execution.rb +52 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-compiler-1.3.1/features/step_definitions/folders.rb +32 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-compiler-1.3.1/features/step_definitions/gem.rb +46 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-compiler-1.3.1/features/step_definitions/java_compilation.rb +7 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-compiler-1.3.1/features/support/env.rb +10 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-compiler-1.3.1/features/support/file_template_helpers.rb +137 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-compiler-1.3.1/features/support/generator_helpers.rb +123 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-compiler-1.3.1/features/support/platform_extension_helpers.rb +27 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-compiler-1.3.1/lib/rake/baseextensiontask.rb +90 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-compiler-1.3.1/lib/rake/compiler_config.rb +38 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-compiler-1.3.1/lib/rake/extensioncompiler.rb +51 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-compiler-1.3.1/lib/rake/extensiontask.rb +589 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-compiler-1.3.1/lib/rake/javaextensiontask.rb +321 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-compiler-1.3.1/tasks/bin/cross-ruby.rake +189 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-compiler-1.3.1/tasks/bootstrap.rake +11 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-compiler-1.3.1/tasks/common.rake +10 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-compiler-1.3.1/tasks/cucumber.rake +23 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-compiler-1.3.1/tasks/gem.rake +15 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-compiler-1.3.1/tasks/rspec.rake +9 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-compiler-dock-1.12.0/CHANGELOG.md +446 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-compiler-dock-1.12.0/CONTRIBUTING.md +109 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-compiler-dock-1.12.0/Dockerfile.jruby +79 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-compiler-dock-1.12.0/Dockerfile.mri.erb +282 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-compiler-dock-1.12.0/Gemfile +8 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-compiler-dock-1.12.0/LICENSE.txt +22 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-compiler-dock-1.12.0/README.md +447 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-compiler-dock-1.12.0/Rakefile +246 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-compiler-dock-1.12.0/bin/rake-compiler-dock +18 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-compiler-dock-1.12.0/build/buildkitd.toml +2 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-compiler-dock-1.12.0/build/gem_helper.rb +54 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-compiler-dock-1.12.0/build/mk_i686.rb +18 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-compiler-dock-1.12.0/build/mk_musl_cross.sh +37 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-compiler-dock-1.12.0/build/mk_osxcross.sh +45 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-compiler-dock-1.12.0/build/mk_pkg_config.sh +24 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-compiler-dock-1.12.0/build/parallel_docker_build.rb +169 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-compiler-dock-1.12.0/build/patches/rake-compiler-1.3.1/0004-Enable-build-of-static-libruby.patch +38 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-compiler-dock-1.12.0/build/patches/rake-compiler-1.3.1/0005-build-miniruby-first.patch +16 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-compiler-dock-1.12.0/build/patches/rake-compiler-1.3.1/0006-ruby-4-rubyspec-capiext.patch +16 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-compiler-dock-1.12.0/build/rcd-env.sh +6 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-compiler-dock-1.12.0/build/runas +7 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-compiler-dock-1.12.0/build/sigfw.c +45 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-compiler-dock-1.12.0/build/strip_wrapper_codesign +17 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-compiler-dock-1.12.0/build/strip_wrapper_vbox +30 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-compiler-dock-1.12.0/build/sudoers +1 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-compiler-dock-1.12.0/lib/rake_compiler_dock/colors.rb +43 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-compiler-dock-1.12.0/lib/rake_compiler_dock/docker_check.rb +356 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-compiler-dock-1.12.0/lib/rake_compiler_dock/predefined_user_group.rb +5 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-compiler-dock-1.12.0/lib/rake_compiler_dock/starter.rb +206 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-compiler-dock-1.12.0/lib/rake_compiler_dock/version.rb +4 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-compiler-dock-1.12.0/lib/rake_compiler_dock.rb +151 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-compiler-dock-1.12.0/mingw64-ucrt/Dockerfile +66 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-compiler-dock-1.12.0/mingw64-ucrt/README.md +14 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-compiler-dock-1.12.0/mingw64-ucrt/binutils-mingw-w64-ignore-check-errors.patch +13 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-compiler-dock-1.12.0/mingw64-ucrt/gcc-mingw-w64-only-c-c++.patch +13 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-compiler-dock-1.12.0/mingw64-ucrt/mingw-w64-enable-ucrt.patch +22 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-compiler-dock-1.12.0/rake-compiler-dock.gemspec +34 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-compiler-dock-1.12.0/test/env/Dockerfile.alpine +17 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-compiler-dock-1.12.0/test/env/Dockerfile.debian +24 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-compiler-dock-1.12.0/test/fixtures/mig_test_rpc.defs +8 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-compiler-dock-1.12.0/test/rcd_test/Gemfile +11 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-compiler-dock-1.12.0/test/rcd_test/Rakefile +97 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-compiler-dock-1.12.0/test/rcd_test/ext/java/RcdTestExtService.java +19 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-compiler-dock-1.12.0/test/rcd_test/ext/java/RubyRcdTest.java +16 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-compiler-dock-1.12.0/test/rcd_test/ext/mri/extconf.rb +111 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-compiler-dock-1.12.0/test/rcd_test/ext/mri/rcd_test_ext.c +65 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-compiler-dock-1.12.0/test/rcd_test/ext/mri/rcd_test_ext.h +11 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-compiler-dock-1.12.0/test/rcd_test/lib/rcd_test.rb +6 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-compiler-dock-1.12.0/test/rcd_test/rcd_test.gemspec +28 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-compiler-dock-1.12.0/test/rcd_test/test/test_basic.rb +49 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-compiler-dock-1.12.0/test/test_environment_variables.rb +108 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-compiler-dock-1.12.0/test/test_mig.rb +18 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-compiler-dock-1.12.0/test/test_parallel_docker_build.rb +95 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-compiler-dock-1.12.0/test/test_rubygems_plugins.rb +12 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-compiler-dock-1.12.0/test/test_starter.rb +158 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-compiler-dock-1.12.0/test/test_versions.rb +82 -0
- data/vendor/bundle/ruby/3.3.0/specifications/minitest-5.27.0.gemspec +32 -0
- data/vendor/bundle/ruby/3.3.0/specifications/rake-13.4.2.gemspec +26 -0
- data/vendor/bundle/ruby/3.3.0/specifications/rake-compiler-1.3.1.gemspec +33 -0
- data/vendor/bundle/ruby/3.3.0/specifications/rake-compiler-dock-1.12.0.gemspec +28 -0
- metadata +584 -0
|
@@ -0,0 +1,636 @@
|
|
|
1
|
+
use automerge as am;
|
|
2
|
+
use automerge::transaction::Transactable;
|
|
3
|
+
use automerge::ReadDoc;
|
|
4
|
+
|
|
5
|
+
use crate::byte_span::{to_str, AMbyteSpan};
|
|
6
|
+
use crate::doc::{to_doc, to_doc_mut, AMdoc};
|
|
7
|
+
use crate::items::AMitems;
|
|
8
|
+
use crate::obj::{to_obj_id, to_obj_type, AMobjId, AMobjType};
|
|
9
|
+
use crate::result::{to_result, AMresult};
|
|
10
|
+
|
|
11
|
+
macro_rules! adjust {
|
|
12
|
+
($pos:expr, $insert:expr, $len:expr) => {{
|
|
13
|
+
// An empty object can only be inserted into.
|
|
14
|
+
let insert = $insert || $len == 0;
|
|
15
|
+
let end = if insert { $len } else { $len - 1 };
|
|
16
|
+
if $pos > end && $pos != usize::MAX {
|
|
17
|
+
return AMresult::error(&format!("Invalid pos {}", $pos)).into();
|
|
18
|
+
}
|
|
19
|
+
(std::cmp::min($pos, end), insert)
|
|
20
|
+
}};
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
macro_rules! to_range {
|
|
24
|
+
($begin:expr, $end:expr) => {{
|
|
25
|
+
if $begin > $end {
|
|
26
|
+
return AMresult::error(&format!("Invalid range [{}-{})", $begin, $end)).into();
|
|
27
|
+
};
|
|
28
|
+
($begin..$end)
|
|
29
|
+
}};
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
/// \memberof AMdoc
|
|
33
|
+
/// \brief Deletes an item from a list object.
|
|
34
|
+
///
|
|
35
|
+
/// \param[in] doc A pointer to an `AMdoc` struct.
|
|
36
|
+
/// \param[in] obj_id A pointer to an `AMobjId` struct or `AM_ROOT`.
|
|
37
|
+
/// \param[in] pos The position of an item within the list object identified by
|
|
38
|
+
/// \p obj_id or `SIZE_MAX` to indicate its last item.
|
|
39
|
+
/// \return A pointer to an `AMresult` struct with an `AM_VAL_TYPE_VOID` item.
|
|
40
|
+
/// \pre \p doc `!= NULL`
|
|
41
|
+
/// \pre `0 <=` \p pos `<= AMobjSize(`\p obj_id `)` or \p pos `== SIZE_MAX`
|
|
42
|
+
/// \warning The returned `AMresult` struct pointer must be passed to
|
|
43
|
+
/// `AMresultFree()` in order to avoid a memory leak.
|
|
44
|
+
/// \internal
|
|
45
|
+
///
|
|
46
|
+
/// # Safety
|
|
47
|
+
/// doc must be a valid pointer to an AMdoc
|
|
48
|
+
/// obj_id must be a valid pointer to an AMobjId or std::ptr::null()
|
|
49
|
+
#[no_mangle]
|
|
50
|
+
pub unsafe extern "C" fn AMlistDelete(
|
|
51
|
+
doc: *mut AMdoc,
|
|
52
|
+
obj_id: *const AMobjId,
|
|
53
|
+
pos: usize,
|
|
54
|
+
) -> *mut AMresult {
|
|
55
|
+
let doc = to_doc_mut!(doc);
|
|
56
|
+
let obj_id = to_obj_id!(obj_id);
|
|
57
|
+
let (pos, _) = adjust!(pos, false, doc.length(obj_id));
|
|
58
|
+
to_result(doc.delete(obj_id, pos))
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
/// \memberof AMdoc
|
|
62
|
+
/// \brief Gets a current or historical item within a list object.
|
|
63
|
+
///
|
|
64
|
+
/// \param[in] doc A pointer to an `AMdoc` struct.
|
|
65
|
+
/// \param[in] obj_id A pointer to an `AMobjId` struct or `AM_ROOT`.
|
|
66
|
+
/// \param[in] pos The position of an item within the list object identified by
|
|
67
|
+
/// \p obj_id or `SIZE_MAX` to indicate its last item.
|
|
68
|
+
/// \param[in] heads A pointer to an `AMitems` struct with `AM_VAL_TYPE_CHANGE_HASH`
|
|
69
|
+
/// items to select a historical item at \p pos or `NULL`
|
|
70
|
+
/// to select the current item at \p pos.
|
|
71
|
+
/// \return A pointer to an `AMresult` struct with an `AMitem` struct.
|
|
72
|
+
/// \pre \p doc `!= NULL`
|
|
73
|
+
/// \pre `0 <=` \p pos `<= AMobjSize(`\p obj_id `)` or \p pos `== SIZE_MAX`
|
|
74
|
+
/// \warning The returned `AMresult` struct pointer must be passed to
|
|
75
|
+
/// `AMresultFree()` in order to avoid a memory leak.
|
|
76
|
+
/// \internal
|
|
77
|
+
///
|
|
78
|
+
/// # Safety
|
|
79
|
+
/// doc must be a valid pointer to an AMdoc
|
|
80
|
+
/// obj_id must be a valid pointer to an AMobjId or std::ptr::null()
|
|
81
|
+
/// heads must be a valid pointer to an AMitems or std::ptr::null()
|
|
82
|
+
#[no_mangle]
|
|
83
|
+
pub unsafe extern "C" fn AMlistGet(
|
|
84
|
+
doc: *const AMdoc,
|
|
85
|
+
obj_id: *const AMobjId,
|
|
86
|
+
pos: usize,
|
|
87
|
+
heads: *const AMitems,
|
|
88
|
+
) -> *mut AMresult {
|
|
89
|
+
let doc = to_doc!(doc);
|
|
90
|
+
let obj_id = to_obj_id!(obj_id);
|
|
91
|
+
let (pos, _) = adjust!(pos, false, doc.length(obj_id));
|
|
92
|
+
match heads.as_ref() {
|
|
93
|
+
None => to_result((doc.get(obj_id, pos), pos)),
|
|
94
|
+
Some(heads) => match <Vec<am::ChangeHash>>::try_from(heads) {
|
|
95
|
+
Ok(heads) => to_result((doc.get_at(obj_id, pos, &heads), pos)),
|
|
96
|
+
Err(e) => AMresult::error(&e.to_string()).into(),
|
|
97
|
+
},
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
/// \memberof AMdoc
|
|
102
|
+
/// \brief Gets all of the historical items at a position within a list object
|
|
103
|
+
/// until its current one or a specific one.
|
|
104
|
+
///
|
|
105
|
+
/// \param[in] doc A pointer to an `AMdoc` struct.
|
|
106
|
+
/// \param[in] obj_id A pointer to an `AMobjId` struct or `AM_ROOT`.
|
|
107
|
+
/// \param[in] pos The position of an item within the list object identified by
|
|
108
|
+
/// \p obj_id or `SIZE_MAX` to indicate its last item.
|
|
109
|
+
/// \param[in] heads A pointer to an `AMitems` struct with `AM_VAL_TYPE_CHANGE_HASH`
|
|
110
|
+
/// items to select a historical last item or `NULL` to select
|
|
111
|
+
/// the current last item.
|
|
112
|
+
/// \return A pointer to an `AMresult` struct with an `AMitems` struct.
|
|
113
|
+
/// \pre \p doc `!= NULL`
|
|
114
|
+
/// \pre `0 <=` \p pos `<= AMobjSize(`\p obj_id `)` or \p pos `== SIZE_MAX`
|
|
115
|
+
/// \warning The returned `AMresult` struct pointer must be passed to
|
|
116
|
+
/// `AMresultFree()` in order to avoid a memory leak.
|
|
117
|
+
/// \internal
|
|
118
|
+
///
|
|
119
|
+
/// # Safety
|
|
120
|
+
/// doc must be a valid pointer to an AMdoc
|
|
121
|
+
/// obj_id must be a valid pointer to an AMobjId or std::ptr::null()
|
|
122
|
+
/// heads must be a valid pointer to an AMitems or std::ptr::null()
|
|
123
|
+
#[no_mangle]
|
|
124
|
+
pub unsafe extern "C" fn AMlistGetAll(
|
|
125
|
+
doc: *const AMdoc,
|
|
126
|
+
obj_id: *const AMobjId,
|
|
127
|
+
pos: usize,
|
|
128
|
+
heads: *const AMitems,
|
|
129
|
+
) -> *mut AMresult {
|
|
130
|
+
let doc = to_doc!(doc);
|
|
131
|
+
let obj_id = to_obj_id!(obj_id);
|
|
132
|
+
let (pos, _) = adjust!(pos, false, doc.length(obj_id));
|
|
133
|
+
match heads.as_ref() {
|
|
134
|
+
None => to_result(doc.get_all(obj_id, pos)),
|
|
135
|
+
Some(heads) => match <Vec<am::ChangeHash>>::try_from(heads) {
|
|
136
|
+
Ok(heads) => to_result(doc.get_all_at(obj_id, pos, &heads)),
|
|
137
|
+
Err(e) => AMresult::error(&e.to_string()).into(),
|
|
138
|
+
},
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
/// \memberof AMdoc
|
|
143
|
+
/// \brief Increments a counter value in an item within a list object by the
|
|
144
|
+
/// given value.
|
|
145
|
+
///
|
|
146
|
+
/// \param[in] doc A pointer to an `AMdoc` struct.
|
|
147
|
+
/// \param[in] obj_id A pointer to an `AMobjId` struct or `AM_ROOT`.
|
|
148
|
+
/// \param[in] pos The position of an item within the list object identified by
|
|
149
|
+
/// \p obj_id or `SIZE_MAX` to indicate its last item.
|
|
150
|
+
/// \param[in] value A 64-bit signed integer.
|
|
151
|
+
/// \return A pointer to an `AMresult` struct with an `AM_VAL_TYPE_VOID` item.
|
|
152
|
+
/// \pre \p doc `!= NULL`
|
|
153
|
+
/// \pre `0 <=` \p pos `<= AMobjSize(`\p obj_id `)` or \p pos `== SIZE_MAX`
|
|
154
|
+
/// \warning The returned `AMresult` struct pointer must be passed to
|
|
155
|
+
/// `AMresultFree()` in order to avoid a memory leak.
|
|
156
|
+
/// \internal
|
|
157
|
+
///
|
|
158
|
+
/// # Safety
|
|
159
|
+
/// doc must be a valid pointer to an AMdoc
|
|
160
|
+
/// obj_id must be a valid pointer to an AMobjId or std::ptr::null()
|
|
161
|
+
#[no_mangle]
|
|
162
|
+
pub unsafe extern "C" fn AMlistIncrement(
|
|
163
|
+
doc: *mut AMdoc,
|
|
164
|
+
obj_id: *const AMobjId,
|
|
165
|
+
pos: usize,
|
|
166
|
+
value: i64,
|
|
167
|
+
) -> *mut AMresult {
|
|
168
|
+
let doc = to_doc_mut!(doc);
|
|
169
|
+
let obj_id = to_obj_id!(obj_id);
|
|
170
|
+
let (pos, _) = adjust!(pos, false, doc.length(obj_id));
|
|
171
|
+
to_result(doc.increment(obj_id, pos, value))
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
/// \memberof AMdoc
|
|
175
|
+
/// \brief Puts a boolean value into an item within a list object.
|
|
176
|
+
///
|
|
177
|
+
/// \param[in] doc A pointer to an `AMdoc` struct.
|
|
178
|
+
/// \param[in] obj_id A pointer to an `AMobjId` struct or `AM_ROOT`.
|
|
179
|
+
/// \param[in] pos The position of an item within the list object identified by
|
|
180
|
+
/// \p obj_id or `SIZE_MAX` to indicate its last item if
|
|
181
|
+
/// \p insert `== false` or one past its last item if
|
|
182
|
+
/// \p insert `== true`.
|
|
183
|
+
/// \param[in] insert A flag for inserting a new item for \p value before
|
|
184
|
+
/// \p pos instead of putting \p value into the item at
|
|
185
|
+
/// \p pos.
|
|
186
|
+
/// \param[in] value A boolean.
|
|
187
|
+
/// \return A pointer to an `AMresult` struct with an `AM_VAL_TYPE_VOID` item.
|
|
188
|
+
/// \pre \p doc `!= NULL`
|
|
189
|
+
/// \pre `0 <=` \p pos `<= AMobjSize(`\p obj_id `)` or \p pos `== SIZE_MAX`
|
|
190
|
+
/// \warning The returned `AMresult` struct pointer must be passed to
|
|
191
|
+
/// `AMresultFree()` in order to avoid a memory leak.
|
|
192
|
+
/// \internal
|
|
193
|
+
///
|
|
194
|
+
/// # Safety
|
|
195
|
+
/// doc must be a valid pointer to an AMdoc
|
|
196
|
+
/// obj_id must be a valid pointer to an AMobjId or std::ptr::null()
|
|
197
|
+
#[no_mangle]
|
|
198
|
+
pub unsafe extern "C" fn AMlistPutBool(
|
|
199
|
+
doc: *mut AMdoc,
|
|
200
|
+
obj_id: *const AMobjId,
|
|
201
|
+
pos: usize,
|
|
202
|
+
insert: bool,
|
|
203
|
+
value: bool,
|
|
204
|
+
) -> *mut AMresult {
|
|
205
|
+
let doc = to_doc_mut!(doc);
|
|
206
|
+
let obj_id = to_obj_id!(obj_id);
|
|
207
|
+
let (pos, insert) = adjust!(pos, insert, doc.length(obj_id));
|
|
208
|
+
let value = am::ScalarValue::Boolean(value);
|
|
209
|
+
to_result(if insert {
|
|
210
|
+
doc.insert(obj_id, pos, value)
|
|
211
|
+
} else {
|
|
212
|
+
doc.put(obj_id, pos, value)
|
|
213
|
+
})
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
/// \memberof AMdoc
|
|
217
|
+
/// \brief Puts an array of bytes value at a position within a list object.
|
|
218
|
+
///
|
|
219
|
+
/// \param[in] doc A pointer to an `AMdoc` struct.
|
|
220
|
+
/// \param[in] obj_id A pointer to an `AMobjId` struct or `AM_ROOT`.
|
|
221
|
+
/// \param[in] pos The position of an item within the list object identified by
|
|
222
|
+
/// \p obj_id or `SIZE_MAX` to indicate its last item if
|
|
223
|
+
/// \p insert `== false` or one past its last item if
|
|
224
|
+
/// \p insert `== true`.
|
|
225
|
+
/// \param[in] insert A flag for inserting a new item for \p value before
|
|
226
|
+
/// \p pos instead of putting \p value into the item at
|
|
227
|
+
/// \p pos.
|
|
228
|
+
/// \param[in] value A view onto the array of bytes to copy from as an
|
|
229
|
+
/// `AMbyteSpan` struct.
|
|
230
|
+
/// \return A pointer to an `AMresult` struct with an `AM_VAL_TYPE_VOID` item.
|
|
231
|
+
/// \pre \p doc `!= NULL`
|
|
232
|
+
/// \pre `0 <=` \p pos `<= AMobjSize(`\p obj_id `)` or \p pos `== SIZE_MAX`
|
|
233
|
+
/// \pre \p value.src `!= NULL`
|
|
234
|
+
/// \pre `0 <` \p value.count `<= sizeof(`\p value.src `)`
|
|
235
|
+
/// \warning The returned `AMresult` struct pointer must be passed to
|
|
236
|
+
/// `AMresultFree()` in order to avoid a memory leak.
|
|
237
|
+
/// \internal
|
|
238
|
+
///
|
|
239
|
+
/// # Safety
|
|
240
|
+
/// doc must be a valid pointer to an AMdoc
|
|
241
|
+
/// obj_id must be a valid pointer to an AMobjId or std::ptr::null()
|
|
242
|
+
/// value.src must be a byte array of length >= value.count
|
|
243
|
+
#[no_mangle]
|
|
244
|
+
pub unsafe extern "C" fn AMlistPutBytes(
|
|
245
|
+
doc: *mut AMdoc,
|
|
246
|
+
obj_id: *const AMobjId,
|
|
247
|
+
pos: usize,
|
|
248
|
+
insert: bool,
|
|
249
|
+
value: AMbyteSpan,
|
|
250
|
+
) -> *mut AMresult {
|
|
251
|
+
let doc = to_doc_mut!(doc);
|
|
252
|
+
let obj_id = to_obj_id!(obj_id);
|
|
253
|
+
let (pos, insert) = adjust!(pos, insert, doc.length(obj_id));
|
|
254
|
+
let value: Vec<u8> = (&value).into();
|
|
255
|
+
to_result(if insert {
|
|
256
|
+
doc.insert(obj_id, pos, value)
|
|
257
|
+
} else {
|
|
258
|
+
doc.put(obj_id, pos, value)
|
|
259
|
+
})
|
|
260
|
+
}
|
|
261
|
+
|
|
262
|
+
/// \memberof AMdoc
|
|
263
|
+
/// \brief Puts a CRDT counter value into an item within a list object.
|
|
264
|
+
///
|
|
265
|
+
/// \param[in] doc A pointer to an `AMdoc` struct.
|
|
266
|
+
/// \param[in] obj_id A pointer to an `AMobjId` struct or `AM_ROOT`.
|
|
267
|
+
/// \param[in] pos The position of an item within the list object identified by
|
|
268
|
+
/// \p obj_id or `SIZE_MAX` to indicate its last item if
|
|
269
|
+
/// \p insert `== false` or one past its last item if
|
|
270
|
+
/// \p insert `== true`.
|
|
271
|
+
/// \param[in] insert A flag for inserting a new item for \p value before
|
|
272
|
+
/// \p pos instead of putting \p value into the item at
|
|
273
|
+
/// \p pos.
|
|
274
|
+
/// \param[in] value A 64-bit signed integer.
|
|
275
|
+
/// \return A pointer to an `AMresult` struct with an `AM_VAL_TYPE_VOID` item.
|
|
276
|
+
/// \pre \p doc `!= NULL`
|
|
277
|
+
/// \pre `0 <=` \p pos `<= AMobjSize(`\p obj_id `)` or \p pos `== SIZE_MAX`
|
|
278
|
+
/// \warning The returned `AMresult` struct pointer must be passed to
|
|
279
|
+
/// `AMresultFree()` in order to avoid a memory leak.
|
|
280
|
+
/// \internal
|
|
281
|
+
///
|
|
282
|
+
/// # Safety
|
|
283
|
+
/// doc must be a valid pointer to an AMdoc
|
|
284
|
+
/// obj_id must be a valid pointer to an AMobjId or std::ptr::null()
|
|
285
|
+
#[no_mangle]
|
|
286
|
+
pub unsafe extern "C" fn AMlistPutCounter(
|
|
287
|
+
doc: *mut AMdoc,
|
|
288
|
+
obj_id: *const AMobjId,
|
|
289
|
+
pos: usize,
|
|
290
|
+
insert: bool,
|
|
291
|
+
value: i64,
|
|
292
|
+
) -> *mut AMresult {
|
|
293
|
+
let doc = to_doc_mut!(doc);
|
|
294
|
+
let obj_id = to_obj_id!(obj_id);
|
|
295
|
+
let (pos, insert) = adjust!(pos, insert, doc.length(obj_id));
|
|
296
|
+
let value = am::ScalarValue::Counter(value.into());
|
|
297
|
+
to_result(if insert {
|
|
298
|
+
doc.insert(obj_id, pos, value)
|
|
299
|
+
} else {
|
|
300
|
+
doc.put(obj_id, pos, value)
|
|
301
|
+
})
|
|
302
|
+
}
|
|
303
|
+
|
|
304
|
+
/// \memberof AMdoc
|
|
305
|
+
/// \brief Puts a float value into an item within a list object.
|
|
306
|
+
///
|
|
307
|
+
/// \param[in] doc A pointer to an `AMdoc` struct.
|
|
308
|
+
/// \param[in] obj_id A pointer to an `AMobjId` struct or `AM_ROOT`.
|
|
309
|
+
/// \param[in] pos The position of an item within the list object identified by
|
|
310
|
+
/// \p obj_id or `SIZE_MAX` to indicate its last item if
|
|
311
|
+
/// \p insert `== false` or one past its last item if
|
|
312
|
+
/// \p insert `== true`.
|
|
313
|
+
/// \param[in] insert A flag for inserting a new item for \p value before
|
|
314
|
+
/// \p pos instead of putting \p value into the item at
|
|
315
|
+
/// \p pos.
|
|
316
|
+
/// \param[in] value A 64-bit float.
|
|
317
|
+
/// \return A pointer to an `AMresult` struct with an `AM_VAL_TYPE_VOID` item.
|
|
318
|
+
/// \pre \p doc `!= NULL`
|
|
319
|
+
/// \pre `0 <=` \p pos `<= AMobjSize(`\p obj_id `)` or \p pos `== SIZE_MAX`
|
|
320
|
+
/// \warning The returned `AMresult` struct pointer must be passed to
|
|
321
|
+
/// `AMresultFree()` in order to avoid a memory leak.
|
|
322
|
+
/// \internal
|
|
323
|
+
///
|
|
324
|
+
/// # Safety
|
|
325
|
+
/// doc must be a valid pointer to an AMdoc
|
|
326
|
+
/// obj_id must be a valid pointer to an AMobjId or std::ptr::null()
|
|
327
|
+
#[no_mangle]
|
|
328
|
+
pub unsafe extern "C" fn AMlistPutF64(
|
|
329
|
+
doc: *mut AMdoc,
|
|
330
|
+
obj_id: *const AMobjId,
|
|
331
|
+
pos: usize,
|
|
332
|
+
insert: bool,
|
|
333
|
+
value: f64,
|
|
334
|
+
) -> *mut AMresult {
|
|
335
|
+
let doc = to_doc_mut!(doc);
|
|
336
|
+
let obj_id = to_obj_id!(obj_id);
|
|
337
|
+
let (pos, insert) = adjust!(pos, insert, doc.length(obj_id));
|
|
338
|
+
to_result(if insert {
|
|
339
|
+
doc.insert(obj_id, pos, value)
|
|
340
|
+
} else {
|
|
341
|
+
doc.put(obj_id, pos, value)
|
|
342
|
+
})
|
|
343
|
+
}
|
|
344
|
+
|
|
345
|
+
/// \memberof AMdoc
|
|
346
|
+
/// \brief Puts a signed integer value into an item within a list object.
|
|
347
|
+
///
|
|
348
|
+
/// \param[in] doc A pointer to an `AMdoc` struct.
|
|
349
|
+
/// \param[in] obj_id A pointer to an `AMobjId` struct or `AM_ROOT`.
|
|
350
|
+
/// \param[in] pos The position of an item within the list object identified by
|
|
351
|
+
/// \p obj_id or `SIZE_MAX` to indicate its last item if
|
|
352
|
+
/// \p insert `== false` or one past its last item if
|
|
353
|
+
/// \p insert `== true`.
|
|
354
|
+
/// \param[in] insert A flag for inserting a new item for \p value before
|
|
355
|
+
/// \p pos instead of putting \p value into the item at
|
|
356
|
+
/// \p pos.
|
|
357
|
+
/// \param[in] value A 64-bit signed integer.
|
|
358
|
+
/// \return A pointer to an `AMresult` struct with an `AM_VAL_TYPE_VOID` item.
|
|
359
|
+
/// \pre \p doc `!= NULL`
|
|
360
|
+
/// \pre `0 <=` \p pos `<= AMobjSize(`\p obj_id `)` or \p pos `== SIZE_MAX`
|
|
361
|
+
/// \warning The returned `AMresult` struct pointer must be passed to
|
|
362
|
+
/// `AMresultFree()` in order to avoid a memory leak.
|
|
363
|
+
/// \internal
|
|
364
|
+
///
|
|
365
|
+
/// # Safety
|
|
366
|
+
/// doc must be a valid pointer to an AMdoc
|
|
367
|
+
/// obj_id must be a valid pointer to an AMobjId or std::ptr::null()
|
|
368
|
+
#[no_mangle]
|
|
369
|
+
pub unsafe extern "C" fn AMlistPutInt(
|
|
370
|
+
doc: *mut AMdoc,
|
|
371
|
+
obj_id: *const AMobjId,
|
|
372
|
+
pos: usize,
|
|
373
|
+
insert: bool,
|
|
374
|
+
value: i64,
|
|
375
|
+
) -> *mut AMresult {
|
|
376
|
+
let doc = to_doc_mut!(doc);
|
|
377
|
+
let obj_id = to_obj_id!(obj_id);
|
|
378
|
+
let (pos, insert) = adjust!(pos, insert, doc.length(obj_id));
|
|
379
|
+
to_result(if insert {
|
|
380
|
+
doc.insert(obj_id, pos, value)
|
|
381
|
+
} else {
|
|
382
|
+
doc.put(obj_id, pos, value)
|
|
383
|
+
})
|
|
384
|
+
}
|
|
385
|
+
|
|
386
|
+
/// \memberof AMdoc
|
|
387
|
+
/// \brief Puts a null value into an item within a list object.
|
|
388
|
+
///
|
|
389
|
+
/// \param[in] doc A pointer to an `AMdoc` struct.
|
|
390
|
+
/// \param[in] obj_id A pointer to an `AMobjId` struct or `AM_ROOT`.
|
|
391
|
+
/// \param[in] pos The position of an item within the list object identified by
|
|
392
|
+
/// \p obj_id or `SIZE_MAX` to indicate its last item if
|
|
393
|
+
/// \p insert `== false` or one past its last item if
|
|
394
|
+
/// \p insert `== true`.
|
|
395
|
+
/// \param[in] insert A flag for inserting a new item for \p value before
|
|
396
|
+
/// \p pos instead of putting \p value into the item at
|
|
397
|
+
/// \p pos.
|
|
398
|
+
/// \return A pointer to an `AMresult` struct with an `AM_VAL_TYPE_VOID` item.
|
|
399
|
+
/// \pre \p doc `!= NULL`
|
|
400
|
+
/// \pre `0 <=` \p pos `<= AMobjSize(`\p obj_id `)` or \p pos `== SIZE_MAX`
|
|
401
|
+
/// \warning The returned `AMresult` struct pointer must be passed to
|
|
402
|
+
/// `AMresultFree()` in order to avoid a memory leak.
|
|
403
|
+
/// \internal
|
|
404
|
+
///
|
|
405
|
+
/// # Safety
|
|
406
|
+
/// doc must be a valid pointer to an AMdoc
|
|
407
|
+
/// obj_id must be a valid pointer to an AMobjId or std::ptr::null()
|
|
408
|
+
#[no_mangle]
|
|
409
|
+
pub unsafe extern "C" fn AMlistPutNull(
|
|
410
|
+
doc: *mut AMdoc,
|
|
411
|
+
obj_id: *const AMobjId,
|
|
412
|
+
pos: usize,
|
|
413
|
+
insert: bool,
|
|
414
|
+
) -> *mut AMresult {
|
|
415
|
+
let doc = to_doc_mut!(doc);
|
|
416
|
+
let obj_id = to_obj_id!(obj_id);
|
|
417
|
+
let (pos, insert) = adjust!(pos, insert, doc.length(obj_id));
|
|
418
|
+
to_result(if insert {
|
|
419
|
+
doc.insert(obj_id, pos, ())
|
|
420
|
+
} else {
|
|
421
|
+
doc.put(obj_id, pos, ())
|
|
422
|
+
})
|
|
423
|
+
}
|
|
424
|
+
|
|
425
|
+
/// \memberof AMdoc
|
|
426
|
+
/// \brief Puts an empty object value into an item within a list object.
|
|
427
|
+
///
|
|
428
|
+
/// \param[in] doc A pointer to an `AMdoc` struct.
|
|
429
|
+
/// \param[in] obj_id A pointer to an `AMobjId` struct or `AM_ROOT`.
|
|
430
|
+
/// \param[in] pos The position of an item within the list object identified by
|
|
431
|
+
/// \p obj_id or `SIZE_MAX` to indicate its last item if
|
|
432
|
+
/// \p insert `== false` or one past its last item if
|
|
433
|
+
/// \p insert `== true`.
|
|
434
|
+
/// \param[in] insert A flag for inserting a new item for \p value before
|
|
435
|
+
/// \p pos instead of putting \p value into the item at
|
|
436
|
+
/// \p pos.
|
|
437
|
+
/// \param[in] obj_type An `AMobjIdType` enum tag.
|
|
438
|
+
/// \return A pointer to an `AMresult` struct with an `AM_VAL_TYPE_OBJ_TYPE` item.
|
|
439
|
+
/// \pre \p doc `!= NULL`
|
|
440
|
+
/// \pre `0 <=` \p pos `<= AMobjSize(`\p obj_id `)` or \p pos `== SIZE_MAX`
|
|
441
|
+
/// \warning The returned `AMresult` struct pointer must be passed to
|
|
442
|
+
/// `AMresultFree()` in order to avoid a memory leak.
|
|
443
|
+
/// \internal
|
|
444
|
+
///
|
|
445
|
+
/// # Safety
|
|
446
|
+
/// doc must be a valid pointer to an AMdoc
|
|
447
|
+
/// obj_id must be a valid pointer to an AMobjId or std::ptr::null()
|
|
448
|
+
#[no_mangle]
|
|
449
|
+
pub unsafe extern "C" fn AMlistPutObject(
|
|
450
|
+
doc: *mut AMdoc,
|
|
451
|
+
obj_id: *const AMobjId,
|
|
452
|
+
pos: usize,
|
|
453
|
+
insert: bool,
|
|
454
|
+
obj_type: AMobjType,
|
|
455
|
+
) -> *mut AMresult {
|
|
456
|
+
let doc = to_doc_mut!(doc);
|
|
457
|
+
let obj_id = to_obj_id!(obj_id);
|
|
458
|
+
let (pos, insert) = adjust!(pos, insert, doc.length(obj_id));
|
|
459
|
+
let obj_type = to_obj_type!(obj_type);
|
|
460
|
+
to_result(if insert {
|
|
461
|
+
(doc.insert_object(obj_id, pos, obj_type), pos, obj_type)
|
|
462
|
+
} else {
|
|
463
|
+
(doc.put_object(obj_id, pos, obj_type), pos, obj_type)
|
|
464
|
+
})
|
|
465
|
+
}
|
|
466
|
+
|
|
467
|
+
/// \memberof AMdoc
|
|
468
|
+
/// \brief Puts a UTF-8 string value into an item within a list object.
|
|
469
|
+
///
|
|
470
|
+
/// \param[in] doc A pointer to an `AMdoc` struct.
|
|
471
|
+
/// \param[in] obj_id A pointer to an `AMobjId` struct or `AM_ROOT`.
|
|
472
|
+
/// \param[in] pos The position of an item within the list object identified by
|
|
473
|
+
/// \p obj_id or `SIZE_MAX` to indicate its last item if
|
|
474
|
+
/// \p insert `== false` or one past its last item if
|
|
475
|
+
/// \p insert `== true`.
|
|
476
|
+
/// \param[in] insert A flag for inserting a new item for \p value before
|
|
477
|
+
/// \p pos instead of putting \p value into the item at
|
|
478
|
+
/// \p pos.
|
|
479
|
+
/// \param[in] value A UTF-8 string view as an `AMbyteSpan` struct.
|
|
480
|
+
/// \return A pointer to an `AMresult` struct with an `AM_VAL_TYPE_VOID` item.
|
|
481
|
+
/// \pre \p doc `!= NULL`
|
|
482
|
+
/// \pre `0 <=` \p pos `<= AMobjSize(`\p obj_id `)` or \p pos `== SIZE_MAX`
|
|
483
|
+
/// \pre \p value.src `!= NULL`
|
|
484
|
+
/// \pre `0 <` \p value.count `<= sizeof(`\p value.src `)`
|
|
485
|
+
/// \warning The returned `AMresult` struct pointer must be passed to
|
|
486
|
+
/// `AMresultFree()` in order to avoid a memory leak.
|
|
487
|
+
/// \internal
|
|
488
|
+
///
|
|
489
|
+
/// # Safety
|
|
490
|
+
/// doc must be a valid pointer to an AMdoc
|
|
491
|
+
/// obj_id must be a valid pointer to an AMobjId or std::ptr::null()
|
|
492
|
+
/// value.src must be a byte array of length >= value.count
|
|
493
|
+
#[no_mangle]
|
|
494
|
+
pub unsafe extern "C" fn AMlistPutStr(
|
|
495
|
+
doc: *mut AMdoc,
|
|
496
|
+
obj_id: *const AMobjId,
|
|
497
|
+
pos: usize,
|
|
498
|
+
insert: bool,
|
|
499
|
+
value: AMbyteSpan,
|
|
500
|
+
) -> *mut AMresult {
|
|
501
|
+
let doc = to_doc_mut!(doc);
|
|
502
|
+
let obj_id = to_obj_id!(obj_id);
|
|
503
|
+
let (pos, insert) = adjust!(pos, insert, doc.length(obj_id));
|
|
504
|
+
let value = to_str!(value);
|
|
505
|
+
to_result(if insert {
|
|
506
|
+
doc.insert(obj_id, pos, value)
|
|
507
|
+
} else {
|
|
508
|
+
doc.put(obj_id, pos, value)
|
|
509
|
+
})
|
|
510
|
+
}
|
|
511
|
+
|
|
512
|
+
/// \memberof AMdoc
|
|
513
|
+
/// \brief Puts a *nix timestamp (milliseconds) value into an item within a
|
|
514
|
+
/// list object.
|
|
515
|
+
///
|
|
516
|
+
/// \param[in] doc A pointer to an `AMdoc` struct.
|
|
517
|
+
/// \param[in] obj_id A pointer to an `AMobjId` struct or `AM_ROOT`.
|
|
518
|
+
/// \param[in] pos The position of an item within the list object identified by
|
|
519
|
+
/// \p obj_id or `SIZE_MAX` to indicate its last item if
|
|
520
|
+
/// \p insert `== false` or one past its last item if
|
|
521
|
+
/// \p insert `== true`.
|
|
522
|
+
/// \param[in] insert A flag for inserting a new item for \p value before
|
|
523
|
+
/// \p pos instead of putting \p value into the item at
|
|
524
|
+
/// \p pos.
|
|
525
|
+
/// \param[in] value A 64-bit signed integer.
|
|
526
|
+
/// \return A pointer to an `AMresult` struct with an `AM_VAL_TYPE_VOID` item.
|
|
527
|
+
/// \pre \p doc `!= NULL`
|
|
528
|
+
/// \pre `0 <=` \p pos `<= AMobjSize(`\p obj_id `)` or \p pos `== SIZE_MAX`
|
|
529
|
+
/// \warning The returned `AMresult` struct pointer must be passed to
|
|
530
|
+
/// `AMresultFree()` in order to avoid a memory leak.
|
|
531
|
+
/// \internal
|
|
532
|
+
///
|
|
533
|
+
/// # Safety
|
|
534
|
+
/// doc must be a valid pointer to an AMdoc
|
|
535
|
+
/// obj_id must be a valid pointer to an AMobjId or std::ptr::null()
|
|
536
|
+
#[no_mangle]
|
|
537
|
+
pub unsafe extern "C" fn AMlistPutTimestamp(
|
|
538
|
+
doc: *mut AMdoc,
|
|
539
|
+
obj_id: *const AMobjId,
|
|
540
|
+
pos: usize,
|
|
541
|
+
insert: bool,
|
|
542
|
+
value: i64,
|
|
543
|
+
) -> *mut AMresult {
|
|
544
|
+
let doc = to_doc_mut!(doc);
|
|
545
|
+
let obj_id = to_obj_id!(obj_id);
|
|
546
|
+
let (pos, insert) = adjust!(pos, insert, doc.length(obj_id));
|
|
547
|
+
let value = am::ScalarValue::Timestamp(value);
|
|
548
|
+
to_result(if insert {
|
|
549
|
+
doc.insert(obj_id, pos, value)
|
|
550
|
+
} else {
|
|
551
|
+
doc.put(obj_id, pos, value)
|
|
552
|
+
})
|
|
553
|
+
}
|
|
554
|
+
|
|
555
|
+
/// \memberof AMdoc
|
|
556
|
+
/// \brief Puts an unsigned integer value into an item within a list object.
|
|
557
|
+
///
|
|
558
|
+
/// \param[in] doc A pointer to an `AMdoc` struct.
|
|
559
|
+
/// \param[in] obj_id A pointer to an `AMobjId` struct or `AM_ROOT`.
|
|
560
|
+
/// \param[in] pos The position of an item within the list object identified by
|
|
561
|
+
/// \p obj_id or `SIZE_MAX` to indicate its last item if
|
|
562
|
+
/// \p insert `== false` or one past its last item if
|
|
563
|
+
/// \p insert `== true`.
|
|
564
|
+
/// \param[in] insert A flag for inserting a new item for \p value before
|
|
565
|
+
/// \p pos instead of putting \p value into the item at
|
|
566
|
+
/// \p pos.
|
|
567
|
+
/// \param[in] value A 64-bit unsigned integer.
|
|
568
|
+
/// \return A pointer to an `AMresult` struct with an `AM_VAL_TYPE_VOID` item.
|
|
569
|
+
/// \pre \p doc `!= NULL`
|
|
570
|
+
/// \pre `0 <=` \p pos `<= AMobjSize(`\p obj_id `)` or \p pos `== SIZE_MAX`
|
|
571
|
+
/// \warning The returned `AMresult` struct pointer must be passed to
|
|
572
|
+
/// `AMresultFree()` in order to avoid a memory leak.
|
|
573
|
+
/// \internal
|
|
574
|
+
///
|
|
575
|
+
/// # Safety
|
|
576
|
+
/// doc must be a valid pointer to an AMdoc
|
|
577
|
+
/// obj_id must be a valid pointer to an AMobjId or std::ptr::null()
|
|
578
|
+
#[no_mangle]
|
|
579
|
+
pub unsafe extern "C" fn AMlistPutUint(
|
|
580
|
+
doc: *mut AMdoc,
|
|
581
|
+
obj_id: *const AMobjId,
|
|
582
|
+
pos: usize,
|
|
583
|
+
insert: bool,
|
|
584
|
+
value: u64,
|
|
585
|
+
) -> *mut AMresult {
|
|
586
|
+
let doc = to_doc_mut!(doc);
|
|
587
|
+
let obj_id = to_obj_id!(obj_id);
|
|
588
|
+
let (pos, insert) = adjust!(pos, insert, doc.length(obj_id));
|
|
589
|
+
to_result(if insert {
|
|
590
|
+
doc.insert(obj_id, pos, value)
|
|
591
|
+
} else {
|
|
592
|
+
doc.put(obj_id, pos, value)
|
|
593
|
+
})
|
|
594
|
+
}
|
|
595
|
+
|
|
596
|
+
/// \memberof AMdoc
|
|
597
|
+
/// \brief Gets the current or historical items in the list object within the
|
|
598
|
+
/// given range.
|
|
599
|
+
///
|
|
600
|
+
/// \param[in] doc A pointer to an `AMdoc` struct.
|
|
601
|
+
/// \param[in] obj_id A pointer to an `AMobjId` struct or `AM_ROOT`.
|
|
602
|
+
/// \param[in] begin The first pos in a range of indices.
|
|
603
|
+
/// \param[in] end At least one past the last pos in a range of indices.
|
|
604
|
+
/// \param[in] heads A pointer to an `AMitems` struct with `AM_VAL_TYPE_CHANGE_HASH`
|
|
605
|
+
/// items to select historical items or `NULL` to select
|
|
606
|
+
/// current items.
|
|
607
|
+
/// \return A pointer to an `AMresult` struct with an `AMitems` struct.
|
|
608
|
+
/// \pre \p doc `!= NULL`
|
|
609
|
+
/// \pre \p begin `<=` \p end `<= SIZE_MAX`
|
|
610
|
+
/// \warning The returned `AMresult` struct pointer must be passed to
|
|
611
|
+
/// `AMresultFree()` in order to avoid a memory leak.
|
|
612
|
+
/// \internal
|
|
613
|
+
///
|
|
614
|
+
/// # Safety
|
|
615
|
+
/// doc must be a valid pointer to an AMdoc
|
|
616
|
+
/// obj_id must be a valid pointer to an AMobjId or std::ptr::null()
|
|
617
|
+
/// heads must be a valid pointer to an AMitems or std::ptr::null()
|
|
618
|
+
#[no_mangle]
|
|
619
|
+
pub unsafe extern "C" fn AMlistRange(
|
|
620
|
+
doc: *const AMdoc,
|
|
621
|
+
obj_id: *const AMobjId,
|
|
622
|
+
begin: usize,
|
|
623
|
+
end: usize,
|
|
624
|
+
heads: *const AMitems,
|
|
625
|
+
) -> *mut AMresult {
|
|
626
|
+
let doc = to_doc!(doc);
|
|
627
|
+
let obj_id = to_obj_id!(obj_id);
|
|
628
|
+
let range = to_range!(begin, end);
|
|
629
|
+
match heads.as_ref() {
|
|
630
|
+
None => to_result(doc.list_range(obj_id, range)),
|
|
631
|
+
Some(heads) => match <Vec<am::ChangeHash>>::try_from(heads) {
|
|
632
|
+
Ok(heads) => to_result(doc.list_range_at(obj_id, range, &heads)),
|
|
633
|
+
Err(e) => AMresult::error(&e.to_string()).into(),
|
|
634
|
+
},
|
|
635
|
+
}
|
|
636
|
+
}
|