raml-org / raml-js-parser

(deprecated) A RAML parser based on PyYAML written in CoffeScript and available for use as NodeJs module or in-browser.
195 stars 53 forks source link

`Types` is not an alias of `schemas` #188

Closed wdullaer closed 7 years ago

wdullaer commented 7 years ago

The description of the top level schemas key says that it is a deprecated alias for the new types key. This means that I would expect the types key to be present if the raml file contains a schemas key.

This is not the case in the output of raml2obj / raml-js-parser right now (you get one or the other).

Furthermore, the content of these keys is also not identical. schemas will return an array of objects:

"schemas": [
  {
    "myType": {
      "description": "some stuff",
      "name": "myType",
      "type": "actual json schema content"
    }
  }
]

types will return a map:

"types": {
  "myType": {
    "description": "some stuff",
    "name": "myType",
    "type": "json",
    "content": "actual json schema content"
  }
}

The content of an included json schema will also be in different properties of the objects depending on whether the top level key is schemas or types. I still need to try with inline schema definitions to see what the differences are there.

This means that I have to treat both keys seperately when rendering them in raml2html-slate-theme. Is there a reason for these differences, or can the structure be brought in line so that schemas really behaves like an alias of types?

I've moved this issue here from raml2html/raml2obj#42

KajKandler commented 7 years ago

Isn't this problem in the RAML 1.0 parser? This project is the RAML 0.8 parser --> https://github.com/raml-org/raml-js-parser-2

wdullaer commented 7 years ago

So it is. I'll recreate it there.