#hashmap #const #constants #compile-time #build

map-to-const

Easily convert HashMap<K, V> to constant [(K, V); N] values

2 unstable releases

Uses new Rust 2021

0.2.0 Mar 19, 2022
0.1.0 Mar 18, 2022

#92 in Build Utils

23 downloads per month

MIT license

13KB
123 lines

map-to-const

github crates.io docs.rs build status

Easily convert HashMap<K, V> to constant [(K, V); N] values.


This crate works with Cargo with a Cargo.toml like:

[dependencies]
map-to-const = "0.2"

Getting started

Add some usage to your application.

Here's an example of using map-to-const in code:

use map_to_const::*;
use std::collections::HashMap;

fn main() {
    // Create a HashMap in some manner. Ideally, this will be formatted
    // and returned in an API response or similar.
    let my_map = HashMap::from([("testing", "123"), ("hello", "world")]);

    let const_value = map_to_const(&my_map, "my const name");

    println!("{const_value}");
    // prints:
    //   const MY_CONST_NAME: [(&str, &str); 2] = [
    //       ("hello", "world"),
    //       ("testing", "123"),
    //   ];
    
    // later in code, construct the hashmap from the `const` slice:
    // let my_map = HashMap::from(MY_CONST_NAME);
}

Examples

You can check out sample usage of this crate in the examples/ folder in the project repo on GitHub.

Contributing

Contributions are welcome! Open a pull request to fix a bug, or open an issue to discuss a new feature or change.

Check out the Contributing section in the docs for more info.

License

This project is proudly licensed under the MIT license (LICENSE or http://opensource.org/licenses/MIT).

map-to-const can be distributed according to the MIT license. Contributions will be accepted under the same license.

Authors

No runtime deps