Macro janetrs::table

source ·
macro_rules! table {
    () => { ... };
    ($($key:expr => $value:expr),* $(,)?) => { ... };
}
Expand description

Creates a JanetTable containing the arguments key-value pairs.

table! allows JanetTables to be defined with a syntax that have key-value pairs as the items of the struct.

use janetrs::{table, Janet};

let table = table! {
    1 => "one",
    true => 1,
};

assert_eq!(table.len(), 2);
assert_eq!(table.get(1), Some(&Janet::from("one")));
assert_eq!(table.get(true), Some(&Janet::integer(1)));

Note that this macro builds the struct converting the passed elements to Janet using the From trait, so if you want for a type defined by you to be used in this macro, implement the From trait to convert from you type to Janet or transform to Janet beforehand.