use sim_kernel::{Cx, Result, Symbol, Value};
use crate::{CitizenInfo, parse_symbol};
pub fn citizen_card(cx: &mut Cx, info: &CitizenInfo) -> Result<Value> {
cx.factory().table(vec![
(
Symbol::new("symbol"),
cx.factory().symbol(parse_symbol(info.symbol))?,
),
(
Symbol::new("version"),
cx.factory()
.number_literal(parse_symbol("citizen/int"), info.version.to_string())?,
),
(
Symbol::new("crate"),
cx.factory().string(info.crate_name.to_owned())?,
),
(
Symbol::new("arity"),
cx.factory()
.number_literal(parse_symbol("citizen/int"), info.arity.to_string())?,
),
])
}