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

25 lines
608 B
Gleam

import gleam/dynamic/decode.{type Decoder}
import gleam/option.{type Option}
pub type ShipRequirements {
ShipRequirements(power: Option(Int), crew: Option(Int), slots: Option(Int))
}
pub fn decoder() -> Decoder(ShipRequirements) {
use power <- decode.optional_field(
"power",
option.None,
decode.optional(decode.int),
)
use crew <- decode.optional_field(
"crew",
option.None,
decode.optional(decode.int),
)
use slots <- decode.optional_field(
"slots",
option.None,
decode.optional(decode.int),
)
decode.success(ShipRequirements(power:, crew:, slots:))
}