MCPcopy Create free account
hub / github.com/apache/fory / write

Method write

python/pyfory/union.py:82–99  ·  view source on GitHub ↗
(self, write_context, value)

Source from the content-addressed store, hash-verified

80 self._alternative_serializers.append((alt_type, serializer))
81
82 def write(self, write_context, value):
83 if self._typing_union:
84 self._write_typing_union(write_context, value)
85 return
86 case_id = value.case_id()
87 write_context.write_var_uint32(case_id)
88 typeinfo = self._get_case_type_info(case_id)
89 serializer = typeinfo.serializer
90 if serializer.need_to_write_ref:
91 if write_context.write_ref_or_null(value._value):
92 return
93 else:
94 if value._value is None:
95 write_context.write_int8(NULL_FLAG)
96 return
97 write_context.write_int8(NOT_NULL_VALUE_FLAG)
98 self.type_resolver.write_type_info(write_context, typeinfo)
99 serializer.write(write_context, value._value)
100
101 def read(self, read_context):
102 if self._typing_union:

Callers

nothing calls this directly

Calls 8

_write_typing_unionMethod · 0.95
_get_case_type_infoMethod · 0.95
writeMethod · 0.65
case_idMethod · 0.45
write_var_uint32Method · 0.45
write_ref_or_nullMethod · 0.45
write_int8Method · 0.45
write_type_infoMethod · 0.45

Tested by

no test coverage detected