I'm interested in writing a Scala competitor to swagger-codegen using Argus and scala.meta.
Currently unsupported:
allOf is all that's needed, but anyOf should be implemented for completeness
Needed, but would prefer to implement default values in a way that doesn't leverage case class default parameters. Open to discussion, but it violates a wartremover wart (and a convincing argument against default properties).
As with default values, validation could be generated as a separate structure that could be optionally applied by consumers of a generated argus case class schema.
Only additionalProperties are required, but additionalItems should be supported as well.
Unnecessary
Doesn't seem necessary
Could be combined with the validation structure generated by not
I'd be interested in feedback for some of these ideas before I start trying to implement some of them.
I'm interested in writing a Scala competitor to swagger-codegen using Argus and scala.meta.
Currently unsupported:
anyOf/allOf"Should be simple to add, just haven't done it yet."allOfis all that's needed, butanyOfshould be implemented for completenessdefault"Schemas can specify the default value to use for a field. Currently we just ignore these."Needed, but would prefer to implement default values in a way that doesn't leverage case class default parameters. Open to discussion, but it violates a wartremover wart (and a convincing argument against default properties).
not"Not sure how you could specify this in a type language. Needs more thoughts"As with
defaultvalues, validation could be generated as a separate structure that could be optionally applied by consumers of a generated argus case class schema.additionalProperties/additionalItems"Json schema lets you specify free-form properties too. These are unsupported for now (although I think this should be easy now there's supprot(sic) for Any types)"Only
additionalPropertiesare required, butadditionalItemsshould be supported as well.patternProperties"What should be the objects fields in this case? Maybe we just make it a Map?"Unnecessary
dependencies. "Dependencies can also extend the schema... sigh."Doesn't seem necessary
Could be combined with the validation structure generated by
notI'd be interested in feedback for some of these ideas before I start trying to implement some of them.