clone method

Resource<T> clone({
  1. required Resource<T> currentData,
  2. Resource<T>? newData,
  3. bool merge = false,
})

Implementation

Resource<T> clone(
    {required Resource<T> currentData,
    Resource<T>? newData,
    bool merge = false}) {
  final clone = Resource<T>()
    ..status = newData?.status ?? currentData.status
    ..message = currentData.message
    ..code = newData?.code
    ..exception = newData?.exception ?? currentData.exception
    ..extras = newData?.extras ?? currentData.extras
    ..data = newData?.data ?? currentData.data;

  if (merge) {
    currentData.status = clone.status;
    currentData.message = clone.message;
    currentData.code = clone.code;
    currentData.exception = clone.exception;
    currentData.extras = clone.extras;
    currentData.data = clone.data;
  }

  return clone;
}