mwapi_responses_derive 0.5.1

Automatically generate strict types for MediaWiki API responses (macro)
Documentation
{
  "name": "query+recentchanges",
  "mode": "list",
  "fieldname": "recentchanges",
  "prop": "rcprop",
  "fields": [
    {
      "name": "type",
      "type_": "String",
      "prop": "=default",
      "rename": "type_"
    },
    {
      "name": "suppressed",
      "type_": "Option<bool>",
      "prop": "=default"
    },
    {
      "name": "pageid",
      "type_": "Option<u32>",
      "prop": "ids"
    },
    {
      "name": "revid",
      "type_": "Option<u32>",
      "prop": "ids"
    },
    {
      "name": "old_revid",
      "type_": "Option<u32>",
      "prop": "ids"
    },
    {
      "name": "rcid",
      "type_": "u32",
      "prop": "ids"
    },
    {
      "name": "ns",
      "type_": "Option<i32>",
      "prop": "title"
    },
    {
      "name": "title",
      "type_": "Option<String>",
      "prop": "title"
    },
    {
      "name": "user",
      "type_": "Option<String>",
      "prop": "user"
    },
    {
      "name": "userid",
      "type_": "Option<u32>",
      "prop": "userid"
    },
    {
      "name": "temp",
      "type_": "Option<bool>",
      "prop": "user||userid"
    },
    {
      "name": "anon",
      "type_": "Option<bool>",
      "prop": "user||userid"
    },
    {
      "name": "timestamp",
      "type_": "::mwapi_responses::mwtimestamp::Timestamp",
      "prop": "timestamp"
    },
    {
      "name": "comment",
      "type_": "Option<String>",
      "prop": "comment"
    },
    {
      "name": "parsedcomment",
      "type_": "Option<String>",
      "prop": "parsedcomment"
    },
    {
      "name": "patrolled",
      "type_": "bool",
      "prop": "patrolled"
    },
    {
      "name": "unpatrolled",
      "type_": "bool",
      "prop": "patrolled"
    },
    {
      "name": "autopatrolled",
      "type_": "bool",
      "prop": "patrolled"
    },
    {
      "name": "bot",
      "type_": "bool",
      "prop": "flags"
    },
    {
      "name": "new",
      "type_": "bool",
      "prop": "flags"
    },
    {
      "name": "minor",
      "type_": "bool",
      "prop": "flags"
    },
    {
      "name": "oldlen",
      "type_": "u32",
      "prop": "sizes"
    },
    {
      "name": "newlen",
      "type_": "u32",
      "prop": "sizes"
    },
    {
      "name": "tags",
      "type_": "Vec<String>",
      "prop": "tags"
    },
    {
      "name": "sha1",
      "type_": "Option<String>",
      "prop": "sha1"
    },
    {
      "name": "redirect",
      "type_": "bool",
      "prop": "redirect"
    },
    {
      "name": "logid",
      "type_": "Option<u32>",
      "prop": "loginfo"
    },
    {
      "name": "logtype",
      "type_": "Option<String>",
      "prop": "loginfo"
    },
    {
      "name": "logaction",
      "type_": "Option<String>",
      "prop": "loginfo"
    },
    {
      "name": "logparams",
      "type_": "Option<::serde_json::Value>",
      "prop": "loginfo"
    }
  ],
  "test_extra": {
    "assert": {},
    "params": {},
    "ignore": {
      "query_recentchanges_patrolled": "broken because patrolled requires user permissions"
    }
  }
}