docs: def rolling(self, dim: Optional[Mapping[Hashable, int]] = None,
                  min_periods: Optional[int] = None, center: bool = False,
                  **dim_kwargs: int):
          """
          Rolling window object.
  
          Parameters
          ----------
          dim: dict, optional
              Mapping from the dimension name to create the rolling iterator
              along (e.g. `time`) to its moving window size.
          min_periods : int, default None
              Minimum number of observations in window required to have a value
              (otherwise result is NA). The default, None, is equivalent to
              setting min_periods equal to the size of the window.
          center : boolean, default False
              Set the labels at the center of the window.
          **dim_kwargs : optional
              The keyword arguments form of ``dim``.
              One of dim or dim_kwargs must be provided.
  
          Returns
          -------
          Rolling object (core.rolling.DataArrayRolling for DataArray,
          core.rolling.DatasetRolling for Dataset.)
  
          Examples
          --------
          Create rolling seasonal average of monthly data e.g. DJF, JFM, ..., SON:
  
          >>> da = xr.DataArray(np.linspace(0, 11, num=12),
          ...                   coords=[pd.date_range('15/12/1999',
          ...                           periods=12, freq=pd.DateOffset(months=1))],
          ...                   dims='time')
          >>> da
          <xarray.DataArray (time: 12)>
          array([  0.,   1.,   2.,   3.,   4.,   5.,   6.,   7., 8.,   9.,  10.,  11.])
          Coordinates:
            * time     (time) datetime64[ns] 1999-12-15 2000-01-15 2000-02-15 ...
          >>> da.rolling(time=3, center=True).mean()
          <xarray.DataArray (time: 12)>
          array([nan,  1.,  2.,  3.,  4.,  5.,  6.,  7.,  8.,  9., 10., nan])
          Coordinates:
            * time     (time) datetime64[ns] 1999-12-15 2000-01-15 2000-02-15 ...
  
          Remove the NaNs using ``dropna()``:
  
          >>> da.rolling(time=3, center=True).mean().dropna('time')
          <xarray.DataArray (time: 10)>
          array([ 1.,  2.,  3.,  4.,  5.,  6.,  7.,  8.,  9., 10.])
          Coordinates:
            * time     (time) datetime64[ns] 2000-01-15 2000-02-15 2000-03-15 ...
  
          See Also
          --------
          core.rolling.DataArrayRolling
          core.rolling.DatasetRolling
          """  # noqa
          dim = either_dict_or_kwargs(dim, dim_kwargs, 'rolling')
          return self._rolling_cls(self, dim, min_periods=min_periods,
                                   center=center)