[package]
edition = "2024"
rust-version = "1.90.0"
name = "amethystate"
version = "0.23.2"
authors = ["Tam1SH <ignatternyev54@gmail.com>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A state manager for Rust applications"
readme = "README.md"
license = "MIT OR Apache-2.0"
repository = "https://github.com/guinea-rs/amethystate"
resolver = "2"
[package.metadata.docs.rs]
features = [
"redb",
"sqlite",
"json",
"toml",
"ron",
"memory",
"async",
"diagnostics",
]
[features]
async = ["amethystate-core/async"]
bench-internals = []
default = []
dhat-heap = []
diagnostics = [
"dep:miette",
"miette/fancy",
]
golden = []
json = ["text"]
localstorage = [
"dep:web-sys",
"dep:wasm-bindgen",
]
memory = ["dep:rmp-serde"]
redb = [
"dep:redb",
"dep:rmp-serde",
"dep:arc-swap",
]
ron = [
"dep:ron",
"text",
]
sqlite = [
"dep:rusqlite",
"dep:sonic-rs",
"rusqlite/bundled",
]
tauri = [
"amethystate-macros/tauri",
"amethystate-tauri",
"async",
]
test-utils = ["amethystate-core/test-utils"]
text = [
"dep:tempfile",
"dep:notify",
]
toml = [
"dep:toml_edit",
"text",
]
[lib]
name = "amethystate"
path = "src/lib.rs"
[[example]]
name = "profile_scan"
path = "examples/profile_scan.rs"
[[test]]
name = "a_browser_build_finds_what_the_linker_listed"
path = "tests/a_browser_build_finds_what_the_linker_listed.rs"
[[test]]
name = "a_cache_that_carries_on_through_damage"
path = "tests/a_cache_that_carries_on_through_damage.rs"
[[test]]
name = "a_cell_in_memory_knows_its_own_writes"
path = "tests/a_cell_in_memory_knows_its_own_writes.rs"
[[test]]
name = "a_clear_reaches_a_key_watcher"
path = "tests/a_clear_reaches_a_key_watcher.rs"
[[test]]
name = "a_closed_store_answers_nothing"
path = "tests/a_closed_store_answers_nothing.rs"
[[test]]
name = "a_declaration_newer_than_its_record_replaces_it"
path = "tests/a_declaration_newer_than_its_record_replaces_it.rs"
[[test]]
name = "a_declared_map_covers_only_its_own_entries"
path = "tests/a_declared_map_covers_only_its_own_entries.rs"
[[test]]
name = "a_declared_map_keyed_by_an_id"
path = "tests/a_declared_map_keyed_by_an_id.rs"
[[test]]
name = "a_default_that_names_its_own_types"
path = "tests/a_default_that_names_its_own_types.rs"
[[test]]
name = "a_delete_settles_what_a_field_disagreed_with"
path = "tests/a_delete_settles_what_a_field_disagreed_with.rs"
[[test]]
name = "a_deleted_key_leaves_no_empty_level_behind"
path = "tests/a_deleted_key_leaves_no_empty_level_behind.rs"
[[test]]
name = "a_derive_beside_the_attribute"
path = "tests/a_derive_beside_the_attribute.rs"
[[test]]
name = "a_diff_across_the_plane"
path = "tests/a_diff_across_the_plane.rs"
[[test]]
name = "a_diff_down_a_declared_tree"
path = "tests/a_diff_down_a_declared_tree.rs"
[[test]]
name = "a_document_over_an_owned_tree"
path = "tests/a_document_over_an_owned_tree.rs"
[[test]]
name = "a_dropped_store_lets_go_of_its_files"
path = "tests/a_dropped_store_lets_go_of_its_files.rs"
[[test]]
name = "a_failed_step_names_the_file_of_its_store"
path = "tests/a_failed_step_names_the_file_of_its_store.rs"
[[test]]
name = "a_field_after_the_store_closes"
path = "tests/a_field_after_the_store_closes.rs"
[[test]]
name = "a_field_stored_another_way"
path = "tests/a_field_stored_another_way.rs"
[[test]]
name = "a_field_stored_elsewhere"
path = "tests/a_field_stored_elsewhere.rs"
[[test]]
name = "a_field_that_changed_kind_leaves_nothing_of_its_old_kind"
path = "tests/a_field_that_changed_kind_leaves_nothing_of_its_old_kind.rs"
[[test]]
name = "a_file_edited_from_outside"
path = "tests/a_file_edited_from_outside.rs"
[[test]]
name = "a_flattened_child"
path = "tests/a_flattened_child.rs"
[[test]]
name = "a_global_store_after_its_close"
path = "tests/a_global_store_after_its_close.rs"
[[test]]
name = "a_global_store_closed_by_awaiting"
path = "tests/a_global_store_closed_by_awaiting.rs"
[[test]]
name = "a_global_store_that_falls_back_to_memory"
path = "tests/a_global_store_that_falls_back_to_memory.rs"
[[test]]
name = "a_global_store_that_will_not_open_is_an_error"
path = "tests/a_global_store_that_will_not_open_is_an_error.rs"
[[test]]
name = "a_key_nothing_declares_is_let_go_of_on_every_engine"
path = "tests/a_key_nothing_declares_is_let_go_of_on_every_engine.rs"
[[test]]
name = "a_key_written_inside_a_declared_level_by_hand"
path = "tests/a_key_written_inside_a_declared_level_by_hand.rs"
[[test]]
name = "a_line_declared_past_its_last_step"
path = "tests/a_line_declared_past_its_last_step.rs"
[[test]]
name = "a_line_owning_a_place_inside_anothers_is_refused"
path = "tests/a_line_owning_a_place_inside_anothers_is_refused.rs"
[[test]]
name = "a_line_recorded_twice_is_not_read_as_its_first_record"
path = "tests/a_line_recorded_twice_is_not_read_as_its_first_record.rs"
[[test]]
name = "a_line_with_no_steps_refuses_a_newer_record"
path = "tests/a_line_with_no_steps_refuses_a_newer_record.rs"
[[test]]
name = "a_live_store_claims_its_file"
path = "tests/a_live_store_claims_its_file.rs"
[[test]]
name = "a_map_names_the_entries_it_leaves_out_as_they_arrive"
path = "tests/a_map_names_the_entries_it_leaves_out_as_they_arrive.rs"
[[test]]
name = "a_map_owns_everything_under_it"
path = "tests/a_map_owns_everything_under_it.rs"
[[test]]
name = "a_map_under_the_policies_its_struct_declared"
path = "tests/a_map_under_the_policies_its_struct_declared.rs"
[[test]]
name = "a_map_written_from_two_threads_at_once"
path = "tests/a_map_written_from_two_threads_at_once.rs"
[[test]]
name = "a_marker_and_a_prefix_share_a_key"
path = "tests/a_marker_and_a_prefix_share_a_key.rs"
[[test]]
name = "a_marker_and_a_value_share_a_name"
path = "tests/a_marker_and_a_value_share_a_name.rs"
[[test]]
name = "a_marker_set_fresh_reads_as_fresh"
path = "tests/a_marker_set_fresh_reads_as_fresh.rs"
[[test]]
name = "a_migrated_field_keeps_the_form_it_was_declared_in"
path = "tests/a_migrated_field_keeps_the_form_it_was_declared_in.rs"
[[test]]
name = "a_name_with_nothing_in_it"
path = "tests/a_name_with_nothing_in_it.rs"
[[test]]
name = "a_nested_step_reading_its_own_prefix_is_not_a_cycle"
path = "tests/a_nested_step_reading_its_own_prefix_is_not_a_cycle.rs"
[[test]]
name = "a_nested_struct_reached_through_a_use"
path = "tests/a_nested_struct_reached_through_a_use.rs"
[[test]]
name = "a_new_store_runs_no_steps_over_its_defaults"
path = "tests/a_new_store_runs_no_steps_over_its_defaults.rs"
[[test]]
name = "a_page_behind_tauri"
path = "tests/a_page_behind_tauri.rs"
[[test]]
name = "a_page_keeps_a_store"
path = "tests/a_page_keeps_a_store.rs"
[[test]]
name = "a_path_past_the_ceiling_reads_back"
path = "tests/a_path_past_the_ceiling_reads_back.rs"
[[test]]
name = "a_persistent_field_reads_as_it_was_declared"
path = "tests/a_persistent_field_reads_as_it_was_declared.rs"
[[test]]
name = "a_persistent_map_saves_what_it_holds"
path = "tests/a_persistent_map_saves_what_it_holds.rs"
[[test]]
name = "a_persistent_struct_takes_the_derives_written_on_it"
path = "tests/a_persistent_struct_takes_the_derives_written_on_it.rs"
[[test]]
name = "a_place_an_old_version_declared_is_not_declared_now"
path = "tests/a_place_an_old_version_declared_is_not_declared_now.rs"
[[test]]
name = "a_plan_past_the_declared_version_is_refused"
path = "tests/a_plan_past_the_declared_version_is_refused.rs"
[[test]]
name = "a_prefix_nothing_can_date"
path = "tests/a_prefix_nothing_can_date.rs"
[[test]]
name = "a_record_a_migration_left_behind"
path = "tests/a_record_a_migration_left_behind.rs"
[[test]]
name = "a_record_two_lines_left_behind_is_reported_once"
path = "tests/a_record_two_lines_left_behind_is_reported_once.rs"
[[test]]
name = "a_redb_commit_is_written_in_two_phases"
path = "tests/a_redb_commit_is_written_in_two_phases.rs"
[[test]]
name = "a_renamed_field_takes_its_stored_place_with_it"
path = "tests/a_renamed_field_takes_its_stored_place_with_it.rs"
[[test]]
name = "a_renamed_map_takes_its_entries_with_it"
path = "tests/a_renamed_map_takes_its_entries_with_it.rs"
[[test]]
name = "a_replaced_file_stays_the_file_it_was"
path = "tests/a_replaced_file_stays_the_file_it_was.rs"
[[test]]
name = "a_reset_reaches_a_flattened_part"
path = "tests/a_reset_reaches_a_flattened_part.rs"
[[test]]
name = "a_retired_prefix_stops_reporting_drift"
path = "tests/a_retired_prefix_stops_reporting_drift.rs"
[[test]]
name = "a_root_struct_lays_its_fields_at_the_top"
path = "tests/a_root_struct_lays_its_fields_at_the_top.rs"
[[test]]
name = "a_root_struct_migrates"
path = "tests/a_root_struct_migrates.rs"
[[test]]
name = "a_save_stopped_between_its_two_files"
path = "tests/a_save_stopped_between_its_two_files.rs"
[[test]]
name = "a_scan_says_the_same_on_every_engine"
path = "tests/a_scan_says_the_same_on_every_engine.rs"
[[test]]
name = "a_signal_ends_on_what_it_holds"
path = "tests/a_signal_ends_on_what_it_holds.rs"
[[test]]
name = "a_snapshot_carries_its_own_name"
path = "tests/a_snapshot_carries_its_own_name.rs"
[[test]]
name = "a_some_holding_nothing"
path = "tests/a_some_holding_nothing.rs"
[[test]]
name = "a_step_reading_its_neighbours_key_sees_it_migrated"
path = "tests/a_step_reading_its_neighbours_key_sees_it_migrated.rs"
[[test]]
name = "a_step_that_reaches_orders_itself"
path = "tests/a_step_that_reaches_orders_itself.rs"
[[test]]
name = "a_store_in_development_lets_go_of_what_nothing_declares"
path = "tests/a_store_in_development_lets_go_of_what_nothing_declares.rs"
[[test]]
name = "a_store_opened_as_another_engine"
path = "tests/a_store_opened_as_another_engine.rs"
[[test]]
name = "a_store_recovered_from_its_copy"
path = "tests/a_store_recovered_from_its_copy.rs"
[[test]]
name = "a_store_that_answers_for_the_undeclared"
path = "tests/a_store_that_answers_for_the_undeclared.rs"
[[test]]
name = "a_store_that_falls_back_to_memory"
path = "tests/a_store_that_falls_back_to_memory.rs"
[[test]]
name = "a_store_that_moved"
path = "tests/a_store_that_moved.rs"
[[test]]
name = "a_store_that_will_not_open"
path = "tests/a_store_that_will_not_open.rs"
[[test]]
name = "a_stream_ends_with_what_it_watches"
path = "tests/a_stream_ends_with_what_it_watches.rs"
[[test]]
name = "a_struct_given_an_id_reports_what_its_old_line_left"
path = "tests/a_struct_given_an_id_reports_what_its_old_line_left.rs"
[[test]]
name = "a_struct_that_opens_its_own_way"
path = "tests/a_struct_that_opens_its_own_way.rs"
[[test]]
name = "a_subscriber_that_panics_off_the_callers_thread"
path = "tests/a_subscriber_that_panics_off_the_callers_thread.rs"
[[test]]
name = "a_tree_only_the_record_declares_is_read_as_a_tree"
path = "tests/a_tree_only_the_record_declares_is_read_as_a_tree.rs"
[[test]]
name = "a_value_type_does_not_decide_what_an_entry_is"
path = "tests/a_value_type_does_not_decide_what_an_entry_is.rs"
[[test]]
name = "a_value_where_a_declaration_lives_under_it"
path = "tests/a_value_where_a_declaration_lives_under_it.rs"
[[test]]
name = "a_withdrawn_field_takes_only_its_own_key"
path = "tests/a_withdrawn_field_takes_only_its_own_key.rs"
[[test]]
name = "absent_or_null"
path = "tests/absent_or_null.rs"
[[test]]
name = "an_awaited_durable_write_resolves"
path = "tests/an_awaited_durable_write_resolves.rs"
[[test]]
name = "an_awaited_save_or_close"
path = "tests/an_awaited_save_or_close.rs"
[[test]]
name = "an_edit_down_a_declared_tree_reaches_its_field"
path = "tests/an_edit_down_a_declared_tree_reaches_its_field.rs"
[[test]]
name = "an_entry_a_step_drops_from_a_map_is_gone"
path = "tests/an_entry_a_step_drops_from_a_map_is_gone.rs"
[[test]]
name = "an_enum_survives_a_round_trip"
path = "tests/an_enum_survives_a_round_trip.rs"
[[test]]
name = "an_error_raised_through_anyhow"
path = "tests/an_error_raised_through_anyhow.rs"
[[test]]
name = "an_open_is_not_undone_by_a_save_it_scheduled"
path = "tests/an_open_is_not_undone_by_a_save_it_scheduled.rs"
[[test]]
name = "an_open_is_not_undone_by_its_own_watcher"
path = "tests/an_open_is_not_undone_by_its_own_watcher.rs"
[[test]]
name = "an_open_stopped_between_its_two_files_runs_its_step_once"
path = "tests/an_open_stopped_between_its_two_files_runs_its_step_once.rs"
[[test]]
name = "another_store_opening_one_text_file"
path = "tests/another_store_opening_one_text_file.rs"
[[test]]
name = "as_root"
path = "tests/as_root.rs"
[[test]]
name = "atomic_write"
path = "tests/atomic_write.rs"
[[test]]
name = "atomicity_stress"
path = "tests/atomicity_stress.rs"
[[test]]
name = "backend_conformance"
path = "tests/backend_conformance.rs"
[[test]]
name = "book_durability"
path = "tests/book_durability.rs"
[[test]]
name = "book_errors"
path = "tests/book_errors.rs"
[[test]]
name = "book_fields"
path = "tests/book_fields.rs"
[[test]]
name = "book_kv"
path = "tests/book_kv.rs"
[[test]]
name = "book_migrations_custom"
path = "tests/book_migrations_custom.rs"
[[test]]
name = "book_migrations_manual"
path = "tests/book_migrations_manual.rs"
[[test]]
name = "book_quick_start"
path = "tests/book_quick_start.rs"
[[test]]
name = "book_reactive_cell"
path = "tests/book_reactive_cell.rs"
[[test]]
name = "book_reactive_map"
path = "tests/book_reactive_map.rs"
[[test]]
name = "book_readme"
path = "tests/book_readme.rs"
[[test]]
name = "book_serde"
path = "tests/book_serde.rs"
[[test]]
name = "book_store_claims"
path = "tests/book_store_claims.rs"
[[test]]
name = "book_store_config"
path = "tests/book_store_config.rs"
[[test]]
name = "book_store_files"
path = "tests/book_store_files.rs"
[[test]]
name = "book_store_global_fallible"
path = "tests/book_store_global_fallible.rs"
[[test]]
name = "book_store_global_migration"
path = "tests/book_store_global_migration.rs"
[[test]]
name = "book_store_global_open"
path = "tests/book_store_global_open.rs"
[[test]]
name = "book_store_global_reachable"
path = "tests/book_store_global_reachable.rs"
[[test]]
name = "book_store_limits"
path = "tests/book_store_limits.rs"
[[test]]
name = "book_store_opening"
path = "tests/book_store_opening.rs"
[[test]]
name = "book_subscriptions"
path = "tests/book_subscriptions.rs"
[[test]]
name = "clear_events"
path = "tests/clear_events.rs"
[[test]]
name = "close_racing_a_write"
path = "tests/close_racing_a_write.rs"
[[test]]
name = "closing_from_inside_a_callback"
path = "tests/closing_from_inside_a_callback.rs"
[[test]]
name = "compile_tests"
path = "tests/compile_tests.rs"
[[test]]
name = "debounce_loss"
path = "tests/debounce_loss.rs"
[[test]]
name = "debug_repr"
path = "tests/debug_repr.rs"
[[test]]
name = "delete_prefix_dotted_keys"
path = "tests/delete_prefix_dotted_keys.rs"
[[test]]
name = "depth_is_refused_before_it_is_written"
path = "tests/depth_is_refused_before_it_is_written.rs"
[[test]]
name = "drift_holds_back_one_declaration"
path = "tests/drift_holds_back_one_declaration.rs"
[[test]]
name = "drift_is_not_reported_where_a_compiled_step_waits"
path = "tests/drift_is_not_reported_where_a_compiled_step_waits.rs"
[[test]]
name = "drift_is_not_reported_where_a_step_runs"
path = "tests/drift_is_not_reported_where_a_step_runs.rs"
[[test]]
name = "drift_is_reported"
path = "tests/drift_is_reported.rs"
[[test]]
name = "drift_is_reported_at_every_prefix_without_a_step"
path = "tests/drift_is_reported_at_every_prefix_without_a_step.rs"
[[test]]
name = "drift_without_a_step"
path = "tests/drift_without_a_step.rs"
[[test]]
name = "durability_crash"
path = "tests/durability_crash.rs"
[[test]]
name = "durable_write_after_a_close"
path = "tests/durable_write_after_a_close.rs"
[[test]]
name = "empty_path_is_the_root"
path = "tests/empty_path_is_the_root.rs"
[[test]]
name = "entry_cell"
path = "tests/entry_cell.rs"
[[test]]
name = "error_reports"
path = "tests/error_reports.rs"
[[test]]
name = "errors_are_not_swallowed"
path = "tests/errors_are_not_swallowed.rs"
[[test]]
name = "every_place_moved_by_a_step_leaves_no_old_declaration_standing"
path = "tests/every_place_moved_by_a_step_leaves_no_old_declaration_standing.rs"
[[test]]
name = "failed_migration_snapshot"
path = "tests/failed_migration_snapshot.rs"
[[test]]
name = "field_delete"
path = "tests/field_delete.rs"
[[test]]
name = "field_order_is_load_bearing"
path = "tests/field_order_is_load_bearing.rs"
[[test]]
name = "field_rule"
path = "tests/field_rule.rs"
[[test]]
name = "field_shape"
path = "tests/field_shape.rs"
[[test]]
name = "format_facts"
path = "tests/format_facts.rs"
[[test]]
name = "identical_writes"
path = "tests/identical_writes.rs"
[[test]]
name = "init_flag_buffering"
path = "tests/init_flag_buffering.rs"
[[test]]
name = "instance_registry"
path = "tests/instance_registry.rs"
[[test]]
name = "interceptors"
path = "tests/interceptors.rs"
[[test]]
name = "kv"
path = "tests/kv.rs"
[[test]]
name = "kv_clear"
path = "tests/kv_clear.rs"
[[test]]
name = "kv_guard_root"
path = "tests/kv_guard_root.rs"
[[test]]
name = "kv_refuses_a_level_a_declared_field_lives_on"
path = "tests/kv_refuses_a_level_a_declared_field_lives_on.rs"
[[test]]
name = "kv_refuses_a_level_a_declared_prefix_lives_on"
path = "tests/kv_refuses_a_level_a_declared_prefix_lives_on.rs"
[[test]]
name = "letting_go_leaves_the_root_alone"
path = "tests/letting_go_leaves_the_root_alone.rs"
[[test]]
name = "letting_go_waits_for_a_failed_step"
path = "tests/letting_go_waits_for_a_failed_step.rs"
[[test]]
name = "letting_go_waits_for_the_steps"
path = "tests/letting_go_waits_for_the_steps.rs"
[[test]]
name = "letting_go_without_a_step_in_the_build"
path = "tests/letting_go_without_a_step_in_the_build.rs"
[[test]]
name = "looking_at_a_struct"
path = "tests/looking_at_a_struct.rs"
[[test]]
name = "map_defaults"
path = "tests/map_defaults.rs"
[[test]]
name = "map_delete_prefix_notify"
path = "tests/map_delete_prefix_notify.rs"
[[test]]
name = "map_dotted_keys"
path = "tests/map_dotted_keys.rs"
[[test]]
name = "map_order"
path = "tests/map_order.rs"
[[test]]
name = "map_walk"
path = "tests/map_walk.rs"
[[test]]
name = "migration"
path = "tests/migration.rs"
[[test]]
name = "migration_builder"
path = "tests/migration_builder.rs"
[[test]]
name = "migration_cleanup_composite"
path = "tests/migration_cleanup_composite.rs"
[[test]]
name = "migration_complex"
path = "tests/migration_complex.rs"
[[test]]
name = "migration_explicit"
path = "tests/migration_explicit.rs"
[[test]]
name = "migration_provided"
path = "tests/migration_provided.rs"
[[test]]
name = "migration_reactive_map"
path = "tests/migration_reactive_map.rs"
[[test]]
name = "migration_with_ephemeral"
path = "tests/migration_with_ephemeral.rs"
[[test]]
name = "nested_reactive_map"
path = "tests/nested_reactive_map.rs"
[[test]]
name = "nested_read_policy"
path = "tests/nested_read_policy.rs"
[[test]]
name = "non_finite_float"
path = "tests/non_finite_float.rs"
[[test]]
name = "observability_tracing"
path = "tests/observability_tracing.rs"
[[test]]
name = "old_value"
path = "tests/old_value.rs"
[[test]]
name = "one_declaration_compiled_twice_opens"
path = "tests/one_declaration_compiled_twice_opens.rs"
[[test]]
name = "one_field_name_at_two_prefixes_is_two_places"
path = "tests/one_field_name_at_two_prefixes_is_two_places.rs"
[[test]]
name = "one_import_is_enough"
path = "tests/one_import_is_enough.rs"
[[test]]
name = "parallel_reads"
path = "tests/parallel_reads.rs"
[[test]]
name = "persistent_only"
path = "tests/persistent_only.rs"
[[test]]
name = "prefix_boundary"
path = "tests/prefix_boundary.rs"
[[test]]
name = "prefix_overlap"
path = "tests/prefix_overlap.rs"
[[test]]
name = "prefix_path"
path = "tests/prefix_path.rs"
[[test]]
name = "probe_json"
path = "tests/probe_json.rs"
[[test]]
name = "probe_redb"
path = "tests/probe_redb.rs"
[[test]]
name = "probe_ron"
path = "tests/probe_ron.rs"
[[test]]
name = "probe_serde_attributes"
path = "tests/probe_serde_attributes.rs"
[[test]]
name = "probe_sqlite"
path = "tests/probe_sqlite.rs"
[[test]]
name = "probe_toml"
path = "tests/probe_toml.rs"
[[test]]
name = "reactive_map_defaults"
path = "tests/reactive_map_defaults.rs"
[[test]]
name = "reentrancy"
path = "tests/reentrancy.rs"
[[test]]
name = "scan_keys_of_a_leaf"
path = "tests/scan_keys_of_a_leaf.rs"
[[test]]
name = "scan_stops_at_the_level_boundary"
path = "tests/scan_stops_at_the_level_boundary.rs"
[[test]]
name = "serializer_damage"
path = "tests/serializer_damage.rs"
[[test]]
name = "set_durable"
path = "tests/set_durable.rs"
[[test]]
name = "shape_on_disk"
path = "tests/shape_on_disk.rs"
[[test]]
name = "shutdown_closes_the_global_store"
path = "tests/shutdown_closes_the_global_store.rs"
[[test]]
name = "slice_subscription"
path = "tests/slice_subscription.rs"
[[test]]
name = "snapshot_per_prefix"
path = "tests/snapshot_per_prefix.rs"
[[test]]
name = "sqlite_floor"
path = "tests/sqlite_floor.rs"
[[test]]
name = "store_tests"
path = "tests/store_tests.rs"
[[test]]
name = "struct_delete_policy"
path = "tests/struct_delete_policy.rs"
[[test]]
name = "struct_read_policy"
path = "tests/struct_read_policy.rs"
[[test]]
name = "tamper_broken_file"
path = "tests/tamper_broken_file.rs"
[[test]]
name = "tamper_dot_sentinel"
path = "tests/tamper_dot_sentinel.rs"
[[test]]
name = "tamper_engine_contrast"
path = "tests/tamper_engine_contrast.rs"
[[test]]
name = "tamper_live"
path = "tests/tamper_live.rs"
[[test]]
name = "tamper_meta"
path = "tests/tamper_meta.rs"
[[test]]
name = "tamper_names"
path = "tests/tamper_names.rs"
[[test]]
name = "tamper_shapes"
path = "tests/tamper_shapes.rs"
[[test]]
name = "tamper_toml_inline"
path = "tests/tamper_toml_inline.rs"
[[test]]
name = "the_two_shapes_a_declaration_takes"
path = "tests/the_two_shapes_a_declaration_takes.rs"
[[test]]
name = "torn_recovery"
path = "tests/torn_recovery.rs"
[[test]]
name = "two_lines_owning_one_place_are_refused"
path = "tests/two_lines_owning_one_place_are_refused.rs"
[[test]]
name = "two_steps_to_one_version_are_not_one_quietly"
path = "tests/two_steps_to_one_version_are_not_one_quietly.rs"
[[test]]
name = "two_stores_reactivity"
path = "tests/two_stores_reactivity.rs"
[[test]]
name = "two_stores_side_by_side_keep_their_own_bookkeeping"
path = "tests/two_stores_side_by_side_keep_their_own_bookkeeping.rs"
[[test]]
name = "two_structs_on_one_prefix_migrate_each_on_its_own"
path = "tests/two_structs_on_one_prefix_migrate_each_on_its_own.rs"
[[test]]
name = "two_structs_on_one_prefix_without_an_id_are_refused"
path = "tests/two_structs_on_one_prefix_without_an_id_are_refused.rs"
[[test]]
name = "watch_builder"
path = "tests/watch_builder.rs"
[[test]]
name = "watcher_race"
path = "tests/watcher_race.rs"
[[test]]
name = "watcher_wiring"
path = "tests/watcher_wiring.rs"
[[test]]
name = "what_a_read_can_fail_with"
path = "tests/what_a_read_can_fail_with.rs"
[[test]]
name = "what_a_step_can_fail_with"
path = "tests/what_a_step_can_fail_with.rs"
[[test]]
name = "what_a_write_can_fail_with"
path = "tests/what_a_write_can_fail_with.rs"
[[test]]
name = "what_an_open_can_fail_with"
path = "tests/what_an_open_can_fail_with.rs"
[[test]]
name = "what_each_engine_carries"
path = "tests/what_each_engine_carries.rs"
[[test]]
name = "what_this_binary_declares"
path = "tests/what_this_binary_declares.rs"
[[bench]]
name = "cell_dispatch_bench"
path = "benches/cell_dispatch_bench.rs"
harness = false
[[bench]]
name = "map_cache_shape"
path = "benches/map_cache_shape.rs"
harness = false
[[bench]]
name = "map_snapshot_bench"
path = "benches/map_snapshot_bench.rs"
harness = false
[[bench]]
name = "map_snapshot_memory"
path = "benches/map_snapshot_memory.rs"
harness = false
[[bench]]
name = "reactive_map_bench"
path = "benches/reactive_map_bench.rs"
harness = false
[[bench]]
name = "scan_merge_bench"
path = "benches/scan_merge_bench.rs"
harness = false
required-features = [
"bench-internals",
"redb",
]
[[bench]]
name = "signal_arc_bench"
path = "benches/signal_arc_bench.rs"
harness = false
[[bench]]
name = "store_bench"
path = "benches/store_bench.rs"
harness = false
[[bench]]
name = "text_document_bench"
path = "benches/text_document_bench.rs"
harness = false
required-features = [
"bench-internals",
"json",
]
[dependencies.amethystate-core]
version = "0.23.2"
[dependencies.amethystate-macros]
version = "0.23.2"
[dependencies.amethystate-tauri]
version = "0.23.2"
optional = true
[dependencies.arc-swap]
version = "1.9.1"
optional = true
[dependencies.dashmap]
version = "6.1"
[dependencies.directories]
version = "6.0.0"
[dependencies.erased-serde]
version = "0.4"
[dependencies.error-stack]
version = "0.8.0"
[dependencies.etcetera]
version = "0.11.0"
[dependencies.futures-core]
version = "0.3.34"
[dependencies.indexmap]
version = "2.14.0"
features = ["serde"]
[dependencies.inventory]
version = "0.3.24"
[dependencies.miette]
version = "7.6.0"
optional = true
[dependencies.notify]
version = "=9.0.0-rc.5"
optional = true
[dependencies.parking_lot]
version = "0.12.5"
features = ["arc_lock"]
[dependencies.rayon]
version = "1.12.0"
[dependencies.redb]
version = "4.0"
optional = true
[dependencies.rmp-serde]
version = "1.3.1"
optional = true
[dependencies.ron]
version = "0.12.1"
optional = true
[dependencies.rusqlite]
version = "0.39.0"
optional = true
[dependencies.serde]
version = "1.0.228"
features = ["derive"]
[dependencies.serde_json]
version = "1.0.149"
features = ["preserve_order"]
[dependencies.sonic-rs]
version = "0.5.8"
optional = true
[dependencies.tempfile]
version = "3.27.0"
optional = true
[dependencies.thiserror]
version = "2.0.18"
[dependencies.toml_edit]
version = "0.25.12"
features = ["serde"]
optional = true
[dependencies.tracing]
version = "0.1.44"
[dependencies.uuid]
version = "1.0"
features = ["v4"]
[dependencies.wasm-bindgen]
version = "0.2.125"
optional = true
[dependencies.web-sys]
version = "0.3.102"
features = [
"Window",
"Storage",
"StorageEvent",
"EventTarget",
"Event",
]
optional = true
[dependencies.xxhash-rust]
version = "0.8"
features = ["xxh3"]
[dev-dependencies.amethystate-core]
version = "0.23.2"
features = [
"test-utils",
"proptest-strategies",
]
[dev-dependencies.anyhow]
version = "1.0"
[dev-dependencies.dashmap]
version = "6.1"
[dev-dependencies.futures]
version = "0.3.32"
[dev-dependencies.im]
version = "15.1.0"
[dev-dependencies.proptest]
version = "1.11.0"
features = [
"std",
"bit-set",
]
default-features = false
[dev-dependencies.rand]
version = "0.10.1"
[dev-dependencies.rayon]
version = "1.12.0"
[dev-dependencies.rmp-serde]
version = "1.3.1"
[dev-dependencies.rpds]
version = "1.2.1"
[dev-dependencies.serde]
version = "1.0.228"
features = ["derive"]
[dev-dependencies.serde_json]
version = "1.0.149"
[dev-dependencies.serial_test]
version = "3.5.0"
[dev-dependencies.smol_str]
version = "0.3.6"
[target.'cfg(all(target_arch = "wasm32", target_os = "unknown"))'.dependencies.js-sys]
version = "0.3.102"
[target.'cfg(not(target_arch = "wasm32"))'.dev-dependencies.criterion]
version = "0.8.2"
[target.'cfg(not(target_arch = "wasm32"))'.dev-dependencies.dhat]
version = "0.3"
[target.'cfg(not(target_arch = "wasm32"))'.dev-dependencies.trybuild]
version = "1.0"
[target.'cfg(target_arch = "wasm32")'.dependencies.uuid]
version = "1.0"
features = [
"v4",
"js",
"serde",
]
[target.'cfg(target_arch = "wasm32")'.dev-dependencies.getrandom-03]
version = "0.3"
features = ["wasm_js"]
package = "getrandom"
[target.'cfg(target_arch = "wasm32")'.dev-dependencies.getrandom-04]
version = "0.4"
features = ["wasm_js"]
package = "getrandom"
[target.'cfg(target_arch = "wasm32")'.dev-dependencies.wasm-bindgen]
version = "0.2.125"
[target.'cfg(target_arch = "wasm32")'.dev-dependencies.wasm-bindgen-futures]
version = "0.4.72"
[target.'cfg(target_arch = "wasm32")'.dev-dependencies.wasm-bindgen-test]
version = "0.3"
[target.'cfg(target_arch = "wasm32")'.dev-dependencies.web-sys]
version = "0.3.102"
features = [
"Window",
"Storage",
"StorageEvent",
"StorageEventInit",
"EventTarget",
"Event",
]