jmapio/jmap

Why is the Invocation type an Array?

sylvain101010 opened this issue · 1 comments

Hi,

I'm starting to evaluate JMAP for a service, but I have hard time understanding the rational behind why the Invocation type is an array.

So what are the reasons it couldn't have been an object like below?

{
   "method": "",
   "params": {},
   "clientId": ""
}

// or 

{
   "clientId1": {
      "method": "",
      "params": {}
  }
}
neilj commented

The array representation of a tuple was considered easier to read over the wire (a surprisingly useful attribute when debugging), as it always preserved order (method name, then args).