gleam-spacetraders-sdk/src/models/refinement_produce.gleam
Lily Rose cc8edbed02
Some checks are pending
test / test (push) Waiting to run
Add functioning sdk
2025-06-17 01:43:06 +10:00

49 lines
1,018 B
Gleam

import gleam/dynamic/decode.{type Decoder}
import utils/decode as decode_utils
pub type RefinementProduce {
Iron
Copper
Silver
Gold
Aluminum
Platinum
Uranite
Meritium
Fuel
}
pub fn to_string(refinement_produce: RefinementProduce) -> String {
case refinement_produce {
Iron -> "IRON"
Copper -> "COPPER"
Silver -> "SILVER"
Gold -> "GOLD"
Aluminum -> "ALUMINUM"
Platinum -> "PLATINUM"
Uranite -> "URANITE"
Meritium -> "MERITIUM"
Fuel -> "FUEL"
}
}
pub fn parse(
refinement_produce_str: String,
) -> Result(RefinementProduce, RefinementProduce) {
case refinement_produce_str {
"IRON" -> Ok(Iron)
"COPPER" -> Ok(Copper)
"SILVER" -> Ok(Silver)
"GOLD" -> Ok(Gold)
"ALUMINUM" -> Ok(Aluminum)
"PLATINUM" -> Ok(Platinum)
"URANITE" -> Ok(Uranite)
"MERITIUM" -> Ok(Meritium)
"FUEL" -> Ok(Fuel)
_ -> Error(Iron)
}
}
pub fn decoder() -> Decoder(RefinementProduce) {
decode_utils.enum_decoder(parse, "RefinementProduce")
}