When `additionalProperties` is a map, it's treated as a SchemaProxy in the low-level model. This proxy was being incorrectly lifted up into the high-model.
A new `BuildSchema()` method does the same thing as `Schema()` but simply returns the build error along with the schema, so error checking can be performed inline when required.
Signed-off-by: Dave Shanley <dave@quobix.com>
prefixItems is a property of JSONSchema and supported by OpenAPI 3.1, this update adds support for `prefixItems` in low and high models. It's essentially a copy of the `items` property, but allows seperate configuration of both, without combining them and muddling things for clarity.
Signed-off-by: Dave Shanley <dave@quobix.com>
A client of high-level SchemaProxy may want to know whether a schema
is a reference and the name of the reference. This information is
available from methods GetSchemaReference() and IsSchemaReference()
in low-level SchemaProxy. Provide a GoLow() method to retrieve the
low-level SchemaProxy for a high-level SchemaProxy.
A feature request from Travis Newhouse to make it easier to know which primitives have been set, and which have not. defaulting everything to 0 or false just doesn't work so well.