exec method

bool exec(
  1. dynamic message
)

Implementation

bool exec(message) {
  if (ifjs(message)) {
    if (ifjs(value)) {
      if (ifjs(flags)) {
        if (flags.toString().length == 1) {
          var flag = flags.toString().toLowerCase();
          if (flag == "i") {
            return RegExp(value.toString(), caseSensitive: false)
                .hasMatch(message.toString());
          } else if (flag == "m") {
            return RegExp(value.toString(), multiLine: true)
                .hasMatch(message.toString());
          } else if (flag == "u") {
            return RegExp(value.toString(), unicode: true)
                .hasMatch(message.toString());
          } else if (flag == "s") {
            return RegExp(value.toString(), dotAll: true)
                .hasMatch(message.toString());
          } else {
            return false;
          }
        } else {
          var result = 0;
          for (var i = 0; i < flags.toString().length; i++) {
            // ignore: non_constant_identifier_names
            var loop_data = flags[i];
            var flag = loop_data.toString().toLowerCase();
            if (flag == "i") {
              RegExp(value.toString(), caseSensitive: false)
                      .hasMatch(message.toString())
                  ? result++
                  : "";
            } else if (flag == "m") {
              RegExp(value.toString(), multiLine: true)
                      .hasMatch(message.toString())
                  ? result++
                  : "";
            } else if (flag == "u") {
              RegExp(value.toString(), unicode: true)
                      .hasMatch(message.toString())
                  ? result++
                  : "";
            } else if (flag == "s") {
              RegExp(value.toString(), dotAll: true)
                      .hasMatch(message.toString())
                  ? result++
                  : "";
            }
          }
          if (result > 0) {
            return true;
          } else {
            return false;
          }
        }
      } else {
        return RegExp(value.toString()).hasMatch(message.toString());
      }
    } else {
      return false;
    }
  } else {
    return false;
  }
}