class_docstr: Base class representing a time interval.
class_docstr_tok: ["Base","class","representing","a","time","interval","."]
code: def process_result_value(self, value, dialect):
      if not value:
          return value
      data = json.loads(value)
      if isinstance(data, dict):
          type_map = {key.__name__: key for key in self.attr_keys}
          return type_map[data["type"]](**data["attrs"])
      return data
  
imports: from __future__ import annotations
  import contextlib
  import copy
  import datetime
  import json
  import logging
  from typing import TYPE_CHECKING, Any, Generator, Iterable, overload
  from dateutil import relativedelta
  from sqlalchemy import TIMESTAMP, PickleType, event, nullsfirst, tuple_
  from sqlalchemy.dialects import mysql
  from sqlalchemy.types import JSON, Text, TypeDecorator
  from airflow.configuration import conf
  from airflow.serialization.enums import Encoding
  from airflow.utils.timezone import make_naive, utc
label_desc: Use image node_id 2 for calling the Interval obj's underlying member method code with example usage: obj.process_result_value(value, dialect) and returns: data, value, type_map