├── .envrc ├── .github ├── DOCS.md ├── codecov.yml ├── dependabot.yml ├── scripts │ └── install_iai_callgrind_runner.sh └── workflows │ ├── check.yml │ ├── scheduled.yml │ └── test.yml ├── .gitignore ├── CHANGELOG.md ├── Cargo.toml ├── LICENSE-APACHE ├── LICENSE-MIT ├── README.md ├── benches ├── iai.rs ├── nested_transactions.rs └── tango.rs ├── examples ├── conflicts.rs ├── nested_transactions.rs ├── simple.rs ├── transaction_basic.rs ├── transaction_conflicts.rs ├── transaction_nested.rs └── transaction_sync.rs ├── flake.lock ├── flake.nix ├── src ├── api.rs ├── api │ ├── array.rs │ ├── map.rs │ ├── register.rs │ └── timestamp.rs ├── causal_context.rs ├── causal_context │ └── interval.rs ├── crdts.rs ├── crdts │ ├── mvreg.rs │ ├── orarray.rs │ ├── orarray │ │ └── position.rs │ ├── ormap.rs │ ├── snapshot.rs │ ├── test_util.rs │ └── test_util │ │ ├── arbitrary_delta_impls.rs │ │ ├── arbitrary_delta_impls │ │ ├── mvreg.rs │ │ ├── orarray.rs │ │ └── ormap.rs │ │ ├── qc_arbitrary_impls.rs │ │ └── qc_arbitrary_ops.rs ├── datetime_literal.rs ├── dotstores.rs ├── dotstores │ └── recording_sentinel.rs ├── either.rs ├── json.rs ├── lib.rs ├── macros.rs ├── sentinel.rs ├── snapshots │ ├── dson__macros__tests__crdt_map_literal_macro.snap │ ├── dson__macros__tests__crdt_map_literal_macro_array.snap │ └── dson__macros__tests__crdt_map_store_macro.snap └── transaction │ ├── array_transaction.rs │ ├── conflicted.rs │ ├── crdt_value.rs │ ├── delta.rs │ ├── map_transaction.rs │ └── mod.rs └── tests ├── nested_transactions.rs ├── transaction_api.rs └── transaction_rollback.rs /.envrc: -------------------------------------------------------------------------------- 1 | watch_file config.nix 2 | use flake 3 | -------------------------------------------------------------------------------- /.github/DOCS.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/helsing-ai/dson/HEAD/.github/DOCS.md -------------------------------------------------------------------------------- /.github/codecov.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/helsing-ai/dson/HEAD/.github/codecov.yml -------------------------------------------------------------------------------- /.github/dependabot.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/helsing-ai/dson/HEAD/.github/dependabot.yml -------------------------------------------------------------------------------- /.github/scripts/install_iai_callgrind_runner.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/helsing-ai/dson/HEAD/.github/scripts/install_iai_callgrind_runner.sh -------------------------------------------------------------------------------- /.github/workflows/check.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/helsing-ai/dson/HEAD/.github/workflows/check.yml -------------------------------------------------------------------------------- /.github/workflows/scheduled.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/helsing-ai/dson/HEAD/.github/workflows/scheduled.yml -------------------------------------------------------------------------------- /.github/workflows/test.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/helsing-ai/dson/HEAD/.github/workflows/test.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/helsing-ai/dson/HEAD/.gitignore -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/helsing-ai/dson/HEAD/CHANGELOG.md -------------------------------------------------------------------------------- /Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/helsing-ai/dson/HEAD/Cargo.toml -------------------------------------------------------------------------------- /LICENSE-APACHE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/helsing-ai/dson/HEAD/LICENSE-APACHE -------------------------------------------------------------------------------- /LICENSE-MIT: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/helsing-ai/dson/HEAD/LICENSE-MIT -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/helsing-ai/dson/HEAD/README.md -------------------------------------------------------------------------------- /benches/iai.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/helsing-ai/dson/HEAD/benches/iai.rs -------------------------------------------------------------------------------- /benches/nested_transactions.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/helsing-ai/dson/HEAD/benches/nested_transactions.rs -------------------------------------------------------------------------------- /benches/tango.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/helsing-ai/dson/HEAD/benches/tango.rs -------------------------------------------------------------------------------- /examples/conflicts.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/helsing-ai/dson/HEAD/examples/conflicts.rs -------------------------------------------------------------------------------- /examples/nested_transactions.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/helsing-ai/dson/HEAD/examples/nested_transactions.rs -------------------------------------------------------------------------------- /examples/simple.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/helsing-ai/dson/HEAD/examples/simple.rs -------------------------------------------------------------------------------- /examples/transaction_basic.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/helsing-ai/dson/HEAD/examples/transaction_basic.rs -------------------------------------------------------------------------------- /examples/transaction_conflicts.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/helsing-ai/dson/HEAD/examples/transaction_conflicts.rs -------------------------------------------------------------------------------- /examples/transaction_nested.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/helsing-ai/dson/HEAD/examples/transaction_nested.rs -------------------------------------------------------------------------------- /examples/transaction_sync.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/helsing-ai/dson/HEAD/examples/transaction_sync.rs -------------------------------------------------------------------------------- /flake.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/helsing-ai/dson/HEAD/flake.lock -------------------------------------------------------------------------------- /flake.nix: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/helsing-ai/dson/HEAD/flake.nix -------------------------------------------------------------------------------- /src/api.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/helsing-ai/dson/HEAD/src/api.rs -------------------------------------------------------------------------------- /src/api/array.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/helsing-ai/dson/HEAD/src/api/array.rs -------------------------------------------------------------------------------- /src/api/map.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/helsing-ai/dson/HEAD/src/api/map.rs -------------------------------------------------------------------------------- /src/api/register.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/helsing-ai/dson/HEAD/src/api/register.rs -------------------------------------------------------------------------------- /src/api/timestamp.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/helsing-ai/dson/HEAD/src/api/timestamp.rs -------------------------------------------------------------------------------- /src/causal_context.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/helsing-ai/dson/HEAD/src/causal_context.rs -------------------------------------------------------------------------------- /src/causal_context/interval.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/helsing-ai/dson/HEAD/src/causal_context/interval.rs -------------------------------------------------------------------------------- /src/crdts.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/helsing-ai/dson/HEAD/src/crdts.rs -------------------------------------------------------------------------------- /src/crdts/mvreg.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/helsing-ai/dson/HEAD/src/crdts/mvreg.rs -------------------------------------------------------------------------------- /src/crdts/orarray.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/helsing-ai/dson/HEAD/src/crdts/orarray.rs -------------------------------------------------------------------------------- /src/crdts/orarray/position.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/helsing-ai/dson/HEAD/src/crdts/orarray/position.rs -------------------------------------------------------------------------------- /src/crdts/ormap.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/helsing-ai/dson/HEAD/src/crdts/ormap.rs -------------------------------------------------------------------------------- /src/crdts/snapshot.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/helsing-ai/dson/HEAD/src/crdts/snapshot.rs -------------------------------------------------------------------------------- /src/crdts/test_util.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/helsing-ai/dson/HEAD/src/crdts/test_util.rs -------------------------------------------------------------------------------- /src/crdts/test_util/arbitrary_delta_impls.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/helsing-ai/dson/HEAD/src/crdts/test_util/arbitrary_delta_impls.rs -------------------------------------------------------------------------------- /src/crdts/test_util/arbitrary_delta_impls/mvreg.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/helsing-ai/dson/HEAD/src/crdts/test_util/arbitrary_delta_impls/mvreg.rs -------------------------------------------------------------------------------- /src/crdts/test_util/arbitrary_delta_impls/orarray.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/helsing-ai/dson/HEAD/src/crdts/test_util/arbitrary_delta_impls/orarray.rs -------------------------------------------------------------------------------- /src/crdts/test_util/arbitrary_delta_impls/ormap.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/helsing-ai/dson/HEAD/src/crdts/test_util/arbitrary_delta_impls/ormap.rs -------------------------------------------------------------------------------- /src/crdts/test_util/qc_arbitrary_impls.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/helsing-ai/dson/HEAD/src/crdts/test_util/qc_arbitrary_impls.rs -------------------------------------------------------------------------------- /src/crdts/test_util/qc_arbitrary_ops.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/helsing-ai/dson/HEAD/src/crdts/test_util/qc_arbitrary_ops.rs -------------------------------------------------------------------------------- /src/datetime_literal.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/helsing-ai/dson/HEAD/src/datetime_literal.rs -------------------------------------------------------------------------------- /src/dotstores.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/helsing-ai/dson/HEAD/src/dotstores.rs -------------------------------------------------------------------------------- /src/dotstores/recording_sentinel.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/helsing-ai/dson/HEAD/src/dotstores/recording_sentinel.rs -------------------------------------------------------------------------------- /src/either.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/helsing-ai/dson/HEAD/src/either.rs -------------------------------------------------------------------------------- /src/json.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/helsing-ai/dson/HEAD/src/json.rs -------------------------------------------------------------------------------- /src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/helsing-ai/dson/HEAD/src/lib.rs -------------------------------------------------------------------------------- /src/macros.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/helsing-ai/dson/HEAD/src/macros.rs -------------------------------------------------------------------------------- /src/sentinel.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/helsing-ai/dson/HEAD/src/sentinel.rs -------------------------------------------------------------------------------- /src/snapshots/dson__macros__tests__crdt_map_literal_macro.snap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/helsing-ai/dson/HEAD/src/snapshots/dson__macros__tests__crdt_map_literal_macro.snap -------------------------------------------------------------------------------- /src/snapshots/dson__macros__tests__crdt_map_literal_macro_array.snap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/helsing-ai/dson/HEAD/src/snapshots/dson__macros__tests__crdt_map_literal_macro_array.snap -------------------------------------------------------------------------------- /src/snapshots/dson__macros__tests__crdt_map_store_macro.snap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/helsing-ai/dson/HEAD/src/snapshots/dson__macros__tests__crdt_map_store_macro.snap -------------------------------------------------------------------------------- /src/transaction/array_transaction.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/helsing-ai/dson/HEAD/src/transaction/array_transaction.rs -------------------------------------------------------------------------------- /src/transaction/conflicted.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/helsing-ai/dson/HEAD/src/transaction/conflicted.rs -------------------------------------------------------------------------------- /src/transaction/crdt_value.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/helsing-ai/dson/HEAD/src/transaction/crdt_value.rs -------------------------------------------------------------------------------- /src/transaction/delta.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/helsing-ai/dson/HEAD/src/transaction/delta.rs -------------------------------------------------------------------------------- /src/transaction/map_transaction.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/helsing-ai/dson/HEAD/src/transaction/map_transaction.rs -------------------------------------------------------------------------------- /src/transaction/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/helsing-ai/dson/HEAD/src/transaction/mod.rs -------------------------------------------------------------------------------- /tests/nested_transactions.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/helsing-ai/dson/HEAD/tests/nested_transactions.rs -------------------------------------------------------------------------------- /tests/transaction_api.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/helsing-ai/dson/HEAD/tests/transaction_api.rs -------------------------------------------------------------------------------- /tests/transaction_rollback.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/helsing-ai/dson/HEAD/tests/transaction_rollback.rs --------------------------------------------------------------------------------