13 lines
523 B
Gleam
13 lines
523 B
Gleam
import gleam/dynamic/decode.{type Decoder}
|
|
import models/trade_symbol.{type TradeSymbol}
|
|
|
|
pub type ConstructionMaterial {
|
|
ConstructionMaterial(trade_symbol: TradeSymbol, required: Int, fulfilled: Int)
|
|
}
|
|
|
|
pub fn decoder() -> Decoder(ConstructionMaterial) {
|
|
use trade_symbol <- decode.field("tradeSymbol", trade_symbol.decoder())
|
|
use required <- decode.field("required", decode.int)
|
|
use fulfilled <- decode.field("fulfilled", decode.int)
|
|
decode.success(ConstructionMaterial(trade_symbol:, required:, fulfilled:))
|
|
}
|