Values

Values are immutable types that can hold a data of any of the following types; i64, f64, String, bool. The type of the data that a Value holds into its known as "the kind" of the Value. The kind of a value is set when a value is instantiated at compile time.

Values are used by both Properties and Attributes they can be transform from and into their supported kinds and can be represented as different types if required. For example, a Value of i64 kind can be represented as a float value if required, the Value makes the conversion safely and automatically for us.

Values can be used both in Alacrity's Rust and Lua APIs and can be passed from Rust to Lua and from Lua to Rust.

Overall, Value instances are a simple but essential building block of Alacrity's data model, allowing for flexible data representation.