summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'src/roster-editor/src/Struct/Portrait.elm')
-rw-r--r--src/roster-editor/src/Struct/Portrait.elm32
1 files changed, 30 insertions, 2 deletions
diff --git a/src/roster-editor/src/Struct/Portrait.elm b/src/roster-editor/src/Struct/Portrait.elm
index 809f732..125a416 100644
--- a/src/roster-editor/src/Struct/Portrait.elm
+++ b/src/roster-editor/src/Struct/Portrait.elm
@@ -2,13 +2,19 @@ module Struct.Portrait exposing
(
Type,
Ref,
- none
+ none,
+ get_id,
+ get_name,
+ get_body_id,
+ get_icon_id,
+ decoder
)
-- Elm -------------------------------------------------------------------------
+import Json.Decode
+import Json.Decode.Pipeline
-- Roster Editor ---------------------------------------------------------------
-import Struct.Omnimods
--------------------------------------------------------------------------------
-- TYPES -----------------------------------------------------------------------
@@ -38,3 +44,25 @@ none =
body_id = "mammal",
icon_id = "cat"
}
+
+get_id : Type -> String
+get_id p = p.id
+
+get_name : Type -> String
+get_name p = p.name
+
+get_body_id : Type -> String
+get_body_id p = p.body_id
+
+get_icon_id : Type -> String
+get_icon_id p = p.icon_id
+
+decoder : (Json.Decode.Decoder Type)
+decoder =
+ (Json.Decode.Pipeline.decode
+ Type
+ |> (Json.Decode.Pipeline.required "id" Json.Decode.string)
+ |> (Json.Decode.Pipeline.required "nam" Json.Decode.string)
+ |> (Json.Decode.Pipeline.required "bid" Json.Decode.string)
+ |> (Json.Decode.Pipeline.required "iid" Json.Decode.string)
+ )