gleam-spacetraders-sdk/src/models/ship_fuel.gleam
Lily Rose 64f3729d0c
Some checks are pending
test / test (push) Waiting to run
Refactoring and general tidying up
2025-06-17 19:04:29 +10:00

18 lines
572 B
Gleam

import gleam/dynamic/decode.{type Decoder}
import gleam/option.{type Option}
import models/ship_fuel_consumed.{type ShipFuelConsumed}
pub type ShipFuel {
ShipFuel(current: Int, capacity: Int, consumed: Option(ShipFuelConsumed))
}
pub fn decoder() -> Decoder(ShipFuel) {
use current <- decode.field("current", decode.int)
use capacity <- decode.field("capacity", decode.int)
use consumed <- decode.optional_field(
"consumed",
option.None,
decode.optional(ship_fuel_consumed.decoder()),
)
decode.success(ShipFuel(current:, capacity:, consumed:))
}