gleam-spacetraders-sdk/src/models/ship_nav_status.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

31 lines
652 B
Gleam

import gleam/dynamic/decode.{type Decoder}
import utils/decode as decode_utils
pub type ShipNavStatus {
InTransit
InOrbit
Docked
}
pub fn to_string(ship_nav_status: ShipNavStatus) -> String {
case ship_nav_status {
InTransit -> "IN_TRANSIT"
InOrbit -> "IN_ORBIT"
Docked -> "DOCKED"
}
}
pub fn parse(
ship_nav_status_str: String,
) -> Result(ShipNavStatus, ShipNavStatus) {
case ship_nav_status_str {
"IN_TRANSIT" -> Ok(InTransit)
"IN_ORBIT" -> Ok(InOrbit)
"DOCKED" -> Ok(Docked)
_ -> Error(InTransit)
}
}
pub fn decoder() -> Decoder(ShipNavStatus) {
decode_utils.enum_decoder(parse, "ShipNavStatus")
}