async def blob(self, elem=None, elem_type=None, params=None):
elem_type = elem_type if elem_type else elem.__class__<EOL>if hasattr(elem_type, '<STR_LIT>'):<EOL><INDENT>elem = elem_type() if elem is None else elem<EOL>return await elem.kv_serialize(self, elem=elem, elem_type=elem_type, params=params)<EOL><DEDENT>if self.writing:<EOL><INDENT>elem_is_blob = isinstance(elem, x.BlobType)<EOL>data = getattr(elem, x.BlobType.DATA_ATTR) if elem_is_blob else elem<EOL>if data is None:<EOL><INDENT>return NoSetSentinel()<EOL><DEDENT>if len(data) == <NUM_LIT:0>:<EOL><INDENT>return b'<STR_LIT>'<EOL><DEDENT>fval = Modeler.to_bytes(data)<EOL>if self.hexlify:<EOL><INDENT>return binascii.hexlify(fval).decode('<STR_LIT:ascii>')<EOL><DEDENT>else:<EOL><INDENT>return fval<EOL><DEDENT><DEDENT>else:<EOL><INDENT>if elem is None:<EOL><INDENT>return NoSetSentinel()<EOL><DEDENT>if self.hexlify:<EOL><INDENT>return bytes(binascii.unhexlify(elem))<EOL><DEDENT>else:<EOL><INDENT>return bytes(elem)<EOL><DEDENT><DEDENT>
Loads/dumps blob
:return: