prefstore

Crates.ioprefstore
lib.rsprefstore
version0.5.0
sourcesrc
created_at2023-03-16 14:41:58.063416
updated_at2023-04-10 10:51:55.9364
descriptionA rust crate to Easily store and retrieve preferences in rust.
homepagehttps://github.com/visnkmr/prefstore
repositoryhttps://github.com/visnkmr/prefstore
max_upload_size
id811566
size36,640
Vishnu N K (visnkmr)

documentation

README

prefstore

Crates.io Crates.io Crates.io

A rust crate to Easily store and retrieve preferences in rust.

Installation

Install the crate as a dependency in your app's Cargo.toml file:

[dependencies]
prefstore = "0.5.0"

Then you can use it in your code like this:

// Import prefstore
use prefstore::*;

fn main() {
    // Save value to disk using savepreference
    savepreference("MyApp", "name", "Alice");

    // Save value to disk using savecustom
    savecustom("MyApp", "age.txt", 25);

    // Save value to disk using appendcustom
    appendcustom("MyApp", "hobbies.txt", "reading");

    // Load value from disk using getpreference
    let name = getpreference("MyApp", "name", "Bob");
    println!("Name: {}", name);

    // Load value from disk using getcustom
    let age = getcustom("MyApp", "age.txt", 0);
    println!("Age: {}", age);

    // Load value from disk using getcustomwithnodefault
    let hobbies = getcustomwithnodefault("MyApp", "hobbies.txt");
    println!("Hobbies: {}", hobbies);

    // Delete preference file from disk using clearpreference
    clearpreference("MyApp", "name");

    // Delete preference file from disk using clearcustom
    clearcustom("MyApp", "age.txt");
}

Features

  • Supports any type that implements [Display] for values
  • Stores each preference in separate file, ensuring quick access and minimum disk read/write operations.
  • Provides methods for setting, getting, removing preferebces.
  • Provides methods for loading and saving preference from and to a file.
  • Provides methods for clearing.

License

This project is licensed under the MIT license. See the LICENSE file for more details.

Commit count: 49

cargo fmt