def _object_to_kql()

in azure/Kqlmagic/parameterizer.py [0:0]


    def _object_to_kql(cls, v)->str:
        try:
            val = (
                repr(v)
                if isinstance(v, str)
                else "null"
                if v is None
                else str(v).lower()
                if isinstance(v, bool)
                else cls._timedelta_to_timespan(v)
                if isinstance(v, timedelta)
                else f"datetime({v.isoformat()})"  # kql will assume utc time
                if isinstance(v, datetime)
                else f"dynamic({json_dumps(dict(v))})"
                if isinstance(v, dict)
                else f"dynamic({json_dumps(list(v))})"
                if isinstance(v, (list, Series))
                else f"dynamic({json_dumps(list(tuple(v)))})"
                if isinstance(v, tuple)
                else f"dynamic({json_dumps(list(set(v)))})"
                if isinstance(v, set)
                else cls._datatable(v)
                if isinstance(v, DataFrame)
                else "datetime(null)"
                if str(v) == "NaT"
                else "time(null)"
                if str(v) == "nat"  # does not exist
                else "real(null)"
                if str(v) == "nan"  # missing na for long(null)
                else f"'{v.decode('utf-8')}'"
                if isinstance(v, bytes)
                else f"long({v})"
                if isinstance(v, int)
                else f"real({v})"
                if isinstance(v, float)
                else f"decimal({v})"
                if isinstance(v, Decimal)
                else str(v)
            )
        except:
            val = f"'{v}'"
        return str(val)