createPDFFromMultipleImage method Null safety

Future<CreatePDFFromMultipleImageResponse> createPDFFromMultipleImage(
  1. {required List<String> paths,
  2. required String outputDirPath,
  3. int? maxWidth,
  4. int? maxHeight,
  5. bool? needImageCompressor}
)

Implementation

static Future<CreatePDFFromMultipleImageResponse> createPDFFromMultipleImage({required List<String> paths, required String outputDirPath,
  int? maxWidth, int? maxHeight, bool? needImageCompressor}) async {
  final Map<String, dynamic> params = <String, dynamic>{
    'paths': paths,
    'outputDirPath': outputDirPath,
    'needImageCompressor' : needImageCompressor ?? true,
    'maxWidth' : maxWidth ?? 360,
    'maxHeight' : maxHeight ?? 360
  };


  if(paths.length == 0){

      createPDFFromMultipleImageResponse.value.status =  Status.error;
      createPDFFromMultipleImageResponse.value.message = Status.errorMessage;

  }else{
    try {

      bool isImage = true;

      for(int i=0; i< paths.length ; i++){
        if(!GetUtils.isImage(paths[i])){
          isImage = false;
        }
      }

      if(!isImage){

          createPDFFromMultipleImageResponse.value.status =  Status.error;
          createPDFFromMultipleImageResponse.value.message = Status.errorMessageImage;

      }else{
        final String? response = await _channel.invokeMethod('createPDFFromMultipleImage', params);

        if(response != "error"){

            createPDFFromMultipleImageResponse.value.status =  Status.success;
            createPDFFromMultipleImageResponse.value.message = Status.successMessage;
            createPDFFromMultipleImageResponse.value.response = response;

        }else{

            createPDFFromMultipleImageResponse.value.status =  Status.error;
            createPDFFromMultipleImageResponse.value.message = Status.errorMessage;

        }
      }
    } on Exception catch (exception) {

        createPDFFromMultipleImageResponse.value.status =  Status.error;
        createPDFFromMultipleImageResponse.value.message = exception.toString();

    } catch (e) {

        createPDFFromMultipleImageResponse.value.status =  Status.error;
        createPDFFromMultipleImageResponse.value.message = e.toString();

    }
  }

  return createPDFFromMultipleImageResponse.value;
}