This uses shrubbery untagged unions to implement oneOf code gen. This adds better support for handling $refs inside the components/schemas section of the spec, allowing for parse errors on missing ref names.
This converts additionalProperties refs to the new approach used by oneOf, since previously a missing ref name in additionalProperties under components/schemas would be a compile instead of parse error
This does not fix nullable for inline arrays under the operations section (or implement them correctly for inline oneOf), though we could as part of this pr if deemed important enough
This does not implement openapi discriminators, which would use tagged unions
This does not implement inline objects as choices for oneOf
If we run into anyOf being used, it would probably be simple to have it just call out to the oneOf code (though hopefully no one ever uses anyOf...)
This uses shrubbery untagged unions to implement oneOf code gen. This adds better support for handling $refs inside the components/schemas section of the spec, allowing for parse errors on missing ref names.
oneOf
anyOf
being used, it would probably be simple to have it just call out to theoneOf
code (though hopefully no one ever usesanyOf
...)