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,556 @@
|
|
|
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
|
+
/// \memberof AMdoc
|
|
12
|
+
/// \brief Deletes an item from a map object.
|
|
13
|
+
///
|
|
14
|
+
/// \param[in] doc A pointer to an `AMdoc` struct.
|
|
15
|
+
/// \param[in] obj_id A pointer to an `AMobjId` struct or `AM_ROOT`.
|
|
16
|
+
/// \param[in] key The UTF-8 string view key of an item within the map object
|
|
17
|
+
/// identified by \p obj_id as an `AMbyteSpan` struct.
|
|
18
|
+
/// \return A pointer to an `AMresult` struct with an `AM_VAL_TYPE_VOID` item.
|
|
19
|
+
/// \pre \p doc `!= NULL`
|
|
20
|
+
/// \pre \p key.src `!= NULL`
|
|
21
|
+
/// \warning The returned `AMresult` struct pointer must be passed to
|
|
22
|
+
/// `AMresultFree()` in order to avoid a memory leak.
|
|
23
|
+
/// \internal
|
|
24
|
+
///
|
|
25
|
+
/// # Safety
|
|
26
|
+
/// doc must be a valid pointer to an AMdoc
|
|
27
|
+
/// obj_id must be a valid pointer to an AMobjId or std::ptr::null()
|
|
28
|
+
/// key.src must be a byte array of length >= key.count
|
|
29
|
+
#[no_mangle]
|
|
30
|
+
pub unsafe extern "C" fn AMmapDelete(
|
|
31
|
+
doc: *mut AMdoc,
|
|
32
|
+
obj_id: *const AMobjId,
|
|
33
|
+
key: AMbyteSpan,
|
|
34
|
+
) -> *mut AMresult {
|
|
35
|
+
let doc = to_doc_mut!(doc);
|
|
36
|
+
let key = to_str!(key);
|
|
37
|
+
to_result(doc.delete(to_obj_id!(obj_id), key))
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
/// \memberof AMdoc
|
|
41
|
+
/// \brief Gets a current or historical item within a map object.
|
|
42
|
+
///
|
|
43
|
+
/// \param[in] doc A pointer to an `AMdoc` struct.
|
|
44
|
+
/// \param[in] obj_id A pointer to an `AMobjId` struct or `AM_ROOT`.
|
|
45
|
+
/// \param[in] key The UTF-8 string view key of an item within the map object
|
|
46
|
+
/// identified by \p obj_id as an `AMbyteSpan` struct.
|
|
47
|
+
/// \param[in] heads A pointer to an `AMitems` struct with `AM_VAL_TYPE_CHANGE_HASH`
|
|
48
|
+
/// items to select a historical item at \p key or `NULL`
|
|
49
|
+
/// to select the current item at \p key.
|
|
50
|
+
/// \return A pointer to an `AMresult` struct with an `AMitem` struct.
|
|
51
|
+
/// \pre \p doc `!= NULL`
|
|
52
|
+
/// \pre \p key.src `!= NULL`
|
|
53
|
+
/// \warning The returned `AMresult` struct pointer must be passed to
|
|
54
|
+
/// `AMresultFree()` in order to avoid a memory leak.
|
|
55
|
+
/// \internal
|
|
56
|
+
///
|
|
57
|
+
/// # Safety
|
|
58
|
+
/// doc must be a valid pointer to an AMdoc
|
|
59
|
+
/// obj_id must be a valid pointer to an AMobjId or std::ptr::null()
|
|
60
|
+
/// key.src must be a byte array of length >= key.count
|
|
61
|
+
/// heads must be a valid pointer to an AMitems or std::ptr::null()
|
|
62
|
+
#[no_mangle]
|
|
63
|
+
pub unsafe extern "C" fn AMmapGet(
|
|
64
|
+
doc: *const AMdoc,
|
|
65
|
+
obj_id: *const AMobjId,
|
|
66
|
+
key: AMbyteSpan,
|
|
67
|
+
heads: *const AMitems,
|
|
68
|
+
) -> *mut AMresult {
|
|
69
|
+
let doc = to_doc!(doc);
|
|
70
|
+
let obj_id = to_obj_id!(obj_id);
|
|
71
|
+
let key = to_str!(key);
|
|
72
|
+
match heads.as_ref() {
|
|
73
|
+
None => to_result((doc.get(obj_id, key), key)),
|
|
74
|
+
Some(heads) => match <Vec<am::ChangeHash>>::try_from(heads) {
|
|
75
|
+
Ok(heads) => to_result((doc.get_at(obj_id, key, &heads), key)),
|
|
76
|
+
Err(e) => AMresult::error(&e.to_string()).into(),
|
|
77
|
+
},
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
/// \memberof AMdoc
|
|
82
|
+
/// \brief Gets all of the historical items at a key within a map object until
|
|
83
|
+
/// its current one or a specific one.
|
|
84
|
+
///
|
|
85
|
+
/// \param[in] doc A pointer to an `AMdoc` struct.
|
|
86
|
+
/// \param[in] obj_id A pointer to an `AMobjId` struct or `AM_ROOT`.
|
|
87
|
+
/// \param[in] key The UTF-8 string view key of an item within the map object
|
|
88
|
+
/// identified by \p obj_id as an `AMbyteSpan` struct.
|
|
89
|
+
/// \param[in] heads A pointer to an `AMitems` struct with `AM_VAL_TYPE_CHANGE_HASH`
|
|
90
|
+
/// items to select a historical last item or `NULL` to
|
|
91
|
+
/// select the current last item.
|
|
92
|
+
/// \return A pointer to an `AMresult` struct with an `AMItems` struct.
|
|
93
|
+
/// \pre \p doc `!= NULL`
|
|
94
|
+
/// \pre \p key.src `!= NULL`
|
|
95
|
+
/// \warning The returned `AMresult` struct pointer must be passed to
|
|
96
|
+
/// `AMresultFree()` in order to avoid a memory leak.
|
|
97
|
+
/// \internal
|
|
98
|
+
///
|
|
99
|
+
/// # Safety
|
|
100
|
+
/// doc must be a valid pointer to an AMdoc
|
|
101
|
+
/// obj_id must be a valid pointer to an AMobjId or std::ptr::null()
|
|
102
|
+
/// key.src must be a byte array of length >= key.count
|
|
103
|
+
/// heads must be a valid pointer to an AMitems or std::ptr::null()
|
|
104
|
+
#[no_mangle]
|
|
105
|
+
pub unsafe extern "C" fn AMmapGetAll(
|
|
106
|
+
doc: *const AMdoc,
|
|
107
|
+
obj_id: *const AMobjId,
|
|
108
|
+
key: AMbyteSpan,
|
|
109
|
+
heads: *const AMitems,
|
|
110
|
+
) -> *mut AMresult {
|
|
111
|
+
let doc = to_doc!(doc);
|
|
112
|
+
let obj_id = to_obj_id!(obj_id);
|
|
113
|
+
let key = to_str!(key);
|
|
114
|
+
match heads.as_ref() {
|
|
115
|
+
None => to_result(doc.get_all(obj_id, key)),
|
|
116
|
+
Some(heads) => match <Vec<am::ChangeHash>>::try_from(heads) {
|
|
117
|
+
Ok(heads) => to_result(doc.get_all_at(obj_id, key, &heads)),
|
|
118
|
+
Err(e) => AMresult::error(&e.to_string()).into(),
|
|
119
|
+
},
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
/// \memberof AMdoc
|
|
124
|
+
/// \brief Increments a counter at a key in a map object by the given value.
|
|
125
|
+
///
|
|
126
|
+
/// \param[in] doc A pointer to an `AMdoc` struct.
|
|
127
|
+
/// \param[in] obj_id A pointer to an `AMobjId` struct or `AM_ROOT`.
|
|
128
|
+
/// \param[in] key The UTF-8 string view key of an item within the map object
|
|
129
|
+
/// identified by \p obj_id as an `AMbyteSpan` struct.
|
|
130
|
+
/// \param[in] value A 64-bit signed integer.
|
|
131
|
+
/// \return A pointer to an `AMresult` struct with an `AM_VAL_TYPE_VOID` item.
|
|
132
|
+
/// \pre \p doc `!= NULL`
|
|
133
|
+
/// \pre \p key.src `!= NULL`
|
|
134
|
+
/// \warning The returned `AMresult` struct pointer must be passed to
|
|
135
|
+
/// `AMresultFree()` in order to avoid a memory leak.
|
|
136
|
+
/// \internal
|
|
137
|
+
///
|
|
138
|
+
/// # Safety
|
|
139
|
+
/// doc must be a valid pointer to an AMdoc
|
|
140
|
+
/// obj_id must be a valid pointer to an AMobjId or std::ptr::null()
|
|
141
|
+
/// key.src must be a byte array of length >= key.count
|
|
142
|
+
#[no_mangle]
|
|
143
|
+
pub unsafe extern "C" fn AMmapIncrement(
|
|
144
|
+
doc: *mut AMdoc,
|
|
145
|
+
obj_id: *const AMobjId,
|
|
146
|
+
key: AMbyteSpan,
|
|
147
|
+
value: i64,
|
|
148
|
+
) -> *mut AMresult {
|
|
149
|
+
let doc = to_doc_mut!(doc);
|
|
150
|
+
let key = to_str!(key);
|
|
151
|
+
to_result(doc.increment(to_obj_id!(obj_id), key, value))
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
/// \memberof AMdoc
|
|
155
|
+
/// \brief Puts a boolean as the value of a key in a map object.
|
|
156
|
+
///
|
|
157
|
+
/// \param[in] doc A pointer to an `AMdoc` struct.
|
|
158
|
+
/// \param[in] obj_id A pointer to an `AMobjId` struct or `AM_ROOT`.
|
|
159
|
+
/// \param[in] key The UTF-8 string view key of an item within the map object
|
|
160
|
+
/// identified by \p obj_id as an `AMbyteSpan` struct.
|
|
161
|
+
/// \param[in] value A boolean.
|
|
162
|
+
/// \return A pointer to an `AMresult` struct with an `AM_VAL_TYPE_VOID` item.
|
|
163
|
+
/// \pre \p doc `!= NULL`
|
|
164
|
+
/// \pre \p key.src `!= NULL`
|
|
165
|
+
/// \warning The returned `AMresult` struct pointer must be passed to
|
|
166
|
+
/// `AMresultFree()` in order to avoid a memory leak.
|
|
167
|
+
/// \internal
|
|
168
|
+
///
|
|
169
|
+
/// # Safety
|
|
170
|
+
/// doc must be a valid pointer to an AMdoc
|
|
171
|
+
/// obj_id must be a valid pointer to an AMobjId or std::ptr::null()
|
|
172
|
+
/// key.src must be a byte array of length >= key.count
|
|
173
|
+
#[no_mangle]
|
|
174
|
+
pub unsafe extern "C" fn AMmapPutBool(
|
|
175
|
+
doc: *mut AMdoc,
|
|
176
|
+
obj_id: *const AMobjId,
|
|
177
|
+
key: AMbyteSpan,
|
|
178
|
+
value: bool,
|
|
179
|
+
) -> *mut AMresult {
|
|
180
|
+
let doc = to_doc_mut!(doc);
|
|
181
|
+
let key = to_str!(key);
|
|
182
|
+
to_result(doc.put(to_obj_id!(obj_id), key, value))
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
/// \memberof AMdoc
|
|
186
|
+
/// \brief Puts an array of bytes value at a key in a map object.
|
|
187
|
+
///
|
|
188
|
+
/// \param[in] doc A pointer to an `AMdoc` struct.
|
|
189
|
+
/// \param[in] obj_id A pointer to an `AMobjId` struct or `AM_ROOT`.
|
|
190
|
+
/// \param[in] key The UTF-8 string view key of an item within the map object
|
|
191
|
+
/// identified by \p obj_id as an `AMbyteSpan` struct.
|
|
192
|
+
/// \param[in] value A view onto an array of bytes as an `AMbyteSpan` struct.
|
|
193
|
+
/// \return A pointer to an `AMresult` struct with an `AM_VAL_TYPE_VOID` item.
|
|
194
|
+
/// \pre \p doc `!= NULL`
|
|
195
|
+
/// \pre \p key.src `!= NULL`
|
|
196
|
+
/// \pre \p value.src `!= NULL`
|
|
197
|
+
/// \pre `0 <` \p value.count `<= sizeof(`\p value.src `)`
|
|
198
|
+
/// \warning The returned `AMresult` struct pointer must be passed to
|
|
199
|
+
/// `AMresultFree()` in order to avoid a memory leak.
|
|
200
|
+
/// \internal
|
|
201
|
+
///
|
|
202
|
+
/// # Safety
|
|
203
|
+
/// doc must be a valid pointer to an AMdoc
|
|
204
|
+
/// obj_id must be a valid pointer to an AMobjId or std::ptr::null()
|
|
205
|
+
/// key.src must be a byte array of length >= key.count
|
|
206
|
+
/// value.src must be a byte array of length >= value.count
|
|
207
|
+
#[no_mangle]
|
|
208
|
+
pub unsafe extern "C" fn AMmapPutBytes(
|
|
209
|
+
doc: *mut AMdoc,
|
|
210
|
+
obj_id: *const AMobjId,
|
|
211
|
+
key: AMbyteSpan,
|
|
212
|
+
value: AMbyteSpan,
|
|
213
|
+
) -> *mut AMresult {
|
|
214
|
+
let doc = to_doc_mut!(doc);
|
|
215
|
+
let key = to_str!(key);
|
|
216
|
+
to_result(doc.put(to_obj_id!(obj_id), key, Vec::<u8>::from(&value)))
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
/// \memberof AMdoc
|
|
220
|
+
/// \brief Puts a CRDT counter as the value of a key in a map object.
|
|
221
|
+
///
|
|
222
|
+
/// \param[in] doc A pointer to an `AMdoc` struct.
|
|
223
|
+
/// \param[in] obj_id A pointer to an `AMobjId` struct or `AM_ROOT`.
|
|
224
|
+
/// \param[in] key A UTF-8 string view key for the map object identified by
|
|
225
|
+
/// \p obj_id as an `AMbyteSpan` struct.
|
|
226
|
+
/// \param[in] value A 64-bit signed integer.
|
|
227
|
+
/// \return A pointer to an `AMresult` struct with an `AM_VAL_TYPE_VOID` item.
|
|
228
|
+
/// \pre \p doc `!= NULL`
|
|
229
|
+
/// \pre \p key.src `!= NULL`
|
|
230
|
+
/// \warning The returned `AMresult` struct pointer must be passed to
|
|
231
|
+
/// `AMresultFree()` in order to avoid a memory leak.
|
|
232
|
+
/// \internal
|
|
233
|
+
///
|
|
234
|
+
/// # Safety
|
|
235
|
+
/// doc must be a valid pointer to an AMdoc
|
|
236
|
+
/// obj_id must be a valid pointer to an AMobjId or std::ptr::null()
|
|
237
|
+
/// key.src must be a byte array of length >= key.count
|
|
238
|
+
#[no_mangle]
|
|
239
|
+
pub unsafe extern "C" fn AMmapPutCounter(
|
|
240
|
+
doc: *mut AMdoc,
|
|
241
|
+
obj_id: *const AMobjId,
|
|
242
|
+
key: AMbyteSpan,
|
|
243
|
+
value: i64,
|
|
244
|
+
) -> *mut AMresult {
|
|
245
|
+
let doc = to_doc_mut!(doc);
|
|
246
|
+
let key = to_str!(key);
|
|
247
|
+
to_result(doc.put(
|
|
248
|
+
to_obj_id!(obj_id),
|
|
249
|
+
key,
|
|
250
|
+
am::ScalarValue::Counter(value.into()),
|
|
251
|
+
))
|
|
252
|
+
}
|
|
253
|
+
|
|
254
|
+
/// \memberof AMdoc
|
|
255
|
+
/// \brief Puts null as the value of a key in a map object.
|
|
256
|
+
///
|
|
257
|
+
/// \param[in] doc A pointer to an `AMdoc` struct.
|
|
258
|
+
/// \param[in] obj_id A pointer to an `AMobjId` struct or `AM_ROOT`.
|
|
259
|
+
/// \param[in] key A UTF-8 string view key for the map object identified by
|
|
260
|
+
/// \p obj_id as an `AMbyteSpan` struct.
|
|
261
|
+
/// \return A pointer to an `AMresult` struct with an `AM_VAL_TYPE_VOID` item.
|
|
262
|
+
/// \pre \p doc `!= NULL`
|
|
263
|
+
/// \pre \p key.src `!= NULL`
|
|
264
|
+
/// \warning The returned `AMresult` struct pointer must be passed to
|
|
265
|
+
/// `AMresultFree()` in order to avoid a memory leak.
|
|
266
|
+
/// \internal
|
|
267
|
+
///
|
|
268
|
+
/// # Safety
|
|
269
|
+
/// doc must be a valid pointer to an AMdoc
|
|
270
|
+
/// obj_id must be a valid pointer to an AMobjId or std::ptr::null()
|
|
271
|
+
/// key.src must be a byte array of length >= key.count
|
|
272
|
+
#[no_mangle]
|
|
273
|
+
pub unsafe extern "C" fn AMmapPutNull(
|
|
274
|
+
doc: *mut AMdoc,
|
|
275
|
+
obj_id: *const AMobjId,
|
|
276
|
+
key: AMbyteSpan,
|
|
277
|
+
) -> *mut AMresult {
|
|
278
|
+
let doc = to_doc_mut!(doc);
|
|
279
|
+
let key = to_str!(key);
|
|
280
|
+
to_result(doc.put(to_obj_id!(obj_id), key, ()))
|
|
281
|
+
}
|
|
282
|
+
|
|
283
|
+
/// \memberof AMdoc
|
|
284
|
+
/// \brief Puts an empty object as the value of a key in a map object.
|
|
285
|
+
///
|
|
286
|
+
/// \param[in] doc A pointer to an `AMdoc` struct.
|
|
287
|
+
/// \param[in] obj_id A pointer to an `AMobjId` struct or `AM_ROOT`.
|
|
288
|
+
/// \param[in] key A UTF-8 string view key for the map object identified by
|
|
289
|
+
/// \p obj_id as an `AMbyteSpan` struct.
|
|
290
|
+
/// \param[in] obj_type An `AMobjIdType` enum tag.
|
|
291
|
+
/// \return A pointer to an `AMresult` struct with an `AM_VAL_TYPE_OBJ_TYPE` item.
|
|
292
|
+
/// \pre \p doc `!= NULL`
|
|
293
|
+
/// \pre \p key.src `!= NULL`
|
|
294
|
+
/// \warning The returned `AMresult` struct pointer must be passed to
|
|
295
|
+
/// `AMresultFree()` in order to avoid a memory leak.
|
|
296
|
+
/// \internal
|
|
297
|
+
///
|
|
298
|
+
/// # Safety
|
|
299
|
+
/// doc must be a valid pointer to an AMdoc
|
|
300
|
+
/// obj_id must be a valid pointer to an AMobjId or std::ptr::null()
|
|
301
|
+
/// key.src must be a byte array of length >= key.count
|
|
302
|
+
#[no_mangle]
|
|
303
|
+
pub unsafe extern "C" fn AMmapPutObject(
|
|
304
|
+
doc: *mut AMdoc,
|
|
305
|
+
obj_id: *const AMobjId,
|
|
306
|
+
key: AMbyteSpan,
|
|
307
|
+
obj_type: AMobjType,
|
|
308
|
+
) -> *mut AMresult {
|
|
309
|
+
let doc = to_doc_mut!(doc);
|
|
310
|
+
let key = to_str!(key);
|
|
311
|
+
let obj_type = to_obj_type!(obj_type);
|
|
312
|
+
to_result((
|
|
313
|
+
doc.put_object(to_obj_id!(obj_id), key, obj_type),
|
|
314
|
+
key,
|
|
315
|
+
obj_type,
|
|
316
|
+
))
|
|
317
|
+
}
|
|
318
|
+
|
|
319
|
+
/// \memberof AMdoc
|
|
320
|
+
/// \brief Puts a float as the value of a key in a map object.
|
|
321
|
+
///
|
|
322
|
+
/// \param[in] doc A pointer to an `AMdoc` struct.
|
|
323
|
+
/// \param[in] obj_id A pointer to an `AMobjId` struct or `AM_ROOT`.
|
|
324
|
+
/// \param[in] key A UTF-8 string view key for the map object identified by
|
|
325
|
+
/// \p obj_id as an `AMbyteSpan` struct.
|
|
326
|
+
/// \param[in] value A 64-bit float.
|
|
327
|
+
/// \return A pointer to an `AMresult` struct with an `AM_VAL_TYPE_VOID` item.
|
|
328
|
+
/// \pre \p doc `!= NULL`
|
|
329
|
+
/// \pre \p key.src `!= NULL`
|
|
330
|
+
/// \warning The returned `AMresult` struct pointer must be passed to
|
|
331
|
+
/// `AMresultFree()` in order to avoid a memory leak.
|
|
332
|
+
/// \internal
|
|
333
|
+
///
|
|
334
|
+
/// # Safety
|
|
335
|
+
/// doc must be a valid pointer to an AMdoc
|
|
336
|
+
/// obj_id must be a valid pointer to an AMobjId or std::ptr::null()
|
|
337
|
+
/// key.src must be a byte array of length >= key.count
|
|
338
|
+
#[no_mangle]
|
|
339
|
+
pub unsafe extern "C" fn AMmapPutF64(
|
|
340
|
+
doc: *mut AMdoc,
|
|
341
|
+
obj_id: *const AMobjId,
|
|
342
|
+
key: AMbyteSpan,
|
|
343
|
+
value: f64,
|
|
344
|
+
) -> *mut AMresult {
|
|
345
|
+
let doc = to_doc_mut!(doc);
|
|
346
|
+
let key = to_str!(key);
|
|
347
|
+
to_result(doc.put(to_obj_id!(obj_id), key, value))
|
|
348
|
+
}
|
|
349
|
+
|
|
350
|
+
/// \memberof AMdoc
|
|
351
|
+
/// \brief Puts a signed integer as the value of a key in a map object.
|
|
352
|
+
///
|
|
353
|
+
/// \param[in] doc A pointer to an `AMdoc` struct.
|
|
354
|
+
/// \param[in] obj_id A pointer to an `AMobjId` struct or `AM_ROOT`.
|
|
355
|
+
/// \param[in] key A UTF-8 string view key for the map object identified by
|
|
356
|
+
/// \p obj_id as an `AMbyteSpan` struct.
|
|
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 \p key.src `!= NULL`
|
|
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
|
+
/// key.src must be a byte array of length >= key.count
|
|
369
|
+
#[no_mangle]
|
|
370
|
+
pub unsafe extern "C" fn AMmapPutInt(
|
|
371
|
+
doc: *mut AMdoc,
|
|
372
|
+
obj_id: *const AMobjId,
|
|
373
|
+
key: AMbyteSpan,
|
|
374
|
+
value: i64,
|
|
375
|
+
) -> *mut AMresult {
|
|
376
|
+
let doc = to_doc_mut!(doc);
|
|
377
|
+
let key = to_str!(key);
|
|
378
|
+
to_result(doc.put(to_obj_id!(obj_id), key, value))
|
|
379
|
+
}
|
|
380
|
+
|
|
381
|
+
/// \memberof AMdoc
|
|
382
|
+
/// \brief Puts a UTF-8 string as the value of a key in a map object.
|
|
383
|
+
///
|
|
384
|
+
/// \param[in] doc A pointer to an `AMdoc` struct.
|
|
385
|
+
/// \param[in] obj_id A pointer to an `AMobjId` struct or `AM_ROOT`.
|
|
386
|
+
/// \param[in] key A UTF-8 string view key for the map object identified by
|
|
387
|
+
/// \p obj_id as an `AMbyteSpan` struct.
|
|
388
|
+
/// \param[in] value A UTF-8 string view as an `AMbyteSpan` struct.
|
|
389
|
+
/// \return A pointer to an `AMresult` struct with an `AM_VAL_TYPE_VOID` item.
|
|
390
|
+
/// \pre \p doc `!= NULL`
|
|
391
|
+
/// \pre \p key.src `!= NULL`
|
|
392
|
+
/// \warning The returned `AMresult` struct pointer must be passed to
|
|
393
|
+
/// `AMresultFree()` in order to avoid a memory leak.
|
|
394
|
+
/// \internal
|
|
395
|
+
///
|
|
396
|
+
/// # Safety
|
|
397
|
+
/// doc must be a valid pointer to an AMdoc
|
|
398
|
+
/// obj_id must be a valid pointer to an AMobjId or std::ptr::null()
|
|
399
|
+
/// key.src must be a byte array of length >= key.count
|
|
400
|
+
#[no_mangle]
|
|
401
|
+
pub unsafe extern "C" fn AMmapPutStr(
|
|
402
|
+
doc: *mut AMdoc,
|
|
403
|
+
obj_id: *const AMobjId,
|
|
404
|
+
key: AMbyteSpan,
|
|
405
|
+
value: AMbyteSpan,
|
|
406
|
+
) -> *mut AMresult {
|
|
407
|
+
let doc = to_doc_mut!(doc);
|
|
408
|
+
to_result(doc.put(to_obj_id!(obj_id), to_str!(key), to_str!(value)))
|
|
409
|
+
}
|
|
410
|
+
|
|
411
|
+
/// \memberof AMdoc
|
|
412
|
+
/// \brief Puts a *nix timestamp (milliseconds) as the value of a key in a map
|
|
413
|
+
/// object.
|
|
414
|
+
///
|
|
415
|
+
/// \param[in] doc A pointer to an `AMdoc` struct.
|
|
416
|
+
/// \param[in] obj_id A pointer to an `AMobjId` struct or `AM_ROOT`.
|
|
417
|
+
/// \param[in] key A UTF-8 string view key for the map object identified by
|
|
418
|
+
/// \p obj_id as an `AMbyteSpan` struct.
|
|
419
|
+
/// \param[in] value A 64-bit signed integer.
|
|
420
|
+
/// \return A pointer to an `AMresult` struct with an `AM_VAL_TYPE_VOID` item.
|
|
421
|
+
/// \pre \p doc `!= NULL`
|
|
422
|
+
/// \pre \p key.src `!= NULL`
|
|
423
|
+
/// \warning The returned `AMresult` struct pointer must be passed to
|
|
424
|
+
/// `AMresultFree()` in order to avoid a memory leak.
|
|
425
|
+
/// \internal
|
|
426
|
+
///
|
|
427
|
+
/// # Safety
|
|
428
|
+
/// doc must be a valid pointer to an AMdoc
|
|
429
|
+
/// obj_id must be a valid pointer to an AMobjId or std::ptr::null()
|
|
430
|
+
/// key.src must be a byte array of length >= key.count
|
|
431
|
+
#[no_mangle]
|
|
432
|
+
pub unsafe extern "C" fn AMmapPutTimestamp(
|
|
433
|
+
doc: *mut AMdoc,
|
|
434
|
+
obj_id: *const AMobjId,
|
|
435
|
+
key: AMbyteSpan,
|
|
436
|
+
value: i64,
|
|
437
|
+
) -> *mut AMresult {
|
|
438
|
+
let doc = to_doc_mut!(doc);
|
|
439
|
+
let key = to_str!(key);
|
|
440
|
+
to_result(doc.put(to_obj_id!(obj_id), key, am::ScalarValue::Timestamp(value)))
|
|
441
|
+
}
|
|
442
|
+
|
|
443
|
+
/// \memberof AMdoc
|
|
444
|
+
/// \brief Puts an unsigned integer as the value of a key in a map object.
|
|
445
|
+
///
|
|
446
|
+
/// \param[in] doc A pointer to an `AMdoc` struct.
|
|
447
|
+
/// \param[in] obj_id A pointer to an `AMobjId` struct or `AM_ROOT`.
|
|
448
|
+
/// \param[in] key A UTF-8 string view key for the map object identified by
|
|
449
|
+
/// \p obj_id as an `AMbyteSpan` struct.
|
|
450
|
+
/// \param[in] value A 64-bit unsigned integer.
|
|
451
|
+
/// \return A pointer to an `AMresult` struct with an `AM_VAL_TYPE_VOID` item.
|
|
452
|
+
/// \pre \p doc `!= NULL`
|
|
453
|
+
/// \pre \p key.src `!= NULL`
|
|
454
|
+
/// \warning The returned `AMresult` struct pointer must be passed to
|
|
455
|
+
/// `AMresultFree()` in order to avoid a memory leak.
|
|
456
|
+
/// \internal
|
|
457
|
+
///
|
|
458
|
+
/// # Safety
|
|
459
|
+
/// doc must be a valid pointer to an AMdoc
|
|
460
|
+
/// obj_id must be a valid pointer to an AMobjId or std::ptr::null()
|
|
461
|
+
/// key.src must be a byte array of length >= key.count
|
|
462
|
+
#[no_mangle]
|
|
463
|
+
pub unsafe extern "C" fn AMmapPutUint(
|
|
464
|
+
doc: *mut AMdoc,
|
|
465
|
+
obj_id: *const AMobjId,
|
|
466
|
+
key: AMbyteSpan,
|
|
467
|
+
value: u64,
|
|
468
|
+
) -> *mut AMresult {
|
|
469
|
+
let doc = to_doc_mut!(doc);
|
|
470
|
+
let key = to_str!(key);
|
|
471
|
+
to_result(doc.put(to_obj_id!(obj_id), key, value))
|
|
472
|
+
}
|
|
473
|
+
|
|
474
|
+
/// \memberof AMdoc
|
|
475
|
+
/// \brief Gets the current or historical items of the map object within the
|
|
476
|
+
/// given range.
|
|
477
|
+
///
|
|
478
|
+
/// \param[in] doc A pointer to an `AMdoc` struct.
|
|
479
|
+
/// \param[in] obj_id A pointer to an `AMobjId` struct or `AM_ROOT`.
|
|
480
|
+
/// \param[in] begin The first key in a subrange or `AMstr(NULL)` to indicate the
|
|
481
|
+
/// absolute first key.
|
|
482
|
+
/// \param[in] end The key one past the last key in a subrange or `AMstr(NULL)`
|
|
483
|
+
/// to indicate one past the absolute last key.
|
|
484
|
+
/// \param[in] heads A pointer to an `AMitems` struct with `AM_VAL_TYPE_CHANGE_HASH`
|
|
485
|
+
/// items to select historical items or `NULL` to select
|
|
486
|
+
/// current items.
|
|
487
|
+
/// \return A pointer to an `AMresult` struct with an `AMitems` struct.
|
|
488
|
+
/// \pre \p doc `!= NULL`
|
|
489
|
+
/// \warning The returned `AMresult` struct pointer must be passed to
|
|
490
|
+
/// `AMresultFree()` in order to avoid a memory leak.
|
|
491
|
+
/// \internal
|
|
492
|
+
///
|
|
493
|
+
/// # Safety
|
|
494
|
+
/// doc must be a valid pointer to an AMdoc
|
|
495
|
+
/// obj_id must be a valid pointer to an AMobjId or std::ptr::null()
|
|
496
|
+
/// begin.src must be a byte array of length >= begin.count or std::ptr::null()
|
|
497
|
+
/// end.src must be a byte array of length >= end.count or std::ptr::null()
|
|
498
|
+
/// heads must be a valid pointer to an AMitems or std::ptr::null()
|
|
499
|
+
#[no_mangle]
|
|
500
|
+
pub unsafe extern "C" fn AMmapRange(
|
|
501
|
+
doc: *const AMdoc,
|
|
502
|
+
obj_id: *const AMobjId,
|
|
503
|
+
begin: AMbyteSpan,
|
|
504
|
+
end: AMbyteSpan,
|
|
505
|
+
heads: *const AMitems,
|
|
506
|
+
) -> *mut AMresult {
|
|
507
|
+
let doc = to_doc!(doc);
|
|
508
|
+
let obj_id = to_obj_id!(obj_id);
|
|
509
|
+
let heads = match heads.as_ref() {
|
|
510
|
+
None => None,
|
|
511
|
+
Some(heads) => match <Vec<am::ChangeHash>>::try_from(heads) {
|
|
512
|
+
Ok(heads) => Some(heads),
|
|
513
|
+
Err(e) => {
|
|
514
|
+
return AMresult::error(&e.to_string()).into();
|
|
515
|
+
}
|
|
516
|
+
},
|
|
517
|
+
};
|
|
518
|
+
match (begin.is_null(), end.is_null()) {
|
|
519
|
+
(false, false) => {
|
|
520
|
+
let (begin, end) = (to_str!(begin).to_string(), to_str!(end).to_string());
|
|
521
|
+
if begin > end {
|
|
522
|
+
return AMresult::error(&format!("Invalid range [{}-{})", begin, end)).into();
|
|
523
|
+
};
|
|
524
|
+
let bounds = begin..end;
|
|
525
|
+
if let Some(heads) = heads {
|
|
526
|
+
to_result(doc.map_range_at(obj_id, bounds, &heads))
|
|
527
|
+
} else {
|
|
528
|
+
to_result(doc.map_range(obj_id, bounds))
|
|
529
|
+
}
|
|
530
|
+
}
|
|
531
|
+
(false, true) => {
|
|
532
|
+
let bounds = to_str!(begin).to_string()..;
|
|
533
|
+
if let Some(heads) = heads {
|
|
534
|
+
to_result(doc.map_range_at(obj_id, bounds, &heads))
|
|
535
|
+
} else {
|
|
536
|
+
to_result(doc.map_range(obj_id, bounds))
|
|
537
|
+
}
|
|
538
|
+
}
|
|
539
|
+
(true, false) => {
|
|
540
|
+
let bounds = ..to_str!(end).to_string();
|
|
541
|
+
if let Some(heads) = heads {
|
|
542
|
+
to_result(doc.map_range_at(obj_id, bounds, &heads))
|
|
543
|
+
} else {
|
|
544
|
+
to_result(doc.map_range(obj_id, bounds))
|
|
545
|
+
}
|
|
546
|
+
}
|
|
547
|
+
(true, true) => {
|
|
548
|
+
let bounds = ..;
|
|
549
|
+
if let Some(heads) = heads {
|
|
550
|
+
to_result(doc.map_range_at(obj_id, bounds, &heads))
|
|
551
|
+
} else {
|
|
552
|
+
to_result(doc.map_range(obj_id, bounds))
|
|
553
|
+
}
|
|
554
|
+
}
|
|
555
|
+
}
|
|
556
|
+
}
|