mwapi_responses_derive 0.5.1

Automatically generate strict types for MediaWiki API responses (macro)
Documentation
{
  "name": "query+imageinfo",
  "mode": "prop",
  "fieldname": "imageinfo",
  "prop": "iiprop",
  "wrap_in_vec": true,
  "fields": [
    {
      "name": "timestamp",
      "type_": "::mwapi_responses::mwtimestamp::Timestamp",
      "prop": "timestamp"
    },
    {
      "name": "userhidden",
      "type_": "bool",
      "default": true,
      "prop": "user||userid"
    },
    {
      "name": "user",
      "type_": "Option<String>",
      "prop": "user"
    },
    {
      "name": "anon",
      "type_": "bool",
      "default": true,
      "prop": "user||userid"
    },
    {
      "name": "userid",
      "type_": "Option<u32>",
      "prop": "userid"
    },
    {
      "name": "comment",
      "type_": "Option<String>",
      "prop": "comment"
    },
    {
      "name": "commenthidden",
      "type_": "bool",
      "default": true,
      "prop": "comment||parsedcomment"
    },
    {
      "name": "parsedcomment",
      "type_": "Option<String>",
      "prop": "parsedcomment"
    },
    {
      "name": "canonicaltitle",
      "type_": "Option<String>",
      "prop": "canonicaltitle"
    },
    {
      "name": "filehidden",
      "type_": "bool",
      "default": true,
      "prop": "canonicaltitle||url||sha1|mime"
    },
    {
      "name": "url",
      "type_": "Option<String>",
      "prop": "url"
    },
    {
      "name": "descriptionurl",
      "type_": "Option<String>",
      "prop": "url"
    },
    {
      "name": "descriptionshorturl",
      "type_": "Option<String>",
      "prop": "descriptionshorturl"
    },
    {
      "name": "size",
      "type_": "u64",
      "prop": "size"
    },
    {
      "name": "width",
      "type_": "u64",
      "prop": "size"
    },
    {
      "name": "height",
      "type_": "u64",
      "prop": "size"
    },
    {
      "name": "sha1",
      "type_": "Option<String>",
      "prop": "sha1"
    },
    {
      "name": "mime",
      "type_": "Option<String>",
      "prop": "mime"
    },
    {
      "name": "thumburl",
      "type_": "Option<String>",
      "prop": "url",
      "param": "iiurlwidth||iiurlheight"
    },
    {
      "name": "thumbwidth",
      "type_": "Option<u64>",
      "prop": "url",
      "param": "iiurlwidth||iiurlheight"
    },
    {
      "name": "thumbheight",
      "type_": "Option<u64>",
      "prop": "url",
      "param": "iiurlwidth||iiurlheight"
    },
    {
      "name": "responsiveUrls",
      "type_": "HashMap<String, String>",
      "default": true,
      "prop": "url",
      "param": "iiurlwidth||iiurlheight"
    }
  ],
  "test_extra": {
    "assert": {
      "continue": true,
      "length": 1
    },
    "params": {
      "titles": "File:Albert Einstein Head.jpg",
      "iiurlwidth": 10
    }
  }
}