getRegex method

RegExp getRegex({
  1. required TypeRegex rg,
  2. required String lang,
})

Implementation

RegExp getRegex({required TypeRegex rg, required String lang}) {
  String pattern = '';
  if (Platform.isWindows) {
    if (rg == TypeRegex.response) {
      pattern =
          r' (?<ip>[\d.]+): bytes=(?<bytes>\w+) .*?(?:=)(?<time>\w+) .*?TTL=(?<ttl>\w+)';
      return RegExp('${RegExp.escape(langWindows[lang]!.response)}$pattern');
    } else if (rg == TypeRegex.errorGeneral) {
      return RegExp(langWindows[lang]!.errorGeneral);
    } else if (rg == TypeRegex.errorNetwork) {
      return RegExp(langWindows[lang]!.errorNetwork);
    } else if (rg == TypeRegex.timeOut) {
      return RegExp(langWindows[lang]!.timeOut);
    } else {
      return RegExp('');
    }
  } else if (Platform.isLinux) {
    if (rg == TypeRegex.response) {
      pattern =
          r' (?:.*)(?<ip>\b(?:\d{1,3}\.){3}\d{1,3}\b)\)?: icmp_seq=(?<seq>\d+) ttl=(?<ttl>\d+) .*?(?:=)(?<time>(\d+).?(\w+))';
      return RegExp('${RegExp.escape(langLinux[lang]!.response)}$pattern');
    } else if (rg == TypeRegex.errorGeneral) {
      return RegExp(langLinux[lang]!.errorGeneral);
    } else if (rg == TypeRegex.errorNetwork) {
      return RegExp(langLinux[lang]!.errorNetwork);
    } else if (rg == TypeRegex.timeOut) {
      return RegExp(langLinux[lang]!.timeOut);
    } else {
      return RegExp('');
    }
  } else if (Platform.isMacOS) {
    if (rg == TypeRegex.response) {
      pattern =
          r' (?<ip>.*): icmp_seq=(?<seq>\d+) ttl=(?<ttl>\d+) .*?(?:=)(?<time>(\d+).?(\d+))';
      return RegExp('${RegExp.escape(langMac[lang]!.response)}$pattern');
    } else if (rg == TypeRegex.errorNetwork) {
      return RegExp(langMac[lang]!.errorNetwork);
    } else if (rg == TypeRegex.errorGeneral) {
      return RegExp(langMac[lang]!.errorGeneral);
    } else if (rg == TypeRegex.timeOut) {
      return RegExp(langMac[lang]!.timeOut);
    } else {
      return RegExp('');
    }
  } else {
    return RegExp('');
  }
}