#json #serde-json #storage #serde #locus #rust-serde

locus-lib

A simple, cross-platform, json file-based storage for Rust

1 stable release

1.0.0 May 14, 2023

#1595 in Encoding

MIT license

7KB
86 lines

Locus

Locus is a simple, light, library for helping in storing JSON data from objects in Rust. It aims to better handle and manage how data is stored and retrieved from JSON files. This library is strongly recommended to be used with CLI tools as it will help in storing data in a more efficient way and get rid of the need to write a lot of boilerplate code.

Run tests

To run tests:

cargo test

To run the documentation:

cargo doc --open

Usage

Add this to your Cargo.toml:

[dependencies]
locus = "0.1.0"

Example

Short and sweet example on how to implement the traits on your struct:

/// The struct needs to implement serde_json Serialize and Deserialize
#[derive(Serialize, Deserialize)]
struct TestObj {
    name: String,
}

/// The struct needs to implement Storable and Jsonable
impl StoragePath for TestObj {
    fn storage_file_name() -> &'static str {
        "test.json"
    }

    fn storage_dir_name() -> &'static str {
        ".locus"
    }
}

impl Storable for TestObj {}
impl Jsonable for TestObj {}

Dependencies

~0.7–11MB
~78K SLoC