phenopackets / phenopacket-schema

Repository for the GA4GH phenopacket schema
https://phenopacket-schema.readthedocs.io/
BSD 3-Clause "New" or "Revised" License
75 stars 28 forks source link

Document mapping of snake_case to lowerCamelCase when validating json #358

Open pnrobinson opened 1 year ago

pnrobinson commented 1 year ago

Document mapping of snake_case to lowerCamelCase when validating json

The protobuf schema uses snake_case:

time_at_last_encounter

however, when I run pfx-tools example, the json examples using lowerCamelCase

E.g.

  "subject": {
    "id": "proband C",
    "timeAtLastEncounter": {
      "age": {
        "iso8601duration": "P27Y"
      }
    },

At first I thought this was a bug, but I see it is documented (albeit in the most cursory fashion) in the protobuf docs:

https://developers.google.com/protocol-buffers/docs/proto3#json

I suspect this is highly non-obvious to non-proto-geeks.

Add this here: https://phenopacket-schema.readthedocs.io/en/latest/schema.html

andrewpatto commented 1 year ago

This was definitely non-obvious to me (as a non-proto person)