def __call__()

in core/maxframe/dataframe/tseries/to_datetime.py [0:0]


    def __call__(self, arg):
        if is_scalar(arg):
            ret = pd.to_datetime(
                arg,
                errors=self.errors,
                dayfirst=self.dayfirst,
                yearfirst=self.yearfirst,
                utc=self.utc,
                format=self.format,
                exact=self.exact,
                unit=self.unit,
                infer_datetime_format=self.infer_datetime_format,
                origin=self.origin,
                cache=self.cache,
            )
            return astensor(ret)

        dtype = np.datetime64(1, "ns").dtype
        if isinstance(arg, (pd.Series, SERIES_TYPE)):
            arg = asseries(arg)
            return self.new_series(
                [arg],
                shape=arg.shape,
                dtype=dtype,
                index_value=arg.index_value,
                name=arg.name,
            )
        if is_dict_like(arg) or isinstance(arg, DATAFRAME_TYPE):
            arg = asdataframe(arg)
            columns = arg.columns_value.to_pandas().tolist()
            if sorted(columns) != sorted(["year", "month", "day"]):
                missing = ",".join(
                    c for c in ["day", "month", "year"] if c not in columns
                )
                raise ValueError(
                    "to assemble mappings requires at least "
                    f"that [year, month, day] be specified: [{missing}] is missing"
                )
            return self.new_series(
                [arg], shape=(arg.shape[0],), dtype=dtype, index_value=arg.index_value
            )
        elif isinstance(arg, (pd.Index, INDEX_TYPE)):
            arg = asindex(arg)
            return self.new_index(
                [arg],
                shape=arg.shape,
                dtype=dtype,
                index_value=parse_index(pd.Index([], dtype=dtype), self._params, arg),
                name=arg.name,
            )
        else:
            arg = astensor(arg)
            if arg.ndim != 1:
                raise TypeError(
                    "arg must be a string, datetime, "
                    "list, tuple, 1-d tensor, or Series"
                )
            return self.new_index(
                [arg],
                shape=arg.shape,
                dtype=dtype,
                index_value=parse_index(pd.Index([], dtype=dtype), self._params, arg),
            )