docs: def dump_object(self, obj):
          """
          Called to encode unrecognized object.
  
          :param object obj: the object to encode
          :return: the encoded object
          :raises TypeError: when `obj` cannot be encoded
  
          This method is passed as the ``default`` keyword parameter
          to :func:`json.dumps`.  It provides default representations for
          a number of Python language/standard library types.
  
          +----------------------------+---------------------------------------+
          | Python Type                | String Format                         |
          +----------------------------+---------------------------------------+
          | :class:`bytes`,            | Base64 encoded string.                |
          | :class:`bytearray`,        |                                       |
          | :class:`memoryview`        |                                       |
          +----------------------------+---------------------------------------+
          | :class:`datetime.datetime` | ISO8601 formatted timestamp in the    |
          |                            | extended format including separators, |
          |                            | milliseconds, and the timezone        |
          |                            | designator.                           |
          +----------------------------+---------------------------------------+
          | :class:`uuid.UUID`         | Same as ``str(value)``                |
          +----------------------------+---------------------------------------+
  
          """
          if isinstance(obj, uuid.UUID):
              return str(obj)
          if hasattr(obj, 'isoformat'):
              return obj.isoformat()
          if isinstance(obj, (bytes, bytearray, memoryview)):
              return base64.b64encode(obj).decode('ASCII')
          raise TypeError('{!r} is not JSON serializable'.format(obj))