Skip to content

Commit c2c9466

Browse files
committed
examples fix
1 parent 9f65de0 commit c2c9466

File tree

4 files changed

+14
-14
lines changed

4 files changed

+14
-14
lines changed

.generator/src/generator/cli.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ def cli(specs, output):
4747
env.filters["upperfirst"] = utils.upperfirst
4848
env.filters["variable_name"] = formatter.variable_name
4949
env.filters["has_optional_parameter"] = openapi.has_optional_parameter
50-
env.filters["is_additional_properties_container"] = openapi.is_additional_properties_container
50+
env.filters["is_additional_properties_container"] = utils.is_additional_properties_container
5151

5252
env.globals["enumerate"] = enumerate
5353
env.globals["responses_by_types"] = openapi.responses_by_types

.generator/src/generator/formatter.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
import dateutil.parser
77

8-
from .utils import snake_case, camel_case, untitle_case, schema_name
8+
from .utils import snake_case, camel_case, untitle_case, schema_name, is_additional_properties_container
99

1010
PRIMITIVE_TYPES = ["string", "number", "boolean", "integer"]
1111

@@ -362,7 +362,7 @@ def _format_oneof(schema, data, name, replace_values, imports, **kwargs):
362362
if not one_of_schema_name:
363363
one_of_schema_name = simple_type(one_of_schema, render_option=False).title()
364364

365-
if not is_primitive(one_of_schema) and one_of_schema.get("type") != "array":
365+
if not is_primitive(one_of_schema) and one_of_schema.get("type") != "array" and not is_additional_properties_container(one_of_schema):
366366
# TODO: revisit possibility of removing all boxes
367367
parameters = f"Box::new({parameters})"
368368
if name:

.generator/src/generator/openapi.py

Lines changed: 1 addition & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
from yaml import CSafeLoader
1212

1313
from . import formatter
14-
from .utils import schema_name
14+
from .utils import schema_name, is_additional_properties_container
1515

1616

1717
def load(filename):
@@ -35,16 +35,6 @@ def option_wrapper(name, option, nullable):
3535
return name
3636

3737

38-
def is_additional_properties_container(schema):
39-
if schema.get("type", "object") != "object":
40-
return False
41-
if "properties" in schema:
42-
return False
43-
if schema.get("additionalProperties", False) is False:
44-
return False
45-
return True
46-
47-
4838
def type_to_rust(schema, alternative_name=None, render_nullable=False, render_option=True, render_box=False, version=None):
4939
"""Return Rust type name for the type."""
5040
# special case for additionalProperties: true

.generator/src/generator/utils.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,3 +45,13 @@ def schema_name(schema):
4545
def given_variables(context):
4646
"""Return a list of variables using in given steps."""
4747
return {key for values in context.get("_given", {}).values() for key in values}
48+
49+
50+
def is_additional_properties_container(schema):
51+
if schema.get("type", "object") != "object":
52+
return False
53+
if "properties" in schema:
54+
return False
55+
if schema.get("additionalProperties", False) is False:
56+
return False
57+
return True

0 commit comments

Comments
 (0)