chiark / gitweb /
Cope with some optional fields
authorSimon Tatham <anakin@pobox.com>
Sat, 23 Dec 2023 10:11:50 +0000 (10:11 +0000)
committerSimon Tatham <anakin@pobox.com>
Sat, 23 Dec 2023 10:11:50 +0000 (10:11 +0000)
src/main.rs

index 84e09554c1cb230cb4deb2c9db434f3f63b7d74a..4d0653686927e96012de5f44fd174b418ebd7255 100644 (file)
@@ -1,5 +1,6 @@
 use serde::{Deserialize, Serialize};
 use serde_json::Result;
+use std::option::Option;
 
 #[derive(Serialize, Deserialize, Debug)]
 struct Account {
@@ -18,11 +19,11 @@ struct Account {
     // emojis: Vec<Emoji>,
     bot: bool,
     group: bool,
-    // discoverable: optional bool,
-    // noindex: optional bool,
-    // moved: optional Account (!),
-    // suspended: optional bool,
-    // limited: optional bool,
+    discoverable: Option<bool>,
+    noindex: Option<bool>,
+    // moved: Option<Account> (!),
+    suspended: Option<bool>,
+    limited: Option<bool>,
     created_at: String, // FIXME: sort out dates!
     last_status_at: String, // FIXME: sort out dates!
     statuses_count: u64,
@@ -49,20 +50,20 @@ struct Status {
     favourites_count: u64,
     replies_count: u64,
     url: String,
-    // in_reply_to_id: optional String,
-    // in_reply_to_account_id: optional String,
-    // reblog: optional Status (!),
-    // poll: optional Poll,
-    // card: optional PreviewCard,
-    // language: optional String,
-    // text: optional String,
-    // edited_at: optional String, // FIXME actually a date
-    // favourited: optional bool,
-    // reblogged: optional bool,
-    // muted: optional bool,
-    // bookmarked: optional bool,
-    // pinned: optional bool,
-    // filtered: optional bool,
+    in_reply_to_id: Option<String>,
+    in_reply_to_account_id: Option<String>,
+    // reblog: Option<Status> (!),
+    // poll: Option<Poll>,
+    // card: Option<PreviewCard>,
+    language: Option<String>,
+    text: Option<String>,
+    edited_at: Option<String>, // FIXME actually a date
+    favourited: Option<bool>,
+    reblogged: Option<bool>,
+    muted: Option<bool>,
+    bookmarked: Option<bool>,
+    pinned: Option<bool>,
+    filtered: Option<bool>,
 }
 
 fn main() {