We need to support recursive types in order to have type definitions on child fields of an
object type where child fields referring to its parental type.
This is the current syntax that doesn’t support recursive types. Please see comments in the yml below:
events: query: data: fields: repeated: true type: Object object: # field name: type: String fields: # fields is actually type 'fields' *recursive* type: Any args: type: Object repeated: true object: name: type: String value: type: String
I’m thinking about having a syntax like below to support recursive types:
events: query: data: fields: name: fields repeated: true type: Object object: name: type: String fields: +fields args: type: Object repeated: true object: name: type: String value: type: String
So with the syntax above, we’re introducing a new key called
name in the parameter type while also supporting special values in field values to identify named values by checking for