Skip to content

Commit d1021cb

Browse files
committed
add runtime type for wrapped records
1 parent e844a7d commit d1021cb

1 file changed

Lines changed: 9 additions & 6 deletions

File tree

src/py_avro_schema/_schemas.py

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -312,16 +312,19 @@ def _wrap_as_record(self, inner_schema: JSONObj, names: NamesType) -> JSONType:
312312
if fullname in names:
313313
return fullname
314314
names.append(fullname)
315+
316+
fields = [
317+
{"name": REF_ID_KEY, "type": ["null", "long"], "default": None},
318+
{"name": REF_DATA_KEY, "type": inner_schema},
319+
]
320+
if Option.ADD_RUNTIME_TYPE_FIELD in self.options:
321+
fields.append({"name": RUNTIME_TYPE_KEY, "type": ["null", "string"]})
322+
315323
record_schema = {
316324
"type": "record",
317325
"name": record_name,
318-
"fields": [
319-
{"name": REF_ID_KEY, "type": ["null", "long"], "default": None},
320-
{"name": REF_DATA_KEY, "type": inner_schema},
321-
],
326+
"fields": fields,
322327
}
323-
if Option.ADD_RUNTIME_TYPE_FIELD in self.options:
324-
record_schema["fields"].append({"name": RUNTIME_TYPE_KEY, "type": ["null", "string"]})
325328

326329
if self.namespace:
327330
record_schema["namespace"] = self.namespace

0 commit comments

Comments
 (0)