def test_parse_nested_array(): parser = JsonSchemaParser( DATA_PATH / 'nested_array.json', data_model_field_type=DataModelFieldBase, ) parser.parse() assert (dump_templates(list( parser.results)) == (DATA_PATH / 'nested_array.json.snapshot').read_text())
def test_parse_nested_array(): parser = JsonSchemaParser( BaseModel, CustomRootType, data_model_field_type=DataModelField, text=(DATA_PATH / 'nested_array.json').read_text(), ) parser.parse() assert (dump_templates(list(parser.results)) == """\ class BoundingBox(BaseModel): type: str coordinates: List[Union[float, str]] class Model(BaseModel): bounding_box: Optional[BoundingBox] = None attributes: Optional[Dict[str, Any]] = None""")
def translate(input_text: Union[Json, Dict[str, Any]], all_optional: bool, snake_case_field: bool) -> str: builder = SchemaBuilder() builder.add_object(input_text) schema = builder.to_schema() if all_optional: schema["required"] = [] parser = JsonSchemaParser( source=json.dumps(schema), base_class="pydantic.BaseModel", snake_case_field=snake_case_field, ) return parser.parse()