26 lines
674 B
Elm
26 lines
674 B
Elm
module Card exposing (..)
|
|
|
|
import Json.Decode
|
|
import Json.Decode.Pipeline as JDP
|
|
|
|
|
|
type alias Card =
|
|
{ scryfallId : String
|
|
, name : String
|
|
, setCode : String
|
|
, rarity : String
|
|
, oracleText : String
|
|
}
|
|
|
|
|
|
decode : Json.Decode.Decoder Card
|
|
decode =
|
|
Json.Decode.succeed Card
|
|
|> JDP.required "scryfall_id" Json.Decode.string
|
|
|> JDP.required "name" Json.Decode.string
|
|
|> JDP.required "set_code" Json.Decode.string
|
|
|> JDP.required "rarity" Json.Decode.string
|
|
|> JDP.required "oracle_text"
|
|
(Json.Decode.nullable Json.Decode.string
|
|
|> Json.Decode.map (Maybe.withDefault "")
|
|
)
|