diff --git a/pages/docs/index.md b/pages/docs/index.md index d81ed720b1bb53311f7e0ad6bf8a7b94a03aea28..ada8cf50e30fb1473dd3f6a261fea9392ff48da9 100644 --- a/pages/docs/index.md +++ b/pages/docs/index.md @@ -27,13 +27,16 @@ OpenAPIObject ::= <OpenAPI> <JsonSchemaDialect> I:InfoObject Serv:ServerObject There are some implementation details developers must consider: + - JastAdd doesn't support `Map`. So, it must be constructed in a tuple (AST-Node). e.g. `ServerVariablesTuple ::= <Name> S:ServerVariableObject;` <-> `variables` in [Server Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#serverObject) + - In OAS, several objects can be replaced by [Reference Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#referenceObject). In `RAGO`, we implemented this structure in an abstract node to every concerned object. e.g. [Parameter Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#parameterObject) ``` abstract ParameterOb; ParameterReference : ParameterOb ::= <Ref> ...; ParameterObject : ParameterOb ::= <Name> <In> ...; ``` + - Most objects can be extended with `Extension` containing unfixed name and values. In JastAdd, this is also implemented in a tuple (AST-Node) `Extension ::= <Key> <Value:Object>;` ## Fuzzing Methods