mwapi_responses_derive 0.5.1

Automatically generate strict types for MediaWiki API responses (macro)
Documentation
{
  "name": "query+usercontribs",
  "mode": "list",
  "fieldname": "usercontribs",
  "prop": "ucprop",
  "fields": [
    {
      "name": "userid",
      "type_": "u64",
      "prop": "=default"
    },
    {
      "name": "user",
      "type_": "String",
      "prop": "=default"
    },
    {
      "name": "pageid",
      "type_": "u64",
      "prop": "ids"
    },
    {
      "name": "revid",
      "type_": "u64",
      "prop": "ids"
    },
    {
      "name": "parentid",
      "type_": "Option<u64>",
      "prop": "ids"
    },
    {
      "name": "ns",
      "type_": "i32",
      "prop": "title"
    },
    {
      "name": "title",
      "type_": "String",
      "prop": "title"
    },
    {
      "name": "timestamp",
      "type_": "::mwapi_responses::mwtimestamp::Timestamp",
      "prop": "timestamp"
    },
    {
      "name": "comment",
      "type_": "String",
      "prop": "comment"
    },
    {
      "name": "parsedcomment",
      "type_": "String",
      "prop": "parsedcomment"
    },
    {
      "name": "size",
      "type_": "u64",
      "prop": "size"
    },
    {
      "name": "sizediff",
      "type_": "i64",
      "prop": "sizediff"
    },
    {
      "name": "new",
      "type_": "bool",
      "prop": "flags"
    },
    {
      "name": "minor",
      "type_": "bool",
      "prop": "flags"
    },
    {
      "name": "top",
      "type_": "bool",
      "prop": "flags"
    },
    {
      "name": "patrolled",
      "type_": "bool",
      "prop": "patrolled"
    },
    {
      "name": "autopatrolled",
      "type_": "bool",
      "prop": "patrolled"
    },
    {
      "name": "tags",
      "type_": "Vec<String>",
      "prop": "tags"
    }
  ],
  "test_extra": {
    "assert": {
      "continue": true,
      "length": 10
    },
    "params": {
      "ucuser": "Maintenance script"
    },
    "ignore": {
      "query_usercontribs_patrolled": "broken because patrolled requires user permissions"
    }
  }
}